./PaxHeaders.11012/cairomm-1.10.00000644000175000017500000000005011561716652014324 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/0000755000175000017500000000000011561716652014460 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/PaxHeaders.11012/MSVC_Net20050000644000175000017500000000005011561716652016054 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/0000755000175000017500000000000011561716652016345 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/PaxHeaders.11012/blank.cpp0000644000175000017500000000005011561715437017724 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/blank.cpp0000644000175000017500000000066211561715437020144 0ustar00murraycmurrayc00000000000000// This file may very well be the most annoying workaround of all time. // It is included here to simplify working with glibmm using the // MSVC IDE. // // This file is included in all of the MSVC projects to force the // IDE to display the C/C++ property pages for editing. Apparently, // the MSVC IDE does not recognize .cc files as C++ source code, even // though the compiler does! // // Tim Shead, tshead@k-3d.com // 10/12/2004 cairomm-1.10.0/MSVC_Net2005/PaxHeaders.11012/filelist.am0000644000175000017500000000005011561715437020263 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/filelist.am0000644000175000017500000000137611561715437020506 0ustar00murraycmurrayc00000000000000## This file is part of cairomm msvc_net2005_data = README \ blank.cpp \ cairomm.sln \ gendef/gendef.vcproj \ gendef/gendef.cc \ cairomm/cairommconfig.h \ cairomm/cairomm.rc \ cairomm/cairomm.vcproj \ examples/image-surface/image-surface.vcproj \ examples/pdf-surface/pdf-surface.vcproj \ examples/ps-surface/ps-surface.vcproj \ examples/svg-surface/svg-surface.vcproj \ examples/text-rotate/text-rotate.vcproj \ examples/toy-text/toy-text.vcproj \ examples/user-font/user-font.vcproj cairomm-1.10.0/MSVC_Net2005/PaxHeaders.11012/README0000644000175000017500000000005011561715437017011 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/README0000644000175000017500000000110511561715437017222 0ustar00murraycmurrayc00000000000000Building cairomm-1.0 with Visual Studio .NET 2005 * You will need Visual Studio .NET 2005 (MSVC 8.0). See the MSVC_Net2008 folder for building with Visual Studio .NET 2008 (MSVC 9.0) or the MSVC_Net2010 folder for building with Visual Studio 2010 (MSVC 10.0). * Install the latest Win32 GTK+ Development files from ftp://ftp.gnome.org/pub/GNOME/binaries/win32/gtk+/ and add the paths to headers and import libraries to Visual Studio * Load the MSVC_Net2005/cairomm.sln solution. * Build the entire solution. * Run the tests. Cedric Gustin 08/18/2006 Armin Burgmeier 10/09/2008 cairomm-1.10.0/MSVC_Net2005/PaxHeaders.11012/gendef0000644000175000017500000000005011561716652017304 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/gendef/0000755000175000017500000000000011561716652017575 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/gendef/PaxHeaders.11012/gendef.cc0000644000175000017500000000005011561715437021120 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/gendef/gendef.cc0000644000175000017500000000520211561715437021333 0ustar00murraycmurrayc00000000000000/* * MICO --- an Open Source CORBA implementation * Copyright (c) 2003 Harald Böhme * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * For more information, visit the MICO Home Page at * http://www.mico.org/ */ /* Modified by Cedric Gustin on 2006/01/13 : * Redirect the output of dumpbin to dumpbin.out instead of reading the * output stream of popen, as it fails with Visual Studio 2005 in * pre-link build events. */ #include #include #include using namespace std; int main(int argc,char** argv) { if (argc < 4) { cerr << "Usage: " << argv[0] << " ...." << endl; return 2; } // CG : Explicitly redirect stdout to dumpbin.out. string dumpbin = "dumpbin /SYMBOLS /OUT:dumpbin.out"; int i = 3; for(;i fct def_file << " " << (s+1) << endl; else if(strchr(s,'?')!=0 && strncmp(s,"??_G",4)!=0 && strncmp(s,"??_E",4)!=0) { def_file << " " << s << endl; } } } } // CG : Close dumpbin.out and delete it. fclose(dump); remove("dumpbin.out"); cout << dumpbin.c_str() << endl; } cairomm-1.10.0/MSVC_Net2005/gendef/PaxHeaders.11012/gendef.vcproj0000644000175000017500000000005011561715437022036 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/gendef/gendef.vcproj0000644000175000017500000001634411561715437022262 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/PaxHeaders.11012/cairomm.sln0000644000175000017500000000005011561715437020276 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/cairomm.sln0000644000175000017500000002065111561715437020516 0ustar00murraycmurrayc00000000000000Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendef", "gendef\gendef.vcproj", "{07324745-C9BE-4D65-B08A-9C88188C0C28}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cairomm-1.0", "cairomm\cairomm.vcproj", "{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}" ProjectSection(ProjectDependencies) = postProject {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_pdf-surface", "examples\pdf-surface\pdf-surface.vcproj", "{129ECC08-6D30-4884-B824-4AF96EF0A45C}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_ps-surface", "examples\ps-surface\ps-surface.vcproj", "{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_svg-surface", "examples\svg-surface\svg-surface.vcproj", "{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_text-rotate", "examples\text-rotate\text-rotate.vcproj", "{F4D455E4-464D-49CC-A120-DB9B8AE0207E}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_image-surface", "examples\image-surface\image-surface.vcproj", "{29607D06-BADE-4CBC-A6E9-43A75A88792A}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_toy-text", "examples\toy-text\toy-text.vcproj", "{C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_user-font", "examples\user-font\user-font.vcproj", "{59A5893F-4443-4403-878B-4FCDEE891EA8}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.ActiveCfg = Debug|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.Build.0 = Debug|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|x64.ActiveCfg = Debug|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|x64.Build.0 = Debug|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.ActiveCfg = Release|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.Build.0 = Release|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|x64.ActiveCfg = Release|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|x64.Build.0 = Release|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.ActiveCfg = Debug|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.Build.0 = Debug|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|x64.ActiveCfg = Debug|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|x64.Build.0 = Debug|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.ActiveCfg = Release|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.Build.0 = Release|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|x64.ActiveCfg = Release|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|x64.Build.0 = Release|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.ActiveCfg = Debug|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.Build.0 = Debug|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|x64.ActiveCfg = Debug|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|x64.Build.0 = Debug|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.ActiveCfg = Release|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.Build.0 = Release|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|x64.ActiveCfg = Release|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|x64.Build.0 = Release|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.ActiveCfg = Debug|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.Build.0 = Debug|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|x64.ActiveCfg = Debug|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|x64.Build.0 = Debug|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.ActiveCfg = Release|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.Build.0 = Release|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|x64.ActiveCfg = Release|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|x64.Build.0 = Release|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.ActiveCfg = Debug|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.Build.0 = Debug|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|x64.ActiveCfg = Debug|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|x64.Build.0 = Debug|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.ActiveCfg = Release|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.Build.0 = Release|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|x64.ActiveCfg = Release|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|x64.Build.0 = Release|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.ActiveCfg = Debug|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.Build.0 = Debug|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|x64.ActiveCfg = Debug|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|x64.Build.0 = Debug|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.ActiveCfg = Release|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.Build.0 = Release|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|x64.ActiveCfg = Release|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|x64.Build.0 = Release|x64 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Debug|Win32.ActiveCfg = Debug|Win32 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Debug|Win32.Build.0 = Debug|Win32 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Debug|x64.ActiveCfg = Debug|x64 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Debug|x64.Build.0 = Debug|x64 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Release|Win32.ActiveCfg = Release|Win32 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Release|Win32.Build.0 = Release|Win32 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Release|x64.ActiveCfg = Release|x64 {29607D06-BADE-4CBC-A6E9-43A75A88792A}.Release|x64.Build.0 = Release|x64 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Debug|Win32.ActiveCfg = Debug|Win32 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Debug|Win32.Build.0 = Debug|Win32 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Debug|x64.ActiveCfg = Debug|x64 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Debug|x64.Build.0 = Debug|x64 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Release|Win32.ActiveCfg = Release|Win32 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Release|Win32.Build.0 = Release|Win32 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Release|x64.ActiveCfg = Release|x64 {C22BBC48-734B-4A0D-BC2E-6B5A9E0CE07E}.Release|x64.Build.0 = Release|x64 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Debug|Win32.ActiveCfg = Debug|Win32 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Debug|Win32.Build.0 = Debug|Win32 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Debug|x64.ActiveCfg = Debug|x64 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Debug|x64.Build.0 = Debug|x64 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Release|Win32.ActiveCfg = Release|Win32 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Release|Win32.Build.0 = Release|Win32 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Release|x64.ActiveCfg = Release|x64 {59A5893F-4443-4403-878B-4FCDEE891EA8}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal cairomm-1.10.0/MSVC_Net2005/PaxHeaders.11012/cairomm0000644000175000017500000000005011561716652017503 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/cairomm/0000755000175000017500000000000011561716652017774 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/cairomm/PaxHeaders.11012/cairommconfig.h0000644000175000017500000000005011561716342022542 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/cairomm/cairommconfig.h0000644000175000017500000000067011561716342022761 0ustar00murraycmurrayc00000000000000/* cairommconfig.h. Generated from cairommconfig.h.in by configure. */ /* This file is part of cairomm. */ /* Defined when the --enable-api-exceptions configure argument was given */ #define CAIROMM_EXCEPTIONS_ENABLED 1 /* Major version number of cairomm. */ #define CAIROMM_MAJOR_VERSION 1 /* Minor version number of cairomm. */ #define CAIROMM_MINOR_VERSION 10 /* Micro version number of cairomm. */ #define CAIROMM_MICRO_VERSION 0 cairomm-1.10.0/MSVC_Net2005/cairomm/PaxHeaders.11012/cairomm.rc.in0000644000175000017500000000005011561715437022142 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/cairomm/cairomm.rc.in0000644000175000017500000000273611561715437022366 0ustar00murraycmurrayc00000000000000 #define APSTUDIO_READONLY_SYMBOLS #include #undef APSTUDIO_READONLY_SYMBOLS #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED 1 TEXTINCLUDE BEGIN "resource.h\0" END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1 PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "The cairomm development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for cairo" VALUE "FileVersion", "@VERSION@" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "cairomm-1.0" VALUE "ProductName", "cairomm" VALUE "ProductVersion", "@VERSION@" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // English (U.S.) resources #ifndef APSTUDIO_INVOKED #endif // not APSTUDIO_INVOKED cairomm-1.10.0/MSVC_Net2005/cairomm/PaxHeaders.11012/cairomm.rc0000644000175000017500000000005011561716342021531 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/cairomm/cairomm.rc0000644000175000017500000000252611561716342021752 0ustar00murraycmurrayc00000000000000 #define APSTUDIO_READONLY_SYMBOLS #include #undef APSTUDIO_READONLY_SYMBOLS #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED 1 TEXTINCLUDE BEGIN "resource.h\0" END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO FILEVERSION 1,10,0,1 PRODUCTVERSION 1,10,0,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "The cairomm development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for cairo" VALUE "FileVersion", "1.10.0" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "cairomm-1.0" VALUE "ProductName", "cairomm" VALUE "ProductVersion", "1.10.0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // English (U.S.) resources #ifndef APSTUDIO_INVOKED #endif // not APSTUDIO_INVOKED cairomm-1.10.0/MSVC_Net2005/cairomm/PaxHeaders.11012/cairomm.vcproj0000644000175000017500000000005011561715437022434 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/cairomm/cairomm.vcproj0000644000175000017500000002610211561715437022651 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/PaxHeaders.11012/examples0000644000175000017500000000005011561716652017672 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/0000755000175000017500000000000011561716652020163 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/PaxHeaders.11012/ps-surface0000644000175000017500000000005011561716652021742 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/ps-surface/0000755000175000017500000000000011561716652022233 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/ps-surface/PaxHeaders.11012/ps-surface.vcproj0000644000175000017500000000005011561715437025314 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/ps-surface/ps-surface.vcproj0000644000175000017500000001775611561715437025550 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/examples/PaxHeaders.11012/pdf-surface0000644000175000017500000000005011561716652022071 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/pdf-surface/0000755000175000017500000000000011561716652022362 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/pdf-surface/PaxHeaders.11012/pdf-surface.vcproj0000644000175000017500000000005011561715437025572 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj0000644000175000017500000001776011561715437026021 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/examples/PaxHeaders.11012/svg-surface0000644000175000017500000000005011561716652022117 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/svg-surface/0000755000175000017500000000000011561716652022410 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/svg-surface/PaxHeaders.11012/svg-surface.vcproj0000644000175000017500000000005011561715437025646 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/svg-surface/svg-surface.vcproj0000644000175000017500000001776011561715437026075 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/examples/PaxHeaders.11012/text-rotate0000644000175000017500000000005011561716652022152 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/text-rotate/0000755000175000017500000000000011561716652022443 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/text-rotate/PaxHeaders.11012/text-rotate.vcproj0000644000175000017500000000005011561715437025734 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/text-rotate/text-rotate.vcproj0000644000175000017500000002163411561715437026156 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/examples/PaxHeaders.11012/image-surface0000644000175000017500000000005011561716652022402 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/image-surface/0000755000175000017500000000000011561716652022673 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/image-surface/PaxHeaders.11012/image-surface.vcproj0000644000175000017500000000005011561715437026414 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/image-surface/image-surface.vcproj0000644000175000017500000001776411561715437026647 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/examples/PaxHeaders.11012/toy-text0000644000175000017500000000005011561716652021467 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/toy-text/0000755000175000017500000000000011561716652021760 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/toy-text/PaxHeaders.11012/toy-text.vcproj0000644000175000017500000000005011561715437024566 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/toy-text/toy-text.vcproj0000644000175000017500000002005611561715437025005 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2005/examples/PaxHeaders.11012/user-font0000644000175000017500000000005011561716652021614 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/user-font/0000755000175000017500000000000011561716652022105 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2005/examples/user-font/PaxHeaders.11012/user-font.vcproj0000644000175000017500000000005011561715437025040 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2005/examples/user-font/user-font.vcproj0000644000175000017500000002006011561715437025252 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/PaxHeaders.11012/data0000644000175000017500000000005011561716652015100 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/data/0000755000175000017500000000000011561716652015371 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/data/PaxHeaders.11012/cairomm-quartz-image-1.0.pc.in0000644000175000017500000000005011561715437022435 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-quartz-image-1.0.pc.in0000644000175000017500000000023111561715437022645 0ustar00murraycmurrayc00000000000000Name: cairomm-quartz-image Description: C++ wrapper for cairo - quartz image support Requires: cairomm-1.0 cairo-quartz-image Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-pdf-1.0.pc.in0000644000175000017500000000005011561715437020600 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-pdf-1.0.pc.in0000644000175000017500000000017611561715437021020 0ustar00murraycmurrayc00000000000000Name: cairomm-pdf Description: C++ wrapper for cairo - pdf support Requires: cairomm-1.0 cairo-pdf Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-svg-1.0.pc.in0000644000175000017500000000005011561715437020626 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-svg-1.0.pc.in0000644000175000017500000000017611561715437021046 0ustar00murraycmurrayc00000000000000Name: cairomm-svg Description: C++ wrapper for cairo - svg support Requires: cairomm-1.0 cairo-svg Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-png-1.0.pc.in0000644000175000017500000000005011561715437020613 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-png-1.0.pc.in0000644000175000017500000000017611561715437021033 0ustar00murraycmurrayc00000000000000Name: cairomm-png Description: C++ wrapper for cairo - png support Requires: cairomm-1.0 cairo-png Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-xlib-xrender-1.0.pc.in0000644000175000017500000000005011561715437022432 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-xlib-xrender-1.0.pc.in0000644000175000017500000000023111561715437022642 0ustar00murraycmurrayc00000000000000Name: cairomm-xlib-xrender Description: C++ wrapper for cairo - xlib-xrender support Requires: cairomm-1.0 cairo-xlib-xrender Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-xlib-1.0.pc.in0000644000175000017500000000005011561715437020765 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-xlib-1.0.pc.in0000644000175000017500000000020111561715437021172 0ustar00murraycmurrayc00000000000000Name: cairomm-xlib Description: C++ wrapper for cairo - xlib support Requires: cairomm-1.0 cairo-xlib Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-ft-1.0.pc.in0000644000175000017500000000005011561715437020440 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-ft-1.0.pc.in0000644000175000017500000000017311561715437020655 0ustar00murraycmurrayc00000000000000Name: cairomm-ft Description: C++ wrapper for cairo - ft support Requires: cairomm-1.0 cairo-ft Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-quartz-font-1.0.pc.in0000644000175000017500000000005011561715437022321 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-quartz-font-1.0.pc.in0000644000175000017500000000022611561715437022535 0ustar00murraycmurrayc00000000000000Name: cairomm-quartz-font Description: C++ wrapper for cairo - quartz font support Requires: cairomm-1.0 cairo-quartz-font Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-1.0.pc.in0000644000175000017500000000005011561715437020031 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-1.0.pc.in0000644000175000017500000000121011561715437020237 0ustar00murraycmurrayc00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ datarootdir=@datarootdir@ datadir=@datadir@ includedir=@includedir@ docdir=${datarootdir}/doc/@CAIROMM_MODULE_NAME@ doxytagfile=${docdir}/reference/@CAIROMM_MODULE_NAME@.tag htmlrefdir=${docdir}/reference/html htmlrefpub=http://www.cairographics.org/documentation/cairomm/reference Name: cairomm Description: C++ binding for the cairo graphics library Version: @PACKAGE_VERSION@ URL: http://www.cairographics.org/cairomm/ Requires: @CAIROMM_MODULES@ Libs: -L${libdir} -lcairomm-@CAIROMM_API_VERSION@ Cflags: -I${includedir}/@CAIROMM_MODULE_NAME@ -I${libdir}/@CAIROMM_MODULE_NAME@/include cairomm-1.10.0/data/PaxHeaders.11012/cairomm-quartz-1.0.pc.in0000644000175000017500000000005011561715437021355 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-quartz-1.0.pc.in0000644000175000017500000000020711561715437021570 0ustar00murraycmurrayc00000000000000Name: cairomm-quartz Description: C++ wrapper for cairo - quartz support Requires: cairomm-1.0 cairo-quartz Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-win32-font-1.0.pc.in0000644000175000017500000000005011561715437021735 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-win32-font-1.0.pc.in0000644000175000017500000000022311561715437022146 0ustar00murraycmurrayc00000000000000Name: cairomm-win32-font Description: C++ wrapper for cairo - win32 font support Requires: cairomm-1.0 cairo-win32-font Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-ps-1.0.pc.in0000644000175000017500000000005011561715437020451 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-ps-1.0.pc.in0000644000175000017500000000020311561715437020660 0ustar00murraycmurrayc00000000000000Name: cairomm-ps Description: C++ wrapper for cairo - postscript support Requires: cairomm-1.0 cairo-ps Version: @PACKAGE_VERSION@ cairomm-1.10.0/data/PaxHeaders.11012/cairomm-win32-1.0.pc.in0000644000175000017500000000005011561715437020771 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/data/cairomm-win32-1.0.pc.in0000644000175000017500000000020411561715437021201 0ustar00murraycmurrayc00000000000000Name: cairomm-win32 Description: C++ wrapper for cairo - win32 support Requires: cairomm-1.0 cairo-win32 Version: @PACKAGE_VERSION@ cairomm-1.10.0/PaxHeaders.11012/ChangeLog0000644000175000017500000000005011561716206016011 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/ChangeLog0000644000175000017500000023740411561716206016237 0ustar00murraycmurrayc000000000000001.10.0: 2010-11-03 Murray Cumming Context::arc(): Correct the documentation, as in the C documentation. * cairomm/context.h: arc(): Update the documentation based on the latest version of the cairo_arc() documentation, which was apparently fixed since we last wrote the C++ documentation based on it. This fixes bug #31345 (Christopher Head) about bad math in arc() documentation. 1.9.6: 2010-09-29 Armin Burgmeier Added support for 64 bit and Visual Studio 2010. * MSVC_Net2008/.cvsignore: * MSVC_Net2005/examples/png-file/png-file.vcproj: * MSVC_Net2008/examples/png-file/png-file.vcproj: Removed. * MSVC_Net2005/README: * MSVC_Net2005/cairomm.sln: * MSVC_Net2005/cairomm/cairomm.vcproj: * MSVC_Net2005/examples/image-surface/image-surface.vcproj: * MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj: * MSVC_Net2005/examples/ps-surface/ps-surface.vcproj: * MSVC_Net2005/examples/svg-surface/svg-surface.vcproj: * MSVC_Net2005/examples/text-rotate/text-rotate.vcproj: * MSVC_Net2005/examples/toy-text/toy-text.vcproj: * MSVC_Net2005/examples/user-font/user-font.vcproj: * MSVC_Net2005/gendef/gendef.vcproj: * MSVC_Net2008/README: * MSVC_Net2008/cairomm.sln: * MSVC_Net2008/cairomm/cairomm.vcproj: * MSVC_Net2008/examples/image-surface/image-surface.vcproj: * MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj: * MSVC_Net2008/examples/ps-surface/ps-surface.vcproj: * MSVC_Net2008/examples/svg-surface/svg-surface.vcproj: * MSVC_Net2008/examples/text-rotate/text-rotate.vcproj: * MSVC_Net2008/examples/toy-text/toy-text.vcproj: * MSVC_Net2008/examples/user-font/user-font.vcproj: * MSVC_Net2008/gendef/gendef.vcproj: * MSVC_Net2010/README: * MSVC_Net2010/cairomm.sln: * MSVC_Net2010/cairomm/cairomm.rc.in: * MSVC_Net2010/cairomm/cairomm.vcxproj: * MSVC_Net2010/cairomm/cairomm.vcxproj.filters: * MSVC_Net2010/examples/image-surface/image-surface.vcxproj: * MSVC_Net2010/examples/image-surface/image-surface.vcxproj.filters: * MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj: * MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj.filters: * MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj: * MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj.filters: * MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj: * MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj.filters: * MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj: * MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj.filters: * MSVC_Net2010/examples/toy-text/toy-text.vcxproj: * MSVC_Net2010/examples/toy-text/toy-text.vcxproj.filters: * MSVC_Net2010/examples/user-font/user-font.vcxproj: * MSVC_Net2010/examples/user-font/user-font.vcxproj.filters: * MSVC_Net2010/filelist.am: * MSVC_Net2010/gendef/gendef.cc: * MSVC_Net2010/gendef/gendef.vcxproj: * MSVC_Net2010/gendef/gendef.vcxproj.filters: * Makefile.am: * configure.ac: Added support for 64 bit and Visual Studio 2010. 2010-09-10 Murray Cumming Context, Surface: Add some new methods. * cairomm/context.[h|cc]: Added in_clip(). * cairomm/surface.[h|cc]: Added get_mime_data(), set_mime_data(), unset_mime_data(). 1.9.4: 2010-09-07 Murray Cumming Added Device class. * cairomm/device.[h|cc]: Added these files, wrapping cairo_device_t. * cairomm/filelist.am: * cairomm/cairomm.h: Mention the new file. 1.9.2: 2010-09-02 Murray Cumming Context: set_dash(): Make the dashes parameter const. * cairomm/context.[h|cc]: set_dash(): Add versions that take a const vector parameter, deprecating the old versions. 2010-09-02 Murray Cumming Context: Make some methods const, deprecating the non-const versions. * cairomm/context.[h|cc]: device_to_user(, device_to_user_distance(), user_to_device(), user_to_device_distance(): Deprecate the non-const versions, adding const versions. 2010-06-10 Ian Britten Cleanup of most -Weffc++ warnings. Bug #28246. * cairomm/fontface.h (FontFace::FontFace): * cairomm/path.h (Path::Path): * cairomm/pattern.h (Pattern::Pattern): * cairomm/scaledfont.h (ScaledFont::ScaledFont): * cairomm/surface.h (Surface::Surface): Declare a private copy constructor and assignment operator in order to explicitly prevent objects from being copied by value. That was never valid, and not disallowing it seems to have been merely an oversight. * cairomm/fontoptions.cc: * cairomm/scaledfont.cc: Initialize member(s) in initialization list. * cairomm/scaledfont.h: Declared ~ScaledFont() virtual 1.9.1: 2010-07-06 Murray Cumming Add Region, wrapping cairo_region_t, new in cairo 1.10. * cairomm/region.[h|cc]: Added this class, wrapping it like other reference-counted types, such as Pattern. * cairomm/cairomm.h: Add an include of it here. * cairomm/filelist.am: Mention the new files here. 2010-06-07 Daniel Elstner Disallow copying of Cairo::Context objects * cairomm/context.h (Cairo::Context): Declare a private copy constructor and assignment operator in order to explicitly prevent objects from being copied by value. That was never valid, and not disallowing it seems to have been merely an oversight. 2010-06-07 Daniel Elstner Do not unnecessarily cast booleans to pointers * cairomm/fontface.cc (USER_DATA_KEY_DEFAULT_TEXT_TO_GLYPHS): Put dummy object into an anonymous namespace and make it static. (UserFontFace::text_to_glyphs): Do not cast a boolean to a pointer in order to indicate state via the font face's user data. There are fairly safe alternative casts to do this, but it is much simpler to just take the address of any existing object to get a non-0 pointer. (UserFontFace::UserFontFace): Remove unnecessary casts. 2009-10-26 Armin Burgmeier * MSVC_Net2005/cairomm/cairomm.rc.in: * MSVC_Net2008/cairomm/cairomm.rc.in: Replaced GENERIC_MAJOR_VERSION et al. by CAIROMM_MAJOR_VERSION, so that they are properly replaced during configure. * MSVC_Net2005/examples/image-surface/image-surface.vcproj: * MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj: * MSVC_Net2005/examples/ps-surface/ps-surface.vcproj: * MSVC_Net2005/examples/svg-surface/svg-surface.vcproj: * MSVC_Net2005/examples/text-rotate/text-rotate.vcproj: * MSVC_Net2005/examples/toy-text/toy-text.vcproj: * MSVC_Net2005/examples/user-font/user-font.vcproj: * MSVC_Net2008/examples/image-surface/image-surface.vcproj: * MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj: * MSVC_Net2008/examples/ps-surface/ps-surface.vcproj: * MSVC_Net2008/examples/svg-surface/svg-surface.vcproj: * MSVC_Net2008/examples/text-rotate/text-rotate.vcproj: * MSVC_Net2008/examples/toy-text/toy-text.vcproj: * MSVC_Net2008/examples/user-font/user-font.vcproj: Added $(SolutionDir)/cairomm to the include search paths, so that cairommconfig.h is found even if configure did not run. * cairomm/fontface.cc: MSVC does not allow to reinterpret_cast a bool to void*, so use an int instead. * cairomm/context.cc: * examples/surfaces/image-surface.cc: * examples/surfaces/pdf-surface.cc: * examples/surfaces/ps-surface.cc: * examples/surfaces/svg-surface.cc: * examples/text/text-rotate.cc: Define _USE_MATH_DEFINES before including anything, to make sure we get the defines even if math.h is included indirectly via another header. 2010-06-07 Augusto Jun Devegili Put ifdefs around 32-bit-only API, to fix the build on 64-bit machines. * cairomm/quartz_font.[h|cc]: Use #ifndef __LP64__, as cairo does. 2010-06-07 Daisuke Nishikawa Actually install cairomm-xlib-xrender-1.0.pc. * configure.ac: Fix a typo in the check for xlib-xrender support in cairo. Fixes bug #27066. 2010-01-28 Daniel Elstner Clean up configure.ac and add silent rules support * configure.ac (AC_INIT): Specify correct URLs for bug reports and the project home page. (AM_SILENT_RULES): Call macro if defined. (MM_PREREQ): Require mm-common 0.8. (BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB): Rewrite the fragile shell code of the boost check. 1.8.4: 2009-10-19 Jonathon Jongsma bump to 1.8.4, update NEWS 2009-08-13 Jonathon Jongsma Don't force tests to be enabled when CAIROMM_DEVEL is defined This was hacked in to ensure that I always built with tests enabled, but the boost configure detection scripts are broken right now on my setup, so this just hinders my ability to get things done. remove it. 2009-08-13 Daniel Elstner Distribute mm-common documentation utilities * docs/Makefile.am (dist_noinst_DATA): List the utility scripts installed by mm-common-prepare here, so they will be distributed. 2009-08-13 Daniel Elstner Add missing call to MM_CONFIG_DOCTOOL_DIR * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([docs]) to indicate to mm-common-prepare that this module cannot depend on the utilities shipped with glibmm, and needs its own copies. 2009-08-13 Daniel Elstner Fix left-over cairomm/cairommconfig.h includes * cairomm/cairomm.h: Remove directory prefix from cairommconfig.h include statement. * cairomm/context.cc: Include unconditionally instead of conditionally including . * examples/surfaces/*.cc: ditto, * examples/text/text-rotate.cc: ditto. 2009-08-13 Daniel Elstner Review and clean up after build overhaul * autogen.sh: Pass --enable-maintainer-mode to ./configure since the automatic rebuild of the reference documentation is only enabled in maintainer mode. AM_MAINTAINER_MODE is already in configure.ac. * configure.ac (AC_CONFIG_HEADERS): Prepend build/config.h to the list of header files, because the first file in the list has its .in file generated by autoheader, and will thus include every AC_DEFINE from every Autoconf macro that is used. The macros defined in the installed cairommconfig.h header should be namespaced and limited to meta information about the installed cairomm library. Also move cairommconfig.h to the top-level directory, in order to avoid the need to add the cairomm/ subdirectory to the include path. (PKG_CHECK_MODULES): Collapse the checks for optional cairo modules into a loop, and use PKG_CHECK_EXISTS() instead of the full-blown PKG_CHECK_MODULES(). Also, be a bit cleverer about the lists of .pc files and module names generated along the way. (AC_CONFIG_FILES): List all potentially installed files literally, instead of creating the list of output files dynamically. This is much simpler and also gets us free shipping. Remove data/Makefile. * cairommconfig.h.in: Add file to repository, as it should not be autogenerated. Of the content, keep only the CAIROMM_ namespaced macros. * cairomm/context*.cc: Remove cairomm/ prefix from cairommconfig.h include statements. This was already wrong before, but moving the file around made it visible. * Makefile.am: Clean up a bit. (DIST_SUBDIRS): Have Automake figure it out automatically. (cairomm_include_HEADERS): Remove, as cairomm/cairomm.h is already installed in cairomm/Makefile.am. (nodist_cairomm_libinclude_HEADERS): Relocate cairommconfig.h to the top-level directory. (nodist_pkgconfig_DATA): Use $(CAIROMM_INSTALL_PC) substitution from configure.ac to install the appropriate pkg-config data files. * cairomm/Makefile.am: Rewrite without using compile-binding.am, as it is not really the appropriate tool for the cairomm job. * cairomm/filelist.am (cairomm_cc): Rename from $(files_extra_cc). (cairomm_public_h): Rename variable from $(files_extra_h) and remove cairommconfig.h from the list. (cairomm_private_h): Rename variable from $(files_extra_ph). * docs/Makefile.am (doc_input): Adjust variable names. (dist_noinst_DATA): Add reference/cairomm.css to the list. (pubdocbase): Define for completeness. (htmlrefpub): Correct documentation URL. * docs/Doxyfile.in: Strip trailing whitespace from every line. (STRIP_FROM_PATH), (STRIP_FROM_INC_PATH), (INCLUDE_PATH): Do not strip the cairomm/ subdirectory prefix from the displayed filenames. (EXCLUDE): Remove list of files to exclude, since the list of input files is specified explicitly with the new build organization. (EXPAND_AS_DEFINED): Expand version number macros, although at the moment they are probably not used anywhere in the public headers. * data/cairomm-*.pc.in: Use @PACKAGE_VERSION@ instead of @VERSION@. * data/cairomm-1.0.pc.in (htmlrefpub): Correct documentation URL. (Cflags): Add missing -I${libdir}/@CAIROMM_MODULE_NAME@/include. * data/Makefile.am: Delete now unused build file. * docs/reference/Makefile.am: Delete left-over build file. 2009-08-12 David King * MSVC_Net2005/**/Makefile.am: * MSVC_Net2008/**/Makefile.am: Remove recursive build files. * MSVC_Net2005/filelist.am: * MSVC_Net2008/filelist.am: Recursively list all files that should go into the distribution. * configure.ac (AC_CONFIG_FILES): Remove all Makefile outputs to the MSVC subdirectories. (AC_CONFIG_COMMANDS): Copy the configuration header files into the MSVC subdirectories by making config.status execute custom configuration commands. This is easier than doing it at the Makefile level, where it was previously implemented. * Makefile.am: Include the filelist.am files from the MSVC subdirectories. (SUBDIRS): Remove MSVC_Net200[58] directories from the list. (dist_noinst_DATA): Distribute the MSVC project files. (DISTCLEANFILES): Include the copied configuration header files in a distclean. 2009-08-12 David King * .gitignore: Add new generated documentation files. * Makefile.am: Remove old documentation generation build. * configure.ac: * docs/reference/Makefile.am: Remove, with switch to non-recursive documentation build. * data/cairomm-1.0.pc.in: * docs/Makefile.am: Switch to new documentation build infrastructure from mm-common. * docs/reference/Doxyfile.in: Modernise and disable several unused features of the Doxygen output. 2009-08-12 David King * .gitignore: Add INSTALL, mm-common *.am files and .dirstamp. * Makefile.am: Change VERSION to PACKAGE_VERSION. Begin transition to use of new build infrastructure. * cairomm/Makefile.am: Simplify by moving significant portions to toplevel Makefile.am. * cairomm/filelist.am: List of files for libcairomm. Move private source files to files_extra_cc. * configure.ac: Use MM_INIT_MODULE and remove example subdirectory Makefile.am. * examples/surfaces/Makefile.am: * examples/text/Makefile.am: Remove. * examples/Makefile.am: Convert examples tree to non-recursive build, with single, slimmer Makefile.am. 2009-08-11 David King * autogen.sh: Replace with a simple wrapper around mm-common-prepare and autoreconf. * build/*.m4: Move from m4 directory. * Makefile.am: Rename m4 directory to build. * configure.ac: Rename from configure.in, as it is recommended by Autoconf developers and currently required by mm-common-prepare. Major update to take advantage of mm-common build infrastructure. * INSTALL: Remove from repository, using GNU install instructions instead. * cairomm/Makefile.am: Remove unnecessary win32 conditionals. 2009-07-07 Christopher Harvey * cairomm/context.h Added some documentation to the rel_* functions in the Context class about their behavior when there is no current point. 2009-07-05 JÄnis RukÅ¡Äns Reviewed by Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: * cairomm/pattern.cc: * cairomm/pattern.h: * cairomm/scaledfont.cc: * cairomm/scaledfont.h: Restore 1.6.x ABI / API that was unintentionally broken by the matrix changes in the 1.8.x series 2009-01-26 Jonathon Jongsma * NEWS: * configure.in: bump version for 1.8.0 2009-01-20 Jonathon Jongsma * cairomm/surface.h: fixed the documentation for ImageSurface::create() to match the cairo C documentation (it must have changed since we initially copied the documentation -- it'd really be nice to have a way to automatically generate the C++ documentation...) 2008-12-20 Jonathon Jongsma * configure.in: * tests/test-matrix.cc: * tests/test-user-font.cc: fix some test build issues that were causing distcheck to fail 2008-12-20 Jonathon Jongsma * NEWS: * configure.in: update for release 2008-12-20 Jonathon Jongsma * cairomm/matrix.cc: * cairomm/matrix.h: change free convenience function 'scaled_matrix()' to 'scaling_matrix()' to better match the other names (e.g. 'translation_matrix()'). This API was added in 1.7.x so while it is an API change, it doesn't affect any stable API. 2008-12-20 Armin Burgmeier * cairomm/pattern.h: Forward-declared Matrix as a class instead of as a struct, to prevent MSVC from complaining about "'Cairo::Matrix' : type name first seen using 'struct' now seen using 'class'". * MSVC_Net2005/examples/png_file: * MSVC_Net2008/examples/png_file: Removed, as the corresponding example has been removed. * MSVC_Net2005/cairomm/cairomm.vcproj: * MSVC_Net2008/cairomm/cairomm.vcproj: Link against libsigc++, added matrix.h, win32_font.h, matrix.cc and win32_font.cc to the project. * MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj: * MSVC_Net2005/examples/ps-surface/ps-surface.vcproj: * MSVC_Net2005/examples/svg-surface/svg-surface.vcproj: * MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj: * MSVC_Net2008/examples/ps-surface/ps-surface.vcproj: * MSVC_Net2008/examples/svg-surface/svg-surface.vcproj: * MSVC_Net2008/examples/text-rotate/text-rotate.vcproj: * MSVC_Net2008/examples/text-rotate/text-rotate.vcproj: Adapt path to source files. * MSVC_Net2005/examples/image-surface/image-surface.vcproj: * MSVC_Net2005/examples/image-surface/Makefile.am: * MSVC_Net2005/examples/toy-text/toy-text.vcproj: * MSVC_Net2005/examples/toy-text/Makefile.am: * MSVC_Net2005/examples/user-font/user-font.vcproj: * MSVC_Net2005/examples/user-font/Makefile.am: * MSVC_Net2005/examples/Makefile.am: Added MSVC2005 projects for these examples. * MSVC_Net2008/examples/image-surface/image-surface.vcproj: * MSVC_Net2008/examples/image-surface/Makefile.am: * MSVC_Net2008/examples/toy-text/toy-text.vcproj: * MSVC_Net2008/examples/toy-text/Makefile.am: * MSVC_Net2008/examples/user-font/user-font.vcproj: * MSVC_Net2008/examples/user-font/Makefile.am: * MSVC_Net2008/examples/Makefile.am: Added MSVC2008 projects for these examples. * MSVC_Net2005/cairomm.sln: * MSVC_Net2008/cairomm.sln: Added the new example projects to the corresponding solution. * configure.in: Create Makefiles in the newly added directories. 2008-12-15 Jonathon Jongsma * cairomm/scaledfont.h: revert the virtual destructor since it's unnecessary and an ABI change. The ScaledFont subclasses don't have any virtual functions or any subclass-specific data that needs to be cleaned up, so a virtual destructor is not really necessary here. * tests/test-scaled-font.cc: a little paranoia test just to ensure that the base destructor is called correctly reducing the ref count when we delete a FtFontFace 2008-12-14 Jonathon Jongsma * cairomm/fontface.cc: fixed a bug in UserFont where I was incorrectly using a function static variable and so it was not returning negative numbers for num_glyphs when I expected it to * tests/Makefile.am: * tests/test-font-face.cc: * tests/test-user-font.cc: Added tests for UserFontFace 2008-12-14 Jonathon Jongsma * cairomm/scaledfont.cc: actually fix a reference-counting issue with ScaledFont::get_font_face() that I thought I had fixed in b1d01ff7 * tests/test-scaled-font.cc: add a test for the get_font_face() bug 2008-12-12 Jonathon Jongsma * configure.in: bump version since we forgot to do it after release 2008-12-12 Jonathon Jongsma * cairomm/types.h: add cross-reference links to the cairo manual for all types that are just typedefs of C structs 2008-12-12 Jonathon Jongsma * .gitignore: ignore the new example executable names * examples/text/Makefile.am: normalize the text-rotate example executable name * examples/text/text-rotate.cc: print a message to the terminal explaining that a file was written 2008-12-12 Jonathon Jongsma * cairomm/surface.h: add the surface examples to the doxygen documentation 2008-12-12 Jonathon Jongsma Restructure the examples directory so that there aren't so many subdirs, which tends to slow down builds since they can't be done in parallel. Also 'standardize' the executable names a bit more and give the source files meaningful names rather than 'main.cc' or similar * configure.in: * examples/.cvsignore: Removed. * examples/Makefile.am: * examples/README: * examples/pdf-surface/.cvsignore: Removed. * examples/pdf-surface/Makefile.am: Removed. * examples/png_file/.cvsignore: Removed. * examples/png_file/Makefile.am: Removed. * examples/ps-surface/.cvsignore: Removed. * examples/ps-surface/Makefile.am: Removed. * examples/surfaces/image-surface.cc: Renamed from examples/png_file/main.cc. * examples/surfaces/pdf-surface.cc: Renamed from examples/pdf-surface/main.cc. * examples/surfaces/ps-surface.cc: Renamed from examples/ps-surface/main.cc. * examples/surfaces/svg-surface.cc: Renamed from examples/svg-surface/main.cc. * examples/svg-surface/.cvsignore: Removed. * examples/svg-surface/Makefile.am: Removed. 2008-12-12 Jonathon Jongsma * cairomm/fontface.h: add more documentation about UserFontFace, including a warning about needing to keep the UserFontFace wrapper around as long as we're rendering text with that face. Include the user-font.cc and toy-text.cc examples in the doxygen reference documentation * docs/reference/Doxyfile.in: set EXAMPLE_PATH 2008-12-11 Jonathon Jongsma * examples/text/user-font.cc: enhanced the UserFontFace example quite a bit so that it shows a few different virtual functions and actually draws different sized boxes for different characters 2008-12-11 Jonathon Jongsma * cairomm/fontface.h: fix up a lot of the documentation for UserFontFace since it was redesigned to use virtual functions rather than callbacks 2008-12-07 Jonathon Jongsma * examples/text/Makefile.am: * examples/text/user-font.cc: Added a very simple example of using a UserFontFace to draw text 2008-12-07 Jonathon Jongsma * cairomm/fontface.cc: Fix the default implementation of UserFontFace::init() to set up the font extents parameter correctly according to the documentation 2008-12-07 Jonathon Jongsma * cairomm/fontface.cc: 'fix' the text_to_glyphs implementation so that the default virtual function will be bypassed and the unicode_to_glyph will be called instead. This is done in the C implementation by passing a negative value for the num_glyphs output parameter, but since we're using a std::vector for the glyphs, it's not possible to return a negative value. So I'm using an ugly hack that will set a boolean flag the first time the default text_to_glyphs vfunc is called (which implies that that function has not been reimplemented in a derived class), and if we check that boolean flag and it is set, we will pass a negative value down to the C caller 2008-12-07 Jonathon Jongsma * cairomm/fontface.cc: * cairomm/fontface.h: Change UserFontFace implementation to a vfunc-based implementation rather than requiring people to supply callbacks at runtime as sigc::slot objects. This was requested by Ian Britten on the mailing list and was my original plan but ran into issues in my original implementation. This isn't a fully-working implementation yet, but I think I can overcome the issues now, so I'm moving forward on the redesign. * tests/test-font-face.cc: disable UserFontFace tests for now 2008-12-05 Jonathon Jongsma * cairomm/scaledfont.cc: Fix an error in ScaledFont::get_font_face() where we were releasing a reference we didn't hold. Also fix a rather severe memory leak where we weren't calling cairo_scaled_font_destroy in the ScaledFont destructor. I added a virtual destructor to ScaledFont, which theoretically changes ABI, but I don't see how anybody could be using ScaledFont in cairomm currently without serious memory leaks, so I think it's worthwhile to make this change 2008-11-14 Jonathon Jongsma * cairomm/win32_surface.cc: * cairomm/win32_surface.h: fix a bunch of compile errors in the win32 surface as reported by Paul Goins 2008-11-14 Jonathon Jongsma * configure.in: support the --with-boost=[boost_path] option for specifying the install path of boost libraries 2008-10-30 Dave Evans * cairomm/fontface.h: * cairomm/surface.h: fix compile in mac osx by undefining the 'nil' symbol before including any sigc++ headers. In the future this should become necessary if sigc++ headers do this directly, but for now work around it in cairomm 2008-10-29 Jonathon Jongsma * Makefile.am: distribute autogen.sh with the tarballs 2008-10-25 Jonathon Jongsma * configure.in: * data/Makefile.am: * tests/Makefile.am: fix some distcheck failures (pkg-config files and unit-test-generated images were not removed on distclean) 2008-10-25 Jonathon Jongsma * NEWS: explicitly mention that 1.7.0 is an unstable release 2008-10-22 Jonathon Jongsma * NEWS: add news for 1.7.x release 2008-10-22 Jonathon Jongsma * cairomm/matrix.h: add a link to the cairo reference for cairo_matrix_t * docs/reference/Doxyfile.in: don't generate docs for the members of the Cairo::Private namespace 2008-10-22 Jonathon Jongsma * configure.in: bump version to 1.7.0 2008-10-22 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: add an overloaded get_matrix() function that returns a copy of the matrix for convenience * tests/test-context.cc: excercise the API 2008-10-22 Jonathon Jongsma * .gitignore: * Makefile.am: * configure.in: moved pkgconfig files to a data subdirectory, and consolidated all dependency checks into one PKG_CHECK_MODULES call so that we don't have duplicate libs or flags in the compiler command line due to checking all of teh deps individually and then aggregating them * data/Makefile.am: Added. * data/cairomm-1.0.pc.in: Renamed from cairomm-1.0.pc.in. * data/cairomm-ft-1.0.pc.in: Renamed from cairomm-ft-1.0.pc.in. * data/cairomm-pdf-1.0.pc.in: Renamed from cairomm-pdf-1.0.pc.in. * data/cairomm-png-1.0.pc.in: Renamed from cairomm-png-1.0.pc.in. * data/cairomm-ps-1.0.pc.in: Renamed from cairomm-ps-1.0.pc.in. * data/cairomm-quartz-1.0.pc.in: Renamed from cairomm-quartz-1.0.pc.in. * data/cairomm-quartz-font-1.0.pc.in: Renamed from cairomm-quartz-font-1.0.pc.in. * data/cairomm-quartz-image-1.0.pc.in: Renamed from cairomm-quartz-image-1.0.pc.in. * data/cairomm-svg-1.0.pc.in: Renamed from cairomm-svg-1.0.pc.in. * data/cairomm-win32-1.0.pc.in: Renamed from cairomm-win32-1.0.pc.in. * data/cairomm-win32-font-1.0.pc.in: Renamed from cairomm-win32-font-1.0.pc.in. * data/cairomm-xlib-1.0.pc.in: Renamed from cairomm-xlib-1.0.pc.in. * data/cairomm-xlib-xrender-1.0.pc.in: Renamed from cairomm-xlib-xrender-1.0.pc.in. 2008-10-22 Jonathon Jongsma * cairomm/pattern.cc: * cairomm/pattern.h: Fix broken get/set_matrix() API that was using the C cairo_matrix_t type instead of Cairo::Matrix. This should be an ABI-compatible change since Cairo::Matrix is ABI-compatible with cairo_matrix_t, however it is a minor API change that could result in some compile warnings for existing code 2008-10-15 Jonathon Jongsma * configure.in: add all of the _LIBS and _CFLAGS for those features that are supported (e.g. FT, PNG, PDF, etc) to the cairomm build flags/libs. 2008-10-15 Jonathon Jongsma * configure.in: bump required cairo version to 1.8.0 2008-10-09 Armin Burgmeier * MSVC_Net2005/cairomm/cairomm.vcproj: Changed output file names to cairomm-vc80-1_0.dll or cairomm-vc80-d-1_0.dll, respectively. * MSVC_Net2008/cairomm.sln: * MSVC_Net2008/cairomm.rc.in: * MSVC_Net2008/Makefile.am: * MSVC_Net2008/*/*.vcproj: Added necesseary files for a Visual Studio 2008 build. * configure.in: * Makefile.am: Added the VS 2008 project files to the distribution. 2008-10-10 Jonathon Jongsma * configure.in: * Makefile.am: * cairomm-**.pc.in: Add a bunch of extra .pc files for additional functionality This is done in a bit of a brute-force method at the moment. I have .pc.in templates for all possible files. Then I check the underlying cairo-XXX.p files and if those exist, I generate the corresponding cairomm-XXX.pc file It's not the prettiest solution, but it seems to work. So now, if you want to just use base cairo functionality, check for cairom but if you want to use other functionality that requires that you link you application against other libraries (e.g. freetype, xlib, etc), you should for cairomm-ft-1.0, cairomm-xlib-1.0, etc. 2008-10-07 Jonathon Jongsma * configure.in: add library version numbers to the cairommconfig.h file: CAIROMM_MAJOR_VERSION, CAIROMM_MINOR_VERSION, and CAIROMM_MICRO_VERSION 2008-10-07 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: remove has_show_text_glyphs() (moved to Surface) * cairomm/surface.cc: * cairomm/surface.h: added has_show_text_glyphs() (moved from Context) * cairomm/enums.h: removed LcdFilter enum, added a TextClusterFlags enum * cairomm/fontface.cc: * cairomm/fontface.h: changed the 'backwards' bool argument of SlotTextToGlyphs to use TextClusterFlags instead. Same general change for the C callback text_to_glyphs_cb * cairomm/fontoptions.cc: * cairomm/fontoptions.h: remove get/set_lcd_filter() since it was removed from cairo just before the 1.8 release * cairomm/scaledfont.cc: * cairomm/scaledfont.h: changed the 'backwards' bool argument of text_to_glyphs() to use TextClusterFlags instead * tests/test-context.cc: * tests/test-font-face.cc: * tests/test-font-options.cc: * tests/test-scaled-font.cc: * tests/test-surface.cc: update tests for API changes 2008-10-05 Jonathon Jongsma * cairomm/matrix.cc: * cairomm/matrix.h: Add documentation for newly-wrapped matrix functions. Also, changed how the cairo_matrix_init_XXX() functions are wrapped. Initially I had basically wrapped them directly (as Matrix::init_XXX()), however, on the advice of Chong Kai Xiong (descender) on IRC, I have moved these into standalone 'generator' functions: - scaled_matrix() - translation_matrix() - rotation_matrix() - identity_matrix() * tests/test-font-face.cc: * tests/test-matrix.cc: modify the tests for the change in API. The new API does make things much more comfortable to use. 2008-09-14 Murray Cumming * cairomm/fontface.h: Improve (and complete) the documenation for the set_*_func() methods. * cairomm/fontoptions.h: * cairomm/scaledfont.h: * cairomm/context.h: Corrected some @param Doxygen syntax. 2008-09-14 Murray Cumming * cairomm/fontface.[h|cc]: Simplify the code by using slots without new and delete. 2008-09-14 Murray Cumming * cairomm/fontface.[h|cc]: Remove the useless/awkward get_*_func() methods. We do not have them in gtkmm either. 2008-09-14 Murray Cumming * cairomm/*.h: Added many missing . to documentation, and corrected some whitespace. 2008-09-12 Jonathon Jongsma * cairomm/Makefile.am: * cairomm/cairomm.h: * cairomm/context.h: * cairomm/matrix.cc: Added. * cairomm/matrix.h: Added. * cairomm/scaledfont.cc: * cairomm/scaledfont.h: * cairomm/types.h: * tests/Makefile.am: * tests/test-font-face.cc: * tests/test-matrix.cc: Added. Inherit Cairo::Matrix from cairo_matrix_t instead of just using a typedef. cairo_matrix_* functions are now member functions of Matrix. This should retain ABI compatibility while adding a more convenient C++ API. 2008-09-12 Jonathon Jongsma * cairomm/win32_surface.cc: * cairomm/win32_surface.h: add the Win32PrintingSurface type 2008-09-10 Jonathon Jongsma * cairomm/context.cc: * cairomm/surface.cc: style fixups: use cobj() instead of using m_cobject directly whenever possible 2008-09-10 Jonathon Jongsma * cairomm/win32_surface.cc: * cairomm/win32_surface.h: add Win32Surface::create_with_ddb (and an alias for create_with_dib()), and Win32Surface::get_image() 2008-09-10 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: * tests/test-surface.cc: added Surface::get_fallback_resolution() + test 2008-09-10 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: * tests/test-surface.cc: add Surface::get_content() + test 2008-09-10 Jonathon Jongsma * cairomm/scaledfont.cc: * cairomm/scaledfont.h: * tests/test-scaled-font.cc: add ScaledFont::get_scale_matrix() + test 2008-09-10 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: * tests/test-surface.cc: add PsSurface::get_eps() 2008-09-10 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: * tests/test-context.cc: add Context::has_show_text_glyphs() + test 2008-09-10 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: * tests/test-surface.cc: change the names of the stream creation functions to 'create_for_stream()' in order to avoid ambiguous template overload issues (I was getting compile failures when passing a literal string for the std::string parameter of the normal create() function) 2008-09-10 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: * tests/test-context.cc: add Context::get_font_options() and tests for it. 2008-09-10 Jonathon Jongsma * cairomm/Makefile.am: * cairomm/quartz_font.cc: Added. * cairomm/quartz_font.h: Added. * docs/reference/Doxyfile.in: Added QuartzFontFace class 2008-09-10 Jonathon Jongsma * cairomm/win32_font.h: fix header protection guards 2008-09-10 Jonathon Jongsma * tests/test-font-face.cc: add a test to use the Win32FontFace API written by Armin Burgmeier 2008-09-10 Armin Burgmeier * cairomm/win32_font.h: * cairomm/win32_font.cc: Fixed the build on Windows. * cairomm/context.cc: Use &vec[0] instead of vec.data(), since the latter seems not to be available everywhere. * cairomm/fontface.cc: Added #ifdef CAIRO_HAS_FT_FONT around the code using FtFontFace, to fix the build with disabled FreeType. 2008-09-10 Jonathon Jongsma * cairomm/Makefile.am: * cairomm/win32_font.cc: Added. * cairomm/win32_font.h: Added. * docs/reference/Doxyfile.in: add support for win32 fonts. Note that I don't have a win32 platform to test with, so I haven't actually compiled this to verify that it works correctly 2008-09-10 Jonathon Jongsma * cairomm/cairomm.h: update, add missing includes 2008-09-09 Jonathon Jongsma * cairomm/fontface.cc: * cairomm/fontface.h: * cairomm/fontoptions.cc: * cairomm/fontoptions.h: * cairomm/scaledfont.cc: * cairomm/scaledfont.h: * docs/reference/Doxyfile.in: * tests/test-font-face.cc: add freetype font support 2008-09-09 Jonathon Jongsma * cairomm/fontface.cc: use vector::empty() rather than ::size() 2008-09-03 Jonathon Jongsma * cairomm/fontface.cc: * cairomm/fontface.h: Add the text_to_glyphs function API to UserFontFace * tests/test-font-face.cc: added tests for the new API 2008-08-27 Armin Burgmeier * MSVC_Net2005/cairomm/cairomm.rc.in: Replaced #include "afxres.h" by #include which does the job equally well, and allows compilation with the freely available Visual Studio Express compiler. Bug #17322. 2008-08-24 Jonathon Jongsma * cairomm/enums.h: * cairomm/fontoptions.h: add documentation for all remainting FontOptions API and the enums that are used for them 2008-08-24 Jonathon Jongsma * cairomm/enums.h: add LcdFilter enum * cairomm/fontoptions.cc: * cairomm/fontoptions.h: add get/set_lcd_filter() API * tests/Makefile.am: * tests/test-font-options.cc: Added. * .gitignore: ignore new test executable 2008-08-22 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: added Context::show_text_glyphs() * cairomm/Makefile.am: * cairomm/fontface.cc: * cairomm/fontface.h: * cairomm/scaledfont.cc: * cairomm/scaledfont.h: * tests/test-font-face.cc: * cairomm/types.h: rearranged some types slightly and moved them to a new file since I was getting circular dependencies with a lot of the basic struct types that are used by multiple classes 2008-08-22 Jonathon Jongsma * cairomm/scaledfont.h: add default value for the font_options parameter of the ScaledFont constructor * tests/test-scaled-font.cc: add test to excercise the change 2008-08-22 Jonathon Jongsma * cairomm/scaledfont.cc: * cairomm/scaledfont.h: add text_to_glyphs() function * tests/Makefile.am: * tests/test-scaled-font.cc: Added. * .gitignore: ignore new test executable 2008-08-22 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: add get/set_scaled_font() that was missed previously 2008-08-21 Jonathon Jongsma * tests/test-surface.cc: fix the image surface tests that create a file from a png stream to return a valid PNG stream so they don't throw an exception on creation. 2008-08-19 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: add sigc::slot versions of all of the functions that take a cairo_write_func_t or cairo_read_func_t * tests/Makefile.am: add a couple basic tests for the surfaced slot functions 2008-08-18 Jonathon Jongsma * cairomm/fontface.h: Add a bunch of documentation for the new FontFace API 2008-08-18 Jonathon Jongsma * cairomm/scaledfont.h: fix all of the TODOS by providing alternate functions that begin with get_ to provide consistency with other parts of cairomm (and glibmm, etc). 2008-08-14 Jonathon Jongsma * cairomm/context.h: move some text-related typedefs into the fontface header since they're needed for new user font API and that's really where they should be owned. context.h includes fontface.h, so there should not be any breakage for people who were just including context.h * cairomm/enums.h: add user font type to font type enum * cairomm/fontface.cc: * cairomm/fontface.h: add UserFontFace class. This class has a set of callbacks that can be used to do certain things. In order to do this in a flexible way, I have added libsigc++ as a dependency of cairo to achieve this * configure.in: add check for libsigc++ * tests/test-font-face.cc: add tests for UserFontFace 2008-08-15 Jonathon Jongsma * cairomm/scaledfont.h: * cairomm/scaledfont.cc: the static ::create() function took a FontFace by reference rather than by RefPtr, which means the API was essentially unusably broken. So this is an API break, but I don't see any other option. 2008-08-14 Jonathon Jongsma * .gitignore: added new files to ignore * cairomm/fontface.cc: * cairomm/fontface.h: implement the ToyFontFace class * configure.in: * examples/Makefile.am: * examples/text/Makefile.am: Renamed from examples/text-rotate/Makefile.am. * examples/text/text-rotate.cc: Renamed from examples/text-rotate/text-rotate.cc. * examples/text/toy-text.cc: Added. * tests/Makefile.am: * tests/test-font-face.cc: Added. excercise the functionality of ToyFontFace slightly 2008-08-14 Jonathon Jongsma * m4/ax_boost_test_exec_monitor.m4: added this file which was forgotten earlier. I'm not entirely sure if it's necessary, but just in case... 2008-08-13 Jonathon Jongsma * configure.in: post-release bump 2008-08-13 Jonathon Jongsma * NEWS: * configure.in: update for 1.6.2 release 2008-08-13 Jonathon Jongsma * configure.in: fix boost unit test detection (hack stolen from Dodji from nemiver) * tests/Makefile.am: explicitly link against the static unit test lib. This should fix the test build on (at least) Ubuntu Hardy, where previously I was getting an undefined reference to main() 2008-08-13 Jonathon Jongsma * cairomm/enums.h: update to include new surface types. Remove an unnecessary cairo version check since we depend on a higher version of cairo for other stuff anyway 2008-08-13 Jonathon Jongsma * cairomm/exception.cc: * cairomm/exception.h: renamed get_status() to get_status_code() to make the name a little bit more clear 2008-08-09 Armin Burgmeier * MSVC_Net2005/cairomm/cairomm.rc.in: Removed #include "resource.h" since there is no resource.h, and it works well without that include. * MSVC_Net2005/cairomm/Makefile.am: Copy cairommconfig.h from cairomm/, so it is available to the visual studio project. * MSVC_Net2005/cairomm/cairomm.vcproj: Added cairomm/context_surface_win32.cc to the project. * Makefile.am: * configure.in: Adapt build files. 2008-08-09 Armin Burgmeier * cairomm/context_surface_xlib.cc: Check for CAIRO_HAS_XLIB_SURFACE instead of CAIRO_HAS_WIN32_SURFACE. 2008-08-07 Murray Cumming * MSVC/: Renamed to MSVC_Net2008, ready to be patched by Armin or Cedric. 2008-04-25 Jonathon Jongsma * cairomm/context.h: removed extra unused function declarations 2008-04-25 Benjamin Reed * cairomm/Makefile.am, cairomm/context.cc, cairomm/context.h, cairomm/context_private.h, cairomm/context_surface_quartz.cc, cairomm/context_surface_xlib.h, cairomm/context_surface_win32.cc: separate calls to possibly-conflicting platform surface constructors. Bug #15712 == 1.6.0 == 2008-04-11 Jonathon Jongsma * NEWS: * configure.in: update for 1.6.0 release 2008-04-11 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: wrap cairo_format_stride_for_width() as a static function in Cairo::ImageSurface 2008-04-11 Murray Cumming * Add autoheader to autogen.sh, to create cairommconfig.h.in, to fix the build for me. 2008-03-23 Murray Cumming * cairomm/enums.h (FONT_TYPE_ATSUI, FONT_TYPE_QUARTZ): Change the definition of FONT_TYPE_ATSUI from CAIRO_FONT_TYPE_ATSUI to CAIRO_FONT_TYPE_QUARTZ (the same numerical value) and document it as deprecated. The others should be documented too. Added FONT_TYPE_QUARTZ. == 1.5.0 == 2008-03-10 Jonathon Jongsma * configure.in: bump cairo requirement to at least 1.5.10 * NEWS: update for 1.5.0 release 2008-03-10 Jonathon Jongsma * cairomm/Makefile.am: install the new cairommconfig.h header and make sure that the .in file is distributed 2008-03-10 Jonathon Jongsma * cairomm/exception.cc: include to fix the build on solaris which apparently doesn't include string from their exception header (Tim Mooney). Fixes bug #14559 2008-02-19 Tim Mooney * configure.in: Added check, defining HAVE_MATH_H. * cairomm/context.cc: * examples/pdf-surface/main.cc: * examples/png_file/main.cc: * examples/ps-surface/main.cc: * examples/svg-surface/main.cc: * examples/text-rotate/text-rotate.cc: Added includes of math.h to fix the build with Sun Workshop 12. Bug #14558. 2008-01-30 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: add new has_current_point() API to deal with the fact that cairo_get_current_point() changed from a void to a cairo_status_t return type, and we don't necessarily want to throw an exception here or it could break existing applications. But this could be reconsidered 2008-01-30 Jonathon Jongsma * cairomm/xlib_surface.cc: * cairomm/xlib_surface.h: add new get_xrender_format() function (new in 1.5.8) and add missing static create_with_xrender_format() function * docs/reference/Doxyfile.in: add CAIRO_HAS_XLIB_XRENDER_SURFACE feature so that new xrender API shows up in docs 2008-01-30 Jonathon Jongsma * configure.in: bump cairo requirement to 1.5.8 * cairomm/context.cc: * cairomm/context.h: add get_path_extents function, new in 1.5.8 2008-01-30 Jonathon Jongsma * configure.in: enable people with CAIROMM_DEVEL variable set to explicitly deisable automated tests * m4/ax_boost_unit_test_framework.m4: update to slightly newer boost unittest checking scripts 2007-11-10 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: add new PsSurface API: set_eps(), restrict_to_level(), get_levels(), level_to_string() 2007-11-10 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: add Surface::copy_page() and Surface::show_page() 2007-11-10 Jonathon Jongsma * configure.in: bump version and minimum cairo version so that we can start implementing the 1.5.x features == 1.4.6 == 2007-11-10 Jonathon Jongsma * docs/reference/Doxyfile.in: update doxygen config file since my version of doxygen now complains that there are obsolete config keys 2007-11-10 Jonathon Jongsma * NEWS: update news for 1.4.6 release * configure.in: bumped version 2007-08-13 Murray Cumming * cairomm/context.cc: Add #include to fix the build on MacOS. Thanks to Elias N (Bug #11972). == 1.4.4 == 2007-07-21 Murray Cumming * m4/reduced.m4: Added, containing CAIROMM_ARG_ENABLE_API_EXCEPTIONS(). * configure.in: Use CAIROMM_ARG_ENABLE_API_EXCEPTIONS() to add a --enable-api-exceptions=yes/no option. Used to generate a cairomm/cairommconfig.h config file, which defines (or not) CAIROMM_EXCEPTIONS_ENABLED. * cairomm/cairommconfig.h.in: Added, used to generate cairommconfig.h * cairomm/private.cc: * cairomm/private.h: Use ifdef to replace throw_exception() with an empty implementation when exceptions are disabled. This allows cairomm to be built when using CXXFLAGS=-fno-exceptions. 2007-07-14 Jonathon Jongsma * configure.in: post-release version number bump === 1.4.2 === 2007-07-14 Jonathon Jongsma * NEWS: updated for 1.4.2 release * configure.in: bumped version to 1.4.2 2007-06-14 Dave Beckett * configure.in: Update the GENERIC_LIBRARY_VERSION correctly Was: 1:0:0 in 1.2.4 current: interfaces were added, increment to 2 revision: set to zero since current was incremented age: increment since interfaces were added Changed to: 2:0:1 2007-06-14 Murray Cumming * cairomm/refptr.h: Added RefPtr(object, refcount) constructor for use in cast_*(), so that the casted RefPtr shares the same refcount, avoiding an early deletion. I do not like making this constructor public, but I do not see another way. === 1.4.0 === 2007-07-12 Jonathon Jongsma * Makefile.am: add doc-publish target and make release-publish depend on this. This automatically uploads the new API documentation on release * docs/reference/Makefile.am: upload the html documentation and a tarball of the documentation to the cairographics.org site 2007-07-12 Jonathon Jongsma * docs/reference/Makefile.am: hacky workaround to get distcheck to pass 2007-07-10 Jonathon Jongsma * NEWS: Update NEWS for release * configure.in: bump version for release 2007-07-10 Jonathon Jongsma * cairomm/context.cc: add ability to use dynamic casting with the return values from more functions, including: Context::get_target() Context::get_target() const Context::get_source() Context::get_source() const Context::get_group_target() Context::get_group_target() const Context::pop_group() * tests/test-context.cc: a few additional tests to verify the const / non-const versions both work with dynamic casting. 2007-07-10 Jonathon Jongsma * docs/reference/cairomm.css: Improve the documentation style a little bit to make it more readable * docs/reference/Doxyfile.in: build the reference doc for the new QuartzSurface class 2007-07-10 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: add alternate API for set_dash() which takes a std::vector argument instead of the slightly unexpected std::valarray argument * tests/test-context.cc: test that both API work correctly and compile correctly without any problems 2007-07-04 Jonathon Jongsma * tests/test-context.cc: add some tests for matrix transformations and user-to-device coordinate mappings. The matrix transformation 'test' does nothing more than call the functions to excercise them a bit, but it's causing an unexpected exception to be triggered when calling Context::set_matrix(). The odd thing is that exception.what() results in 'success' being printed. This requires further investigation Also used BOOST_CHECK_EQUAL in most places instead of BOOST_CHECK to get more meaningful failure messages. 2007-07-04 Jonathon Jongsma * cairomm/private.cc: add missing 'break;' on the I/O error case statement 2007-07-04 Jonathon Jongsma * cairomm/context.cc: when getting the source pattern of a Cairo::Context, check which type of Pattern it is so that we create the correct C++ wrapper. Without this, RefPtr<>::cast_dynamic() doesn't seem to work as we would expect it to. * tests/test-context.cc: improve the Context::get_source() / Context::set_source () tests now that dynamic casting works correctly 2007-07-04 Jonathon Jongsma * examples/pdf-surface/main.cc: * examples/png_file/main.cc: * examples/ps-surface/main.cc: * examples/svg-surface/main.cc: * examples/text-rotate/text-rotate.cc: * tests/test-context.cc: fix a bunch of minor compile errors when compiling with -Werror 2007-07-04 Jonathon Jongsma * configure.in: enable extra compiler warnings and -Werror if the CAIROMM_DEVEL environment variable is set to 'on'. This caught the following mistake. * cairomm/pattern.cc: forgot to return the ColorStop vector 2007-07-04 Jonathon Jongsma * cairomm/context.cc: fix a FIXME to match the style of ScaledFont::glyph_extents since MSVC (and possibly other compilers) complain when allocating an array on the stack and the size of the array is not a compile-time constante 2007-04-16 Hugo Vincent * Added QuartzSurface for MacOS X (when cairo is built with Quartz support), similar to the existing Win32Surface and XlibSurface. These allow use of platform-specific features and data structures. 2007-03-23 Jonathon Jongsma * Makefile.am: * autogen.sh: * configure.in: * m4/ax_boost_base.m4: * m4/ax_boost_unit_test_framework.m4: Add some basic test infrastructure. It's disabled by default, and must be explicitly enabled by passing --enable-tests to configure (or by setting the CAIROMM_DEVEL environment variable to "on"). It uses the boost unit test framework, but this should not be required unless you've explicitly enabled tests. If tests are enabled, you can easily run them with 'make check' * tests/Makefile.am: * tests/test-context.cc: added the beginning of a test for Cairo::Context. Most of these tests are really very interesting. Basically what I'm trying to do is a) test some basic behaviors, and b) excercise the functionality a little bit. One of the tests currently fails due to a RefPtr::cast_dynamic failure, so I have to see what's going on there. 2007-03-22 Murray Cumming * cairomm/enums.h: Restored FORMAT_RGB16_565 and marked it as deprecated. Note that CAIRO_FORMAT_RGB16_565 has not really been removed from cairo. It has just moved from the enum to a #define in cairo-deprecated. * cairomm/context.cc: * cairomm/context.h: Made get_dash() const. Renamed clip_extents() to get_clip_extents(), to match the other get_*_extents() methods (in Context, if not in other classes), and made it const. Made copy_clip_rectangle_list() const. * cairomm/pattern.cc: * cairomm/pattern.h: Make the RadialGradient::get_radial_circles(), LinearGradient::get_linear_points(), and Gradient::get_color_stops() methods const. Added a non-const method overload of get_surface(). Correc the get_color_stops() implementation to match the declaration. 2007-03-22 Jonathon Jongsma * cairomm/context.cc: Minor comment cleanups * cairomm/pattern.cc: get the gradient stops by reference parameter instead of returning by value. This saves an extra copy of the vector. 2007-03-21 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: * cairomm/enums.h: * cairomm/pattern.cc: * cairomm/pattern.h: * configure.in: Add initial support for new cairo 1.4.x API. It will probably still need quite a bit of work, but I wanted to commit what I have now so that it doesn't keep sitting in my working directory. (Extra note from Murray: This was: - Pattern::create_rgba() - a new method overload with 4 args, including alpha. - SurfacePattern::get_surface() - Gradient::get_color_stops() (with a new ColorStop struct) - LinearGradient::get_linear_points() - RadialGradient::get_radial_circles() - Context::clip_extents() - Context::copy_clip_rectangle_list() - Context::get_dash() - SURFACE_TYPE_OS2 was added - FORMAT_RGB16_565 was removed (but that is not allowed, so I'll fix that.) 2007-02-01 Jonathon Jongsma * configure.in: Fixes for building on Cygwin from yselkowitz@users.sourceforge.net. Closes bug #9726 2007-01-28 Jonathon Jongsma * configure.in: bump rev to 1.2.5 2007-01-28 Jonathon Jongsma * docs/reference/Doxyfile.in: fixes building the cairomm documentation where builddir != srcdir. Patch from yselkowitz@users.sourceforge.net for bug #9727 1.2.4: 2007-01-17 Jonathon Jongsma * NEWS: updated news for 1.2.4 release * configure.in: bumped version to 1.2.4 2006-09-27 Murray Cumming * cairomm/refptr.h: cast_static() and cast_dynamic(): Use the refcount_() accessor instead of the member variable, to avoid compilation errors, as we already do in the templated copy constructor. 1.2.2: 2006-08-21 Jonathon Jongsma * NEWS: update for 1.2.2 * configure.in: bump to next even number (1.2.2) 2006-08-21 Cedric Gustin * cairomm/win32_surface.cc: Explicitly cast Cairo::Format to cairo_format_t. 2006-08-20 Jonathon Jongsma * Makefile.am: fix up the release announcement template to explain what cairomm is at the top of the email before telling where to get it. * configure.in: post-release bump (1.2.1) 1.2.0: 2006-08-20 Jonathon Jongsma * NEWS: Update information about new stuff in 1.2.0 * configure.in: bump the release version number to 1.2.0 and the shared library version number to 1:0:0 since interfaces were changed and added and we're now guaranteeing API/ABI stability 2006-08-20 Jonathon Jongsma * examples/pdf-surface/.cvsignore: * examples/png_file/.cvsignore: * examples/ps-surface/.cvsignore: * examples/svg-surface/.cvsignore: added image files produced by the example programs to .cvsignore 2006-08-19 Jonathon Jongsma * Makefile.am: get rid of the concept of a snapshot. It doesn't really make that much sense for cairomm, honestly, since we're just a simple wrapper library. 2006-08-19 Jonathon Jongsma * MSVC/examples/.cvsignore: * MSVC/examples/Makefile.am: * MSVC/examples/pdf-surface/.cvsignore: * MSVC/examples/pdf-surface/Makefile.am: * MSVC/examples/pdf-surface/pdf-surface.vcproj: * MSVC/examples/png_file/.cvsignore: * MSVC/examples/png_file/Makefile.am: * MSVC/examples/png_file/png_file.vcproj: * MSVC/examples/ps-surface/.cvsignore: * MSVC/examples/ps-surface/Makefile.am: * MSVC/examples/ps-surface/ps-surface.vcproj: * MSVC/examples/svg-surface/.cvsignore: * MSVC/examples/svg-surface/Makefile.am: * MSVC/examples/svg-surface/svg-surface.vcproj: * MSVC/examples/text-rotate/.cvsignore: * MSVC/examples/text-rotate/Makefile.am: * MSVC/examples/text-rotate/text-rotate.vcproj: * MSVC/gendef/.cvsignore: * MSVC/gendef/Makefile.am: * MSVC/gendef/gendef.cc: * MSVC/gendef/gendef.vcproj: added a bunch of MSVC / windows-specific things that got missed last time. 2006-08-18 Jonathon Jongsma * cairomm/win32_surface.cc: * cairomm/win32_surface.h: add some missing win32 API that I had overlooked: cairo_win32_surface_get_dc() and cairo_win32_surface_create_with_dib(), updated documentation for standard Win32Surface::create() function. 2006-08-18 Cedric Gustin * cairomm/context.cc: Define M_PI for MSVC. * cairomm/scaledfont.cc: Allocate glyph_array as a synamic array as MSVC does not like non-const arguments as array size. * examples/pdf-surface/main.cc, examples/png_file/main.cc, examples/ps-surface/main.cc, examples/svg-surface/main.cc, examples/text-rotate/text-rotate.cc: Define M_PI for MSVC. * configure.in, Makefile.am: Generate Makefiles in the MSVC subdirectories. * .cvsignore: Added Eclipse .project to the list of ignored files. * MSVC/*: Added project and resource files for Visual Studio 2005. 2006-08-18 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: API CHANGE: some API was changed to maintain a closer similarity to the underlying cairo API (while also attempting to avoid confusion with the C++ 'new' keyword) in preparation for freezing the cairomm API. Two functions are affected: - Context::clear_path() -> Context::begin_new_path() - Context::new_sub_path() -> Context::begin_new_sub_path() * configure.in: bump the libtool version to indicate API change 2006-08-15 Jonathon Jongsma * cairomm/context.cc: remove another TODO. I looked at cairo_append_path, and it just copies the data from the supplied path and appends that to the current path -- it doesn't modify the passed in path -- so it can stay const. 2006-08-15 Jonathon Jongsma * cairomm/context.h: remove a FIXME that was resolved on the mailing list 2006-07-11 Murray Cumming * cairomm/refptr.h: unref(): Only delete the refcount int when the refcount has reached 0, instead of deleting it every time. Thanks valgrind. 2006-07-11 Murray Cumming * cairomm/refptr.h: From-C-object Constructor: Added documentation explaining how/when to use it and when to do an extra reference(). This will help us, though it should rarely be necessary for an application developer to understand it. Made pCppRefcount_ mutable, so that refcount_() can be a const method so that the templated constructor compiles. Added class documentation to explain why we even want to use this class. 2006-07-05 Jonathon Jongsma * cairomm/refptr.h: copy constructors: initialize the pCppRefcount_ member variable, using a public refcount_() method when necessary to access a different RefPtr<> specialization. 2006-07-11 Murray Cumming * cairomm/refptr.h: Use an int to reference-count the C++ object, and only reference/unreference the object (and hence the underlying C object) when receiving/deleting the C++ object. Without this, we never delete the C++ object. Fixes bug #7442. 2006-07-09 Jonathon Jongsma * NEWS: add NEWS for 1.1.10 release * configure.in: bump version to 1.1.12 2006-07-05 Jonathon Jongsma * Makefile.am: Ooops, I had accidentally removed dependency info for release-publish target 2006-07-05 Murray Cumming * cairomm/context.h: * cairomm/fontface.h: * cairomm/pattern.h: * cairomm/surface.cc: * cairomm/surface.h: * cairomm/xlib_surface.cc: * cairomm/xlib_surface.h: Fix the generic text about reference-counted objects, because we no longer use copy constructors for this. And some pedantic white space changes. 2006-07-05 Murray Cumming * cairomm/scaledfont.cc: * cairomm/scaledfont.h: create(): Make the font_matrix and ctm parameters const (they are now const in the C API too). Maybe the font parameter should be const, but maybe there is a reason that it is not const in the C API. Pass FontOptions by const reference instead of by value. glyph_extents(): Pass the vector by const reference instead of by value. I would prefere to make all the extents() functions use return values instead of output parameters, but I suppose this might be slightly less efficient in some circumstances. 2006-07-05 Murray Cumming * cairomm/cairomm.h: * cairomm/context.h: * cairomm/path.h: * cairomm/scaledfont.h: * cairomm/surface.h: * cairomm/win32_surface.h: * cairomm/xlib_surface.h: Use @ instead of \ for doxygen commands, to be consistent with gtkmm, which uses it because it is the same as JavaDoc, with which some people are already familiar. 2006-07-04 Jonathon Jongsma * Makefile.am: add ability to do snapshot releases to the cairographics.org/snapshots/ directory in addition to official releases * configure.in: bumped the revision to 1.1.10 in preparation for a snapshot release of the 1.2 API * docs/reference/Makefile.am: fixed some distcheck errors 2006-07-04 Jonathon Jongsma * .cvsignore, cairomm/.cvsignore: ignore some autotools files and *.swp files (from vim) 2006-07-04 Jonathon Jongsma * cairomm/scaledfont.cc, cairomm/scaledfont.h: wrap ScaledFont, including new API for cairo 1.2 * cairomm/Makefile.am: add scaledfont.* to list of sources 2006-07-04 Jonathon Jongsma * cairomm/surface.h: Remove comments stating that PDF, PS, and SVG are experimental surfaces. As of 1.2.0, these three surfaces are officially supported by the cairo library. 2006-07-04 Jonathon Jongsma * cairomm/xlib_surface.h: add a bit more documentation for the new XlibSurface API 2006-07-04 Jonathon Jongsma * cairomm/surface.cc, cairomm/surface.h: added SvgSurface::get_versions() and SvgSurface::version_to_string() API. They're implemented as static members right now. 2006-06-30 Jonathon Jongsma * configure.in: bumped cairomm version to 0.7.0 and bumped cairo requirement to 1.2.0 2006-06-30 Jonathon Jongsma * cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new get_height() and get_width() API to XlibSurface 2006-06-27 Jonathon Jongsma * cairomm/enums.h: Added enum types to support the new get_type() and SVG Version API * cairomm/fontface.cc, cairomm/fontface.h: add new get_type() API * cairomm/pattern.cc, cairomm/pattern.h: add new get_type() API * cairomm/surface.cc, cairomm/surface.h: add new get_type() API and SvgSurface::restrict_to_version() API 2006-06-26 Jonathon Jongsma * cairomm/surface.cc, cairomm/surface.h: add new PsSurface and PdfSurface API: set_size, dsc_comment, dsc_begin_setup, dsc_begin_page_setup * cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new XlibSurface API: get_display, get_drawable, get_screen, get_visual, get_depth 2006-06-26 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: Added new Surface and ImageSurface API from 1.1.x snapshots 2006-06-23 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: added Context::new_sub_path() and new push/pop group API. 2006-06-23 Jonathon Jongsma * cairomm/enums.h: fix stupid error from last commit 2006-06-23 Jonathon Jongsma * cairomm/enums.h: add new FORMAT_RGB16_565 format 2006-06-12 Jonathon Jongsma * configure.in: bump required cairo version to >= 1.1.7 * cairomm/surface.cc, cairomm/surface.h: update to new cairo API cairo_surface_set_fallback_resolution 2006-05-10 Jonathon Jongsma * docs/reference/cairomm.css: minor documentation stylesheet fix 2006-05-08 Jonathon Jongsma * cairomm/context.h: * cairomm/path.h: added some preliminary documentation explaining that the caller is responsible for freeing Path objects returned from Context::copy_path() and Context::copy_path_flat(). 2006-05-08 Jonathon Jongsma * cairomm/cairomm.h: Add doxygen API introduction test here. * docs/reference/Doxyfile.in: * docs/reference/Makefile.am: * docs/reference/cairomm-header.html: * docs/reference/cairomm.css: * docs/reference/introduction.h: fix up some documentation presentation issues that turned up with newer versions of doxygen. 2006-05-08 Jonathon Jongsma * configure.in: remove check for perl since we're not using any of the gmmproc stuff for cairomm * docs/reference/Makefile.am: add documentation dependency on all of the headers in the cairomm/ directory so that if a header changes the documentation will be rebuilt. 2006-04-20 Murray Cumming * cairomm/context.cc: * cairomm/context.h: mask(pattern) and mask(surface): Make the parameter const, because I am fairly sure that the C function does not change it. 2006-04-06 Jonathon Jongsma * Makefile.am: Add a brief description of cairomm to the release announcement template 2006-04-04 Jonathon Jongsma * docs/reference/Doxyfile.in: * docs/reference/Makefile.am: A couple minor build fixes to make distcheck happy 2006-04-04 Jonathon Jongsma * NEWS: add news for 0.6.0 release * configure.in: bump version to 0.6.0 2006-04-03 Jonathon Jongsma * examples/text-rotate/text-rotate.cc: protect PNG functions with #ifdef in case cairo wasn't compiled with PNG support 2006-03-31 Danilo Piazzalunga * Makefile.am: * docs/Makefile.am: * docs/reference/Makefile.am: add convenience targets for cleaning and rebuilding documentation (doc-clean and doc-rebuild). 2006-03-30 Danilo Piazzalunga * configure.in: enable documentation even if doxygen and/or graphviz are missing, so the docs will be installed when building a release. * docs/reference/Makefile.am: don't remove html directory with `make clean`, so that users of the tarball releases don't destroy the pre-built documentation when running make clean. Change to maintainer-clean 2006-03-29 Jonathon Jongsma * configure.in: added tests for doxygen and graphviz which displays a warning if the user has --enable-docs set but doesn't have doxygen or graphviz installed. 2006-03-28 Danilo Piazzalunga * cairomm/enums.h: Stop using CAIRO_EXTEND_PAD, as it only exists in the 1.1.1 development branch. 2006-03-14 Jonathon Jongsma * configure.in: * examples/Makefile.am: * examples/text-rotate/.cvsignore: * examples/text-rotate/Makefile.am: * examples/text-rotate/text-rotate.cc: Added another basic example, borrowed from a test-case in cairo. This one is just a simple example of using text in cairomm 2006-03-14 Jonathon Jongsma * cairomm/fontface.h: * cairomm/fontoptions.h: * cairomm/path.h: * cairomm/pattern.h: include instead of since it didn't want to compile on windows without these * cairomm/win32_surface.cc: * cairomm/win32_surface.h: Move the include of cairo-win32.h from the source file to the header since the declaration of create() needs the HDC type definition. With these changes, cairomm should compile the Win32Surface cleanly with mingw on Microsoft Windows 2006-03-12 Danilo Piazzalunga * autogen.sh: Allow overriding aclocal, automake, autoconf and libtoolize using environment variables. Taken from cairo's autogen.sh. 2006-03-06 Jonathon Jongsma * cairomm/*.cc, *.h: add vim modelines to set proper indentation for cairomm when using vim 2006-02-28 Jonathon Jongsma * cairomm/context.cc: * cairomm/context.h: * cairomm/enums.h: * cairomm/fontoptions.cc: * cairomm/fontoptions.h: * cairomm/pattern.cc: * cairomm/pattern.h: * cairomm/surface.h: wrapped all of the enum types with cairomm types within the Cairo namespace, so now (for example) the values for Cairo::Format are something like Cairo::FORMAT_ARGB32 instead of the base cairo types like CAIRO_FORMAT_ARGB_32. * examples/png_file/main.cc: fixed example to work with the new namespaced enum types 2006-02-27 Jonathon Jongsma * cairomm/exception.h: * docs/reference/Doxyfile.in: * docs/reference/Makefile.am: hide some of the private types and functions from the Doxygen API reference documentation 2006-02-27 Stefan Kersten * cairomm/surface.cc: fix an extra trailing parentheses in GlitzSurface::create() 2006-02-22 Danilo Piazzalunga * examples/README: Write some basic information about each example 2006-02-22 Jonathon Jongsma * docs/reference/Makefile.am: add target for publishing the API reference to cairographics.org 2006-02-20 Danilo Piazzalunga * Makefile.am: Include MAINTAINERS in distribution. Fixes Bug #5982 2006-02-17 Danilo Piazzalunga * COPYING: Use the text from the Library GPL 2.0, which is the actual license of cairomm. Fixes Bug #5934 2006-02-17 Danilo Piazzalunga * autogen.sh: * cairomm/cairomm.h: * cairomm/context.cc: * cairomm/context.h: * cairomm/enums.h: * cairomm/exception.cc: * cairomm/exception.h: * cairomm/fontface.cc: * cairomm/fontface.h: * cairomm/fontoptions.cc: * cairomm/fontoptions.h: * cairomm/path.cc: * cairomm/path.h: * cairomm/pattern.cc: * cairomm/pattern.h: * cairomm/private.cc: * cairomm/private.h: * cairomm/refptr.h: * cairomm/surface.cc: * cairomm/surface.h: * cairomm/win32_surface.cc: * cairomm/win32_surface.h: * cairomm/xlib_surface.cc: * cairomm/xlib_surface.h: Update FSF's postal address in GPL/LGPL comment headings. Fixes Bug #5933 2006-02-17 Danilo Piazzalunga * examples/*/.cvsignore: Bug #5927: added .cvsignore files to examples directories 2006-02-17 Danilo Piazzalunga * AUTHORS: * INSTALL: * README: * cairomm/exception.cc: * cairomm/exception.h: Remove lingering references to libxml++ 2006-02-17 Danilo Piazzalunga * configure.in: Bug #5929: Output files in docs subdir only if --enable-docs is set. This prevents configure from generating files which are not cleaned up when --disable-docs is used. Use AC_CONFIG_FILES and AC_OUTPUT as recommended. 2006-02-16 Jonathon Jongsma * docs/reference/Doxyfile.in: * docs/reference/cairomm.css: added some style customisations to the API doc so that it fits in with the overall Cairo style a bit better 2006-02-16 Jonathon Jongsma * AUTHORS: * MAINTAINERS: Add my information to the Maintainers and authors file 0.5.0: 2006-02-09 Jonathon Jongsma * docs/reference/Makefile.am: added a 'html' target to satisfy the dist rule 2006-02-08 Jonathon Jongsma * cairomm/context.h: Added a lot of documentation for the Cairo::Context class taken from the cairo docs. It's not complete, but the basics are all covered now. * docs/reference/Makefile.am: make use of existing Makefile variable * NEWS: update for 0.5.0 release 2006-02-07 Jonathon Jongsma * Makefile.am: add docs/ subdir * configure.in: added an --enable-docs switch to the configure script (enabled by default), and added AC_OUTPUT directives for the documentation Makefiles, etc. * docs/.cvsignore: * docs/Makefile.am: * docs/reference/.cvsignore: * docs/reference/Doxyfile.in: * docs/reference/Makefile.am: * docs/reference/introduction.h: Added infrastructure to build and install the API documentation for cairomm (based on libxml++ makefiles). 2006-01-27 Jonathon Jongsma * .cvsignore: * cairomm/.cvsignore: update .cvsignore files * cairomm/surface.cc: * cairomm/surface.h: change Surface::create function to take a RefPtr instead of Surface& 2006-01-27 Murray Cumming * examples/pdf-surface/Makefile.am: Remove extra LDADD that was breaking the distcheck. 2006-01-26 Murray Cumming * examples/ps-surface/main.cc: * examples/svg-surface/main.cc: Correct the text of the messages. 2006-01-25 Jonathon Jongsma * configure.in: * examples/Makefile.am: * examples/pdf-surface/: * examples/ps-surface/: * examples/svg-surface/: add examples for additional surfaces 2006-01-24 Murray Cumming * cairomm/Makefile.am: * cairomm/surface.cc: * cairomm/surface.h: * cairomm/xlib_surface.cc: * cairomm/xlib_surface.h: * cairomm/win32_surface.cc: * cairomm/win32_surface.h: Moved XlibSurface and Win32Surface into separate files, not #included by the main cairomm.h file, so that developers do not need to suffer the Xlib.h or Windows namespace pollution unless they really need to. For instance, this fixes the gtkmm 2.9 build which was broken by the Display struct in Xlib.h. 2006-01-15 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: backwards-incompatible API change for the Surface types. Cairo::Surface is now a base class for all of the other surface types, and should not be used directly. New Surface types include ImageSurface, XlibSurface, Win32Surface, PdfSurface, PsSurface, SvgSurface, and GlitzSurface. Modified Surface::write_to_png() and Surface::write_to_png_stream() so that they throw exceptions like the other functions instead of returning a cairo_status_t value. Added API documentation for all Surface classes and all member functions of the Surface class heirarchy. * examples/png_file/Makefile.am: added generated PNG file to CLEANFILES * examples/png_file/main.cc: updated the PNG example to use the new ImageSurface class instead of using the Surface class directly. * cairomm/*: Renamed the Cairo::Status type to Cairo::ErrorStatus since it conflicts with a #define Status in XLib and is not used exposed in the API anyway. 2006-01-06 Jonathon Jongsma * cairomm/surface.cc: * cairomm/surface.h: Added implementation of write_to_png() and write_to_png_stream() when PNG support is available in the base cairo library * examples/png_file/*: Added an example of creating an image surface and saving it to a png image file * examples/Makefile.am: add new example directory to SUBDIRS list * configure.in: added output declaration for examples/png_file/Makefile * examples/makefile.am_fragment: fix leftover libxml boilerplate 2006-01-03 Jonathon Jongsma * cairomm/surface.cc: added missing implementations for reference() and unreference() functions 0.4.0: 2005-12-17 Murray Cumming * cairomm/Makefile.am: * cairomm/refptr.h: Add shared reference-counting smartpointer, using the reference-count in the object. A copy of the tried and tested glibmm RefPtr. * cairomm/context.cc: * cairomm/context.h: * cairomm/fontface.cc: * cairomm/fontface.h: * cairomm/pattern.cc: * cairomm/pattern.h: * cairomm/surface.cc: * cairomm/surface.h: Make constructors protected and add public static create() methods that return instances in RefPtr<>s. This allows reference-counted objects to be clearly const or non-const, and allows casting between related types. 2005-12-17 Murray Cumming * cairomm/context.cc: * cairomm/context.h: Change set_dash(void) to unset_dash(). Change rotate_deg() to rotate_degrees(). Change identity_matrix() to set_identity_matrix(). Change new_path() to clear_path(). * cairomm/fontface.cc: * cairomm/fontface.h: Comment-out get/set_user_data(), because it seems useless. 0.3.0: 2005-12-08 Murray Cumming * cairomm/pattern.cc: * cairomm/pattern.h: Create a hierarchy of pattern classes, as suggested by the C documentation, because not all functions are meaningful for all pattern types. 2005-12-07 Murray Cumming * cairomm/context.cc: * cairomm/context.h: font_extents(), stroke_extents(), glyph_extents(), fill_extents(): Add get_ prefix and make them const. 2005-12-07 Murray Cumming * cairomm/context.cc: * cairomm/context.h: Add typedef for Matrix, though we probably want to derive a class with a C++-like matrix API, with operator overloading. 2005-12-07 Murray Cumming * cairomm/exception.cc: * cairomm/exception.h: Rename to logic_error, because the cairo documentation says that most of them are programming errors, not runtime errors. Derive from std::logic_error because of this. * cairomm/private.cc: * cairomm/private.h: Throw std::bad_alloc for memory errors, and std::io_base::failure for read/write runtime errors, as suggested by the cairo language-binding documentation. 2005-12-07 Murray Cumming * cairomm/context.cc: * cairomm/fontoptions.cc: * cairomm/surface.cc: Check for errors in constructors, as per the error-handling advice in the language bindings section of the cairo documentation. 2005-12-07 Murray Cumming * cairomm/context.cc: * cairomm/context.h: Change mask_surface() to mask() and set_source_surface() to set_source(), as per the method overloading advice in the language bindings section of the cairo documentation. 0.2.0: 2005-12-02 Murray Cumming * cairomm/cairomm.h: Put sensible stuff in here, instead of my copy/paste stuff from libxml++. * cairomm/context.cc: * cairomm/context.h: * cairomm/enums.h: * cairomm/exception.cc: * cairomm/exception.h: * cairomm/fontface.cc: * cairomm/fontface.h: * cairomm/fontoptions.cc: * cairomm/fontoptions.h: * cairomm/path.cc: * cairomm/path.h: * cairomm/pattern.cc: * cairomm/pattern.h: * cairomm/private.cc: * cairomm/private.h: * cairomm/surface.cc: * cairomm/surface.h: Add LGPL comment headings. cairomm-1.10.0/PaxHeaders.11012/MAINTAINERS0000644000175000017500000000005011561715437015741 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MAINTAINERS0000644000175000017500000000027711561715437016163 0ustar00murraycmurrayc00000000000000Please use the mailing list (cairo@cairographics.org) rather than emailing developers directly. Murray Cumming Email: murrayc@murrayc.com Jonathon Jongsma Email: jonathon.jongsma@gmail.com cairomm-1.10.0/PaxHeaders.11012/configure.ac0000644000175000017500000000005011561716303016523 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/configure.ac0000644000175000017500000001353011561716303016741 0ustar00murraycmurrayc00000000000000## Copyright (c) 2009 Openismus GmbH ## ## This file is part of cairomm. ## ## cairomm is free software: you can redistribute it and/or modify it ## under the terms of the GNU Lesser General Public License as published ## by the Free Software Foundation, either version 2.1 of the License, ## or (at your option) any later version. ## ## cairomm is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## See the GNU Lesser General Public License for more details. ## ## You should have received a copy of the GNU Lesser General Public License ## along with this library. If not, see . AC_INIT([cairomm], [1.10.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=cairomm], [cairomm], [http://www.cairographics.org/cairomm/]) AC_PREREQ([2.62]) AC_CONFIG_SRCDIR([cairomm/cairomm.h]) AC_CONFIG_AUX_DIR([build]) AC_CONFIG_MACRO_DIR([build]) AC_CONFIG_HEADERS([build/config.h cairommconfig.h]) AM_INIT_AUTOMAKE([1.10 -Wno-portability no-define nostdinc tar-pax]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) AM_MAINTAINER_MODE AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I ]) MM_PREREQ([0.8]) MM_INIT_MODULE([cairomm-1.0]) MM_CONFIG_DOCTOOL_DIR([docs]) # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html AC_SUBST([CAIROMM_SO_VERSION], [5:0:4]) AC_PROG_CXX AC_DISABLE_STATIC AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL PKG_PROG_PKG_CONFIG AC_SUBST([CAIROMM_MODULES], ['cairo >= 1.10.0 sigc++-2.0']) cairomm_allmodules=$CAIROMM_MODULES CAIROMM_INSTALL_PC='data/cairomm-1.0.pc' for cairomm_mod in ft pdf png ps svg xlib xlib-xrender \ win32 win32-font quartz quartz-font quartz-image do PKG_CHECK_EXISTS([cairo-$cairomm_mod], [ cairomm_allmodules="$cairomm_allmodules cairo-$cairomm_mod" CAIROMM_INSTALL_PC="$CAIROMM_INSTALL_PC data/cairomm-$cairomm_mod-1.0.pc" ]) done AC_SUBST([CAIROMM_INSTALL_PC]) PKG_CHECK_MODULES([CAIROMM], [$cairomm_allmodules]) MM_ARG_ENABLE_DOCUMENTATION MM_ARG_WITH_TAGFILE_DOC([libstdc++.tag], [mm-common-libstdc++]) MM_ARG_WITH_TAGFILE_DOC([libsigc++-2.0.tag], [sigc++-2.0]) AC_LANG([C++]) MM_ARG_ENABLE_WARNINGS([CAIROMM_WXXFLAGS], [-Wall], [-pedantic -Wall -Wextra]) AC_ARG_ENABLE([tests], [AS_HELP_STRING([--enable-tests], [enable automated tests [default=no]])], [ENABLE_TESTS=$enableval], [ENABLE_TESTS=no]) BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB= AS_IF([test "x$ENABLE_TESTS" = xyes], [ ####################################################### #boost build system sucks no end. #it is damn hard to detect the version of boost #that is installed. All that because our friends of #the boost project don't want to integrate to autofoo. #So we resort to hugly hacks to detect the version of #boost that is installed. ####################################################### AX_BOOST_BASE([1.33.1]) AX_BOOST_UNIT_TEST_FRAMEWORK dnl AX_BOOST_BASE defines a --with-boost[=DIR] option that sets dnl $ac_boost_path as a custom boost prefix, so use that if it was specified AS_IF([test "x$ac_boost_path" != x], [for i in "$ac_boost_path/lib/libboost_unit_test_framework.a" \ "$ac_boost_path/lib/libboost_unit_test_framework-st.a" \ "$ac_boost_path/libboost_unit_test_framework.a" \ "$ac_boost_path/libboost_unit_test_framework-st.a" do AS_IF([test -f "$i"], [BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB=$i; break]) done], [for i in /usr/lib/libboost_unit_test_framework-st.a \ /usr/lib/libboost_unit_test_framework.a \ /usr/lib64/libboost_unit_test_framework-st.a \ /usr/lib64/libboost_unit_test_framework.a do AS_IF([test -f "$i"], [BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB=$i; break]) done]) AS_IF([test "x$BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB" != x], [AC_MSG_NOTICE([support of automated tests enabled])], [AC_MSG_ERROR([Tried to enable unit tests, but could not find Boost Unit Test framework static library candidate. You can specify a custom location using --with-boost=/path/to/lib])]) ], [ AC_MSG_NOTICE([disabled support of automated tests]) ]) AC_SUBST([BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB]) AM_CONDITIONAL([AUTOTESTS], [test "x$ENABLE_TESTS" = xyes]) CAIROMM_ARG_ENABLE_API_EXCEPTIONS AC_CONFIG_FILES([Makefile cairomm/Makefile tests/Makefile examples/Makefile docs/Makefile docs/reference/Doxyfile data/cairomm-1.0.pc data/cairomm-ft-1.0.pc data/cairomm-pdf-1.0.pc data/cairomm-png-1.0.pc data/cairomm-ps-1.0.pc data/cairomm-quartz-1.0.pc data/cairomm-quartz-font-1.0.pc data/cairomm-quartz-image-1.0.pc data/cairomm-svg-1.0.pc data/cairomm-win32-1.0.pc data/cairomm-win32-font-1.0.pc data/cairomm-xlib-1.0.pc data/cairomm-xlib-xrender-1.0.pc MSVC_Net2005/cairomm/cairomm.rc MSVC_Net2008/cairomm/cairomm.rc MSVC_Net2010/cairomm/cairomm.rc]) AC_CONFIG_COMMANDS([MSVC_Net2005/cairomm/cairommconfig.h], [cp -f cairommconfig.h MSVC_Net2005/cairomm/cairommconfig.h]) AC_CONFIG_COMMANDS([MSVC_Net2008/cairomm/cairommconfig.h], [cp -f cairommconfig.h MSVC_Net2008/cairomm/cairommconfig.h]) AC_CONFIG_COMMANDS([MSVC_Net2010/cairomm/cairommconfig.h], [cp -f cairommconfig.h MSVC_Net2010/cairomm/cairommconfig.h]) AC_OUTPUT cairomm-1.10.0/PaxHeaders.11012/INSTALL0000644000175000017500000000005011561716335015273 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/INSTALL0000644000175000017500000003633211561716335015516 0ustar00murraycmurrayc00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. cairomm-1.10.0/PaxHeaders.11012/docs0000644000175000017500000000005011561716653015120 xustar000000000000000020 atime=1304927659 20 ctime=1304927659 cairomm-1.10.0/docs/0000755000175000017500000000000011561716653015411 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/docs/PaxHeaders.11012/doxygen.css0000644000175000017500000000005011561716326017361 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/doxygen.css0000644000175000017500000000641111561716326017577 0ustar00murraycmurrayc00000000000000/* GNOME C++ bindings Doxygen style */ html, body { background: #FFFFFF; color: #222222; margin: 0; } body { font: normal 90%/150% sans-serif; padding: 1.5em; min-width: 28em; } table { font-size: inherit; } img { border-style: none; } address img { vertical-align: middle; } h1 { font-size: 150%; line-height: 120%; text-align: center; } h2 { font-size: 120%; } h3 { font-size: 100%; } h1 + h3 { text-align: center; } .navpath { display: none; } caption { font-weight: bold; } p, dl { margin: 0.75em 0; } .center { text-align: center; } div.qindex { width: 100%; line-height: 140%; background-color: #E8EEF2; border: 1px solid #84B0C7; text-align: center; margin: 0.2em; padding: 0.2em; } a { color: #153788; font-weight: normal; text-decoration: none; } .contents a:visited { color: #1B77C5; } a:hover { text-decoration: underline; } a.el, a.qindex { font-weight: bold; } dl.el { margin-left: -1.5em; } code, .fragment { font-family: monospace, fixed; } pre.fragment { background-color: #EEEEFF; border: 1px solid #AAAAFF; padding: 0.5em; margin: 0.375em 0.75em 0.375em 0.2em; } div.ah { background-color: #000000; color: #FFFFFF; font-weight: bold; margin: 0.2em 0; } .indexkey, .indexvalue { background-color: #E8EEF2; border: 1px solid #CCCCCC; margin: 0.2em 0; padding: 0.2em 0.75em; } .indexkey { font-weight: bold; } .memlist { background-color: #F0F0F0; } span.keyword { color: #008000; } span.keywordtype { color: #604020; } span.keywordflow { color: #E08000; } span.comment { color: #800000; } span.preprocessor { color: #806020; } span.stringliteral { color: #002080; } span.charliteral { color: #008080; } .tiny { font-size: 80%; } hr { height: 0; border: none; border-top: 1px solid #666666; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #FAFAFA; border: none; margin: 0.375em; padding: 0.125em 0 0 0.75em; } .mdescLeft, .mdescRight { padding: 0 0.75em 0.375em; color: #555555; } .memItemLeft, .memItemRight, .memTemplParams { border-top: 1px solid #CCCCCC; } .memTemplParams { color: #606060; } .memtemplate { color: #606060; font-size: 90%; font-weight: normal; margin-left: 0.2em; } .memnav { background-color: #E8EEF2; border: 1px solid #84B0C7; text-align: center; margin: 0.2em 1em 0.2em 0; padding: 0.2em; } .memitem { margin: 0.5em 0; padding: 0; } .memname { white-space: nowrap; font-weight: bold; line-height: 120%; } .memproto, .memdoc { border: 1px solid #84B0C7; } .memproto { padding: 0; background-color: #D5E1E8; font-weight: bold; -webkit-border-top-left-radius: 1ex; -webkit-border-top-right-radius: 1ex; -moz-border-radius-topleft: 1ex; -moz-border-radius-topright: 1ex; } .memdoc { padding: 0.2em 0.5em; background-color: #EEF3F5; border-top-width: 0; -webkit-border-bottom-left-radius: 1ex; -webkit-border-bottom-right-radius: 1ex; -moz-border-radius-bottomleft: 1ex; -moz-border-radius-bottomright: 1ex; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; white-space: nowrap; } .paramname em { font-style: normal; } cairomm-1.10.0/docs/PaxHeaders.11012/Makefile.in0000644000175000017500000000005011561716335017237 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/Makefile.in0000644000175000017500000005144311561716335017462 0ustar00murraycmurrayc00000000000000# Makefile.in generated by automake 1.10.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(dist_noinst_DATA) $(dist_reference_DATA) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/build/doc-reference.am \ $(top_srcdir)/cairomm/filelist.am @DIST_DOCTOOLS_TRUE@am__append_1 = $(MMDOCTOOLDIR)/doc-postprocess.pl $(MMDOCTOOLDIR)/doc-install.pl $(MMDOCTOOLDIR)/tagfile-to-devhelp2.xsl $(MMDOCTOOLDIR)/doxygen.css subdir = docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/ax_boost_base.m4 \ $(top_srcdir)/build/ax_boost_unit_test_framework.m4 \ $(top_srcdir)/build/libtool.m4 \ $(top_srcdir)/build/ltoptions.m4 \ $(top_srcdir)/build/ltsugar.m4 \ $(top_srcdir)/build/ltversion.m4 \ $(top_srcdir)/build/lt~obsolete.m4 \ $(top_srcdir)/build/reduced.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/build/config.h \ $(top_builddir)/cairommconfig.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(referencedir)" dist_referenceDATA_INSTALL = $(INSTALL_DATA) DATA = $(dist_noinst_DATA) $(dist_reference_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_FLAGS = @ACLOCAL_FLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_LDFLAGS = @BOOST_LDFLAGS@ BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@ BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB = @BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB@ CAIROMM_API_VERSION = @CAIROMM_API_VERSION@ CAIROMM_CFLAGS = @CAIROMM_CFLAGS@ CAIROMM_INSTALL_PC = @CAIROMM_INSTALL_PC@ CAIROMM_LIBS = @CAIROMM_LIBS@ CAIROMM_MAJOR_VERSION = @CAIROMM_MAJOR_VERSION@ CAIROMM_MICRO_VERSION = @CAIROMM_MICRO_VERSION@ CAIROMM_MINOR_VERSION = @CAIROMM_MINOR_VERSION@ CAIROMM_MODULES = @CAIROMM_MODULES@ CAIROMM_MODULE_NAME = @CAIROMM_MODULE_NAME@ CAIROMM_SO_VERSION = @CAIROMM_SO_VERSION@ CAIROMM_VERSION = @CAIROMM_VERSION@ CAIROMM_WXXFLAGS = @CAIROMM_WXXFLAGS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DOCINSTALL_FLAGS = @DOCINSTALL_FLAGS@ DOT = @DOT@ DOXYGEN = @DOXYGEN@ DOXYGEN_TAGFILES = @DOXYGEN_TAGFILES@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MMDOCTOOLDIR = @MMDOCTOOLDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XSLTPROC = @XSLTPROC@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ cairomm_cc = \ context.cc \ context_surface_quartz.cc \ context_surface_win32.cc \ context_surface_xlib.cc \ device.cc \ exception.cc \ fontface.cc \ fontoptions.cc \ matrix.cc \ path.cc \ pattern.cc \ private.cc \ quartz_font.cc \ quartz_surface.cc \ region.cc \ scaledfont.cc \ surface.cc \ win32_font.cc \ win32_surface.cc \ xlib_surface.cc cairomm_public_h = \ cairomm.h \ context.h \ device.h \ enums.h \ exception.h \ fontface.h \ fontoptions.h \ matrix.h path.h \ pattern.h \ quartz_font.h \ quartz_surface.h \ refptr.h \ region.h \ scaledfont.h \ surface.h \ types.h \ win32_font.h \ win32_surface.h \ xlib_surface.h cairomm_private_h = \ context_private.h \ private.h book_name = $(CAIROMM_MODULE_NAME) doc_input = $(addprefix $(top_srcdir)/cairomm/,$(cairomm_public_h)) pubdocbase = http://www.cairographics.org/documentation/ htmlrefpub = $(pubdocbase)cairomm/reference # Function: $(call vpath_listall,PATTERN ...) # Get all filenames which match a PATTERN from the list. Look for files # relative to either the current directory or $(srcdir). Strip $(srcdir)/ # again before returning and remove any duplicates. vpath_srclist = $(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/,$(1)))) vpath_listall = $(sort $(wildcard $(1)) $(if $(srcdir:.=),$(vpath_srclist))) # Installation directories. libdocdir = $(datarootdir)/doc/$(book_name) referencedir = $(libdocdir)/reference htmlrefdir = $(referencedir)/html devhelpdir = $(datadir)/devhelp/books/$(book_name) @ENABLE_DOCUMENTATION_FALSE@doc_inst_targets = @ENABLE_DOCUMENTATION_TRUE@doc_inst_targets = install-htmlref install-devhelp @ENABLE_DOCUMENTATION_FALSE@doc_inst_files = @ENABLE_DOCUMENTATION_TRUE@doc_inst_files = $(doxytagfile) @ENABLE_DOCUMENTATION_FALSE@doc_dist_files = $(am__append_1) @ENABLE_DOCUMENTATION_TRUE@doc_dist_files = $(devhelpfile) $(call \ @ENABLE_DOCUMENTATION_TRUE@ vpath_listall,$(htmlref_patterns)) \ @ENABLE_DOCUMENTATION_TRUE@ $(am__append_1) dist_reference_DATA = $(strip $(doc_inst_files)) dist_noinst_DATA = $(strip $(doc_dist_files)) doc-install.pl \ doc-postprocess.pl tagfile-to-devhelp2.xsl \ reference/cairomm.css reference/cairomm-header.html DISTCLEANFILES = $(doc_outdir)/doxygen.log MAINTAINERCLEANFILES = $(doxytagfile) $(devhelpfile) $(doc_outdir)/html/* # The generic bit of the doc-install.pl command line. doc_install_cmd = $(doc_install) --verbose --mode=0644 # Transform $(datarootdir) into a URI to match MM_ARG_WITH_TAGFILE_DOC(). datarootdir_esc = $(subst $(subst ,, ),%20,$(subst \,/,$(datarootdir))) docdir_base_uri = file:///$(patsubst /%,%,$(datarootdir_esc:/=))/doc # The command and options used to install the files from the HTML reference # documentation. The $(subst) magic translates external tag references from # absolute to relative paths if the destination is on the local file system # and installed under the same prefix as the package being built. htmlref_relinst = $(subst @$(docdir_base_uri)/,@../../../,$(DOCINSTALL_FLAGS)) htmlref_install = $(doc_install_cmd) $(htmlref_relinst) # The command and options used to install the Devhelp file. devhelp_install = $(doc_install_cmd) --book-base='$(htmlrefdir:/=)' # Helper variables to replicate each pattern with a $(srcdir)/ prefix. # Also add quoting to prevent the shell from expanding the patterns. htmlref_patterns_dup = $(foreach item,$(htmlref_patterns),'$(item)' '$(srcdir)/$(item)') htmlref_patterns_quote = $(patsubst %,'%',$(htmlref_patterns)) htmlref_patterns_vpath = $(if $(srcdir:.=),$(htmlref_patterns_dup),$(htmlref_patterns_quote)) # Expand to a list of -name 'PATTERN' arguments for use with 'find'. htmlref_find_patterns = $(patsubst %,-name '%' -o,$(notdir $(htmlref_patterns))) -false # The parameters to the Doxygen-to-Devhelp XSLT script dh_xsl_params = --stringparam book_title '$(book_title)' \ --stringparam book_name '$(book_name)' \ --stringparam book_base html # Generated configuration files which, when updated, should cause the # reference documentation to be rebuilt. doc_config_deps = $(CONFIG_HEADER) $(srcdir)/$(doc_config).in $(srcdir)/Makefile.in @MAINTAINER_MODE_FALSE@doc_dependencies = # Regenerate the documentation automatically only in maintainer mode. # Depend on the generated configuration header files to trigger a rebuild # if a configuration value changed. The configuration header files only # have their timestamp modified when the content actually changed, which # is not the case for any other files generated by configure. @MAINTAINER_MODE_TRUE@doc_dependencies = $(doc_config_deps) $(doc_input) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cairomm/filelist.am $(top_srcdir)/build/doc-reference.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_referenceDATA: $(dist_reference_DATA) @$(NORMAL_INSTALL) test -z "$(referencedir)" || $(MKDIR_P) "$(DESTDIR)$(referencedir)" @list='$(dist_reference_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dist_referenceDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(referencedir)/$$f'"; \ $(dist_referenceDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(referencedir)/$$f"; \ done uninstall-dist_referenceDATA: @$(NORMAL_UNINSTALL) @list='$(dist_reference_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(referencedir)/$$f'"; \ rm -f "$(DESTDIR)$(referencedir)/$$f"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) all-local installdirs: for dir in "$(DESTDIR)$(referencedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dist_referenceDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_referenceDATA uninstall-local .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool distclean distclean-generic distclean-libtool \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-data-local \ install-dist_referenceDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-dist_referenceDATA uninstall-local # The name of the sub-directory where the generated documentation # will be placed. doc_outdir ?= reference # The name of the Doxygen configuration file. doc_config ?= $(doc_outdir)/Doxyfile # The base URL where the online documentation for C++ binding modules # is located, including the trailing slash. pubdocbase ?= http://library.gnome.org/devel/ # The URL of the module's online HTML reference documentation, which # may or may not end in a trailing slash. htmlrefpub ?= $(pubdocbase)$(PACKAGE_TARNAME)/unstable/ # The title of the generated Devhelp book. book_title ?= $(PACKAGE_NAME) Reference Manual # A list of wildcard patterns matching the files from the HTML directory # generated by Doxygen which should be distributed and installed. htmlref_patterns ?= $(addprefix $(doc_outdir)/html/*.,css gif html png) # Locations of utilities shipped with glibmm. Made overridable # in case the installed utilities cannot be used for some reason. doc_postprocess ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-postprocess.pl" doc_install ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-install.pl" tagfile_to_devhelp2 ?= "$(MMDOCTOOLDIR)/tagfile-to-devhelp2.xsl" # Names of the main output files. doxytagfile ?= $(doc_outdir)/$(book_name).tag devhelpfile ?= $(doc_outdir)/$(book_name).devhelp2 # Explicitly depend on the files to be distributed or installed. all-local: $(doc_inst_files) $(doc_dist_files) # Hook up custom rules for translating references to external documentation # to the actual location at install time. install-data-local: $(doc_inst_targets) # Hook up corresponding custom uninstall rules. uninstall-local: $(addprefix un,$(doc_inst_targets)) # Install the HTML reference documentation files with just one invocation # of doc-install.pl to speed up the build process. Make use of the --glob # option, which tells it to perform filename globbing itself, like 'find'. # This helps to avoid excessively long command lines, as some platforms # have rather restrictive limits. install-htmlref: $(doc_outdir)/html/index.html @$(NORMAL_INSTALL) $(MKDIR_P) '$(DESTDIR)$(htmlrefdir)' $(htmlref_install) -t '$(DESTDIR)$(htmlrefdir)' --glob -- $(htmlref_patterns_vpath) # Delete files from the html installation directory. Avoid recursive # directory removal, and apply the same wildcard pattern as was used to # select files for installation. uninstall-htmlref: @$(NORMAL_UNINSTALL) (cd '$(DESTDIR)$(htmlrefdir)' 2>/dev/null || exit 0; \ find . -type f '(' $(htmlref_find_patterns) ')' -exec rm -f '{}' '+') -test ! -r '$(DESTDIR)$(htmlrefdir)' || rmdir '$(DESTDIR)$(htmlrefdir)' # Install the Devhelp file, translating the base path on the fly. install-devhelp: $(devhelpfile) @$(NORMAL_INSTALL) $(MKDIR_P) '$(DESTDIR)$(devhelpdir)' $(devhelp_install) -t '$(DESTDIR)$(devhelpdir)' -- $^ # Remove the installed Devhelp file and directory. uninstall-devhelp: @$(NORMAL_UNINSTALL) rm -f '$(DESTDIR)$(devhelpdir)/$(notdir $(devhelpfile))' -test ! -r '$(DESTDIR)$(devhelpdir)' || rmdir '$(DESTDIR)$(devhelpdir)' # Regenerate the Doxygen configuration file automatically. In the # top-level build directory Automake already takes care of this. ifneq ($(subdir),.) $(doc_config): $(srcdir)/$(doc_config).in $(top_builddir)/config.status $(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ endif # Make sure that the documentation will always have been generated before # executing commands of a rule that depends on files in $(doc_outdir)/html/. $(doc_outdir)/html/%: | $(doxytagfile) # Run Doxygen to build the reference documentation. The generated tag file # also functions as time stamp target for the documentation as a whole. $(doxytagfile): $(doc_dependencies) | $(doc_config) -$(AM_V_at)rm -f $@ -$(AM_V_at)rm -fr $(doc_outdir)/html $(AM_V_GEN)(echo '@INCLUDE =' $(doc_config) && echo 'INPUT =' $(doc_input)) | $(DOXYGEN) - $(AM_V_at)$(doc_postprocess) '$(doc_outdir)/html/*.html' # Run XSL transformation to generate a Devhelp book from a Doxygen tag file. %.devhelp2: %.tag $(AM_V_GEN)$(XSLTPROC) $(dh_xsl_params) -o $@ $(tagfile_to_devhelp2) $< .PHONY: install-htmlref uninstall-htmlref install-devhelp uninstall-devhelp # Instruct GNU make to delete the targets of a rule after it failed, in # order to avoid the complication of handling that situation manually. .DELETE_ON_ERROR: # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: cairomm-1.10.0/docs/PaxHeaders.11012/Makefile.am0000644000175000017500000000005011561715437017230 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/Makefile.am0000644000175000017500000000227411561715437017451 0ustar00murraycmurrayc00000000000000## Copyright (c) 2009 Openismus GmbH ## ## This file is part of cairomm. ## ## cairomm is free software: you can redistribute it and/or modify it ## under the terms of the GNU Lesser General Public License as published ## by the Free Software Foundation, either version 2.1 of the License, ## or (at your option) any later version. ## ## cairomm is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## See the GNU Lesser General Public License for more details. ## ## You should have received a copy of the GNU Lesser General Public License ## along with this library. If not, see . include $(top_srcdir)/cairomm/filelist.am book_name = $(CAIROMM_MODULE_NAME) doc_input = $(addprefix $(top_srcdir)/cairomm/,$(cairomm_public_h)) pubdocbase = http://www.cairographics.org/documentation/ htmlrefpub = $(pubdocbase)cairomm/reference include $(top_srcdir)/build/doc-reference.am dist_noinst_DATA += \ doc-install.pl \ doc-postprocess.pl \ tagfile-to-devhelp2.xsl \ reference/cairomm.css \ reference/cairomm-header.html cairomm-1.10.0/docs/PaxHeaders.11012/doc-install.pl0000644000175000017500000000005011561716326017740 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/doc-install.pl0000644000175000017500000001530611561716326020161 0ustar00murraycmurrayc00000000000000package main; # Copyright (c) 2009 Openismus GmbH # # This file is part of mm-common. # # mm-common is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published # by the Free Software Foundation, either version 2 of the License, # or (at your option) any later version. # # mm-common is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with mm-common. If not, see . use strict; use warnings; use bytes; use File::Glob qw(:glob); use File::Spec; use Getopt::Long qw(:config no_getopt_compat no_ignore_case require_order bundling); # Globals my $message_prefix; my %tags_hash; my $book_base; my $perm_mode; my $target_dir; my $target_nodir = ''; my $expand_glob = ''; my $verbose = ''; sub path_basename ($) { my ($path) = @_; my $basename = File::Spec->splitpath($path); return $basename; } sub exit_help () { my $script_name = path_basename($0) || 'doc-install.pl'; print <<"EOF"; Usage: perl $script_name [OPTION]... [-T] SOURCE DEST or: perl $script_name [OPTION]... SOURCE... DIRECTORY or: perl $script_name [OPTION]... -t DIRECTORY SOURCE... Copy SOURCE to DEST or multiple SOURCE files to the existing DIRECTORY, while setting permission modes. For HTML files, translate references to external documentation. Mandatory arguments to long options are mandatory for short options, too. --book-base=BASEPATH use reference BASEPATH for Devhelp book -l, --tag-base=TAGFILE\@BASEPATH use BASEPATH for references from TAGFILE -m, --mode=MODE override file permission MODE (octal) -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as normal file --glob expand SOURCE as filename glob pattern -v, --verbose enable informational messages -?, --help display this help and exit EOF exit; } sub notice (@) { print($message_prefix, @_, "\n") if ($verbose); } sub warning (@) { print STDERR ($message_prefix, @_, "\n"); } sub error (@) { warning(@_); exit 1; } # Copy file to destination while translating references on the fly. # Sniff the content for the file type, as it is always read in anyway. sub install_file ($$$) { my ($in_name, $out_name, $basename) = @_; my ($in, $out, $buf); { local $/; # slurp mode: read entire file into buffer open($in, '<', $in_name) and binmode($in) and defined($buf = <$in>) and close($in) or error('Failed to read ', $basename, ': ', $!); } if (%tags_hash and $buf =~ m/\A(?> \s*)(?> (?> <[?!][^<]+ )* )\s]/sx) { my $count = 0; my $total = $buf =~ s!(?<= \s) doxygen="((?> [^:"]+)):((?> [^"]*))" # doxygen="(TAGFILE):(BASEPATH)" (?> \s+) ((?> href|src) =") \2 ((?> [^"]*)") # (href|src=")BASEPATH(RELPATH") ! $3 . ((exists $tags_hash{$1}) ? (++$count, $tags_hash{$1}) : $2) . $4 !egsx; my $change = $total ? "rewrote $count of $total" : 'no'; notice('Translating ', $basename, ' (', $change, ' references)'); } elsif (defined($book_base) and $buf =~ m/\A(?> \s*)(?> (?> <[?!][^<]+ )* ) my $change = $buf =~ s/(]*? \b base=") (?> [^"]*) (?= ")/$1$book_base/sx ? 'rewrote base path' : 'base path not set'; notice('Translating ', $basename, ' (', $change, ')'); } else { notice('Copying ', $basename); } # Avoid inheriting permissions of existing file unlink($out_name); open($out, '>', $out_name) and binmode($out) and print $out ($buf) and close($out) or error('Failed to write ', $basename, ': ', $!); chmod($perm_mode, $out_name) or warning('Failed to set ', $basename, ' permissions: ', $!); } # Split TAGFILE@BASEPATH argument into key/value pair sub split_key_value ($) { my ($mapping) = @_; my ($name, $path) = split(m'@', $mapping, 2); error('Invalid base path mapping: ', $mapping) unless (defined($name) and $name ne ''); if (defined $path) { notice('Using base path ', $path, ' for tag file ', $name); return ($name, $path); } notice('Not changing base path for tag file ', $name); return (); } # Define line leader of log messages $message_prefix = path_basename($0); $message_prefix =~ s/\.[^.]*$//s if (defined $message_prefix); $message_prefix = ($message_prefix || 'doc-install') . ': '; # Process command-line options { my @tags = (); my $mode = '0644'; GetOptions('book-base=s' => \$book_base, 'tag-base|l=s' => \@tags, 'mode|m=s' => \$mode, 'target-directory|t=s' => \$target_dir, 'no-target-directory|T' => \$target_nodir, 'glob' => \$expand_glob, 'verbose|v' => \$verbose, 'help|?' => \&exit_help) or exit 2; error('Invalid permission mode: ', $mode) unless ($mode =~ m/^[0-7]+$/s); $perm_mode = oct($mode); %tags_hash = map(split_key_value($_), @tags); } notice('Using base path ', $book_base, ' for Devhelp book') if (defined $book_base); if ($target_nodir) { error('Conflicting target directory options') if (defined $target_dir); error('Source and destination filenames expected') unless ($#ARGV == 1); error('Filename globbing requires target directory') if ($expand_glob); install_file($ARGV[0], $ARGV[1], path_basename($ARGV[1])); exit; } unless (defined $target_dir) { if (!$expand_glob and $#ARGV == 1) { my $basename = path_basename($ARGV[1]); if (defined($basename) and $basename ne '') { install_file($ARGV[0], $ARGV[1], $basename); exit; } } $target_dir = pop(@ARGV); } error('No target directory specified') unless (defined($target_dir) and $target_dir ne ''); @ARGV = map(bsd_glob($_, GLOB_NOSORT), @ARGV) if ($expand_glob); my %basename_hash = (); foreach my $in_name (@ARGV) { my $basename = path_basename($in_name); # If there are multiple files with the same base name in the list, only # the first one will be installed. This behavior makes it very easy to # implement a VPATH search for each individual file. unless (exists $basename_hash{$basename}) { $basename_hash{$basename} = undef; my $out_name = File::Spec->catfile($target_dir, $basename); install_file($in_name, $out_name, $basename); } } exit; cairomm-1.10.0/docs/PaxHeaders.11012/tagfile-to-devhelp2.xsl0000644000175000017500000000005011561716326021464 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/tagfile-to-devhelp2.xsl0000644000175000017500000001425411561716326021706 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/docs/PaxHeaders.11012/doc-postprocess.pl0000644000175000017500000000005011561716326020656 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/doc-postprocess.pl0000644000175000017500000000541011561716326021072 0ustar00murraycmurrayc00000000000000package main; # Copyright (c) 2009 Openismus GmbH # # This file is part of mm-common. # # mm-common is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published # by the Free Software Foundation, either version 2 of the License, # or (at your option) any later version. # # mm-common is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with mm-common. If not, see . use strict; use warnings; use bytes; use File::Glob qw(:glob); use File::Spec; use Getopt::Long qw(:config no_getopt_compat no_ignore_case require_order bundling); sub path_basename ($) { my ($path) = @_; my $basename = File::Spec->splitpath($path); return $basename; } sub exit_help () { my $script_name = path_basename($0) || 'doc-postprocess.pl'; print <<"EOF"; Usage: perl $script_name [OPTION]... [PATTERN]... Post-process the Doxygen-generated HTML files matching PATTERN. Options: -?, --help display this help and exit EOF exit; } sub error (@) { my $script_name = path_basename($0); $script_name =~ s/\.[^.]*$//s if (defined $script_name); print STDERR ($script_name || 'doc-postprocess', ': ', @_, "\n"); exit 1; } GetOptions('help|?' => \&exit_help) or exit 2; foreach my $filename (map(bsd_glob($_, GLOB_NOSORT), @ARGV)) { my @buf; my $file; open($file, '<', $filename) and (@buf = <$file>) and close($file) or error('Failed to read ', path_basename($filename), ': ', $!); foreach (@buf) { if (/|)template</$1template </; } s/©/©/g; s/—/—/g; s/–/–/g; s/ *  */ /g; s/(?<=\S)\s{2,}/ /g; } # write the whole buffer back open($file, '>', $filename) and print $file (@buf) and close($file) or error('Failed to write ', path_basename($filename), ': ', $!); } exit; cairomm-1.10.0/docs/PaxHeaders.11012/reference0000644000175000017500000000005011561716653017056 xustar000000000000000020 atime=1304927659 20 ctime=1304927659 cairomm-1.10.0/docs/reference/0000755000175000017500000000000011561716653017347 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/docs/reference/PaxHeaders.11012/cairomm-1.0.tag0000644000175000017500000000005011561716353021550 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/cairomm-1.0.tag0000644000175000017500000051675611561716353022010 0ustar00murraycmurrayc00000000000000 index Cairomm: A C++ wrapper for the cairo graphics library index Introduction License cairo_matrix_t classcairo__matrix__t.html Cairo namespaceCairo.html Cairo::Context Cairo::Device Cairo::logic_error Cairo::FontFace Cairo::ToyFontFace Cairo::UserFontFace Cairo::FtFontFace Cairo::FontOptions Cairo::Matrix Cairo::Path Cairo::ColorStop Cairo::Pattern Cairo::SolidPattern Cairo::SurfacePattern Cairo::Gradient Cairo::LinearGradient Cairo::RadialGradient Cairo::QuartzFontFace Cairo::QuartzSurface Cairo::RefPtr Cairo::Region Cairo::ScaledFont Cairo::FtScaledFont Cairo::Surface Cairo::ImageSurface Cairo::PdfSurface Cairo::PsSurface Cairo::SvgSurface Cairo::GlitzSurface Cairo::Win32FontFace Cairo::Win32ScaledFont Cairo::Win32Surface Cairo::Win32PrintingSurface Cairo::XlibSurface cairo_rectangle_t Rectangle namespaceCairo.html a5a956a3226f8c0cece695c49f453e124 cairo_rectangle_int_t RectangleInt namespaceCairo.html afc1c428b04bf5249cb4b13ce8bf95b2c cairo_font_extents_t FontExtents namespaceCairo.html aa7da46c699a67bfbdd5400af7e6b7b39 cairo_text_extents_t TextExtents namespaceCairo.html af6d8a4744616383984c99f8f052c7a5d cairo_text_cluster_t TextCluster namespaceCairo.html a3c23510889078c8a75d66add004ab288 cairo_glyph_t Glyph namespaceCairo.html a2483f165322e844c095c7be95849fdc2 Operator namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1 OPERATOR_CLEAR namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1aa2c5cc98949fc510d058a40e4b5d28ff OPERATOR_SOURCE namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1a59b66a5b95d6e3ed8cdebaf57717c623 OPERATOR_OVER namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1aefa21fe990e27b2c19017fbf827691e0 OPERATOR_IN namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1a50643bd3d909e6dd6f59bf8a3d7b1305 OPERATOR_OUT namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1a99d0e17305e6e3837eff89e87e17dd3f OPERATOR_ATOP namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1a138d827bff22a56ea542e19a08839471 OPERATOR_DEST namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1a2a8b28a5adfcccaed2a3257ef3953f5b OPERATOR_DEST_OVER namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1a6183d6187a356c0083f44484d63f814b OPERATOR_DEST_IN namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1aceb620b25d955ac8c2c95b3af2b8d51f OPERATOR_DEST_OUT namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1ab4844d149fd4bb37bfba21db1357593d OPERATOR_DEST_ATOP namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1ad75365e1f469f43920f05dd0658313ad OPERATOR_XOR namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1a1450e8ce1f45caa62f88849b6f806424 OPERATOR_ADD namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1accd32a58444054921ba8ab4989e0186d OPERATOR_SATURATE namespaceCairo.html a2d612c31d146fc32d486f9614560c8d1ac0bf6e068ff1d96ca21b75e92ef482c9 Antialias namespaceCairo.html a2cb381e7f63bef767a7d697fc5af13b4 ANTIALIAS_DEFAULT namespaceCairo.html a2cb381e7f63bef767a7d697fc5af13b4a3735c7a91b6357b95387b58665734ba3 ANTIALIAS_NONE namespaceCairo.html a2cb381e7f63bef767a7d697fc5af13b4a94e3797b8dcda3573e739c3276b9c77a ANTIALIAS_GRAY namespaceCairo.html a2cb381e7f63bef767a7d697fc5af13b4a981aa2b3f2aef2f0f2e490cea6c3639a ANTIALIAS_SUBPIXEL namespaceCairo.html a2cb381e7f63bef767a7d697fc5af13b4a3ee3d2f0eea97db29139eac7950269aa FillRule namespaceCairo.html a1ba15b0a2e22c87c14af044801006c85 FILL_RULE_WINDING namespaceCairo.html a1ba15b0a2e22c87c14af044801006c85a64d7bbc3c2d92a1ce8b5e3ec7ea050f7 FILL_RULE_EVEN_ODD namespaceCairo.html a1ba15b0a2e22c87c14af044801006c85a25292f6e401747a4323ca3b83e3d4f0c LineCap namespaceCairo.html abbb9aae64ef26733965e6d500ae76f1e LINE_CAP_BUTT namespaceCairo.html abbb9aae64ef26733965e6d500ae76f1eaf3facd37abd0619faf1efe6c3b37ef72 LINE_CAP_ROUND namespaceCairo.html abbb9aae64ef26733965e6d500ae76f1ea05298af325e119d8cfbb6bf7f81f8255 LINE_CAP_SQUARE namespaceCairo.html abbb9aae64ef26733965e6d500ae76f1ea8462f35d238cdc413a90cf2ac37c35f8 LineJoin namespaceCairo.html adbc632404edaa736e01c12122239de73 LINE_JOIN_MITER namespaceCairo.html adbc632404edaa736e01c12122239de73aa63cde0bfd47a1d5a80f2db93b0de823 LINE_JOIN_ROUND namespaceCairo.html adbc632404edaa736e01c12122239de73ab4e1dd72513958e037306b1fddab6440 LINE_JOIN_BEVEL namespaceCairo.html adbc632404edaa736e01c12122239de73a63352551259f61a5e379589315a30de9 FontSlant namespaceCairo.html a0a2c19fefac301a702a6b7fdb368bf55 FONT_SLANT_NORMAL namespaceCairo.html a0a2c19fefac301a702a6b7fdb368bf55a428cfea8fca5951033f3d433855cb97d FONT_SLANT_ITALIC namespaceCairo.html a0a2c19fefac301a702a6b7fdb368bf55affa4510656348999982452cab35cd50d FONT_SLANT_OBLIQUE namespaceCairo.html a0a2c19fefac301a702a6b7fdb368bf55ab59432f2187bad6573e559810fe91727 FontWeight namespaceCairo.html ad8514818fb9292a5864b57f4b8a1e546 FONT_WEIGHT_NORMAL namespaceCairo.html ad8514818fb9292a5864b57f4b8a1e546accd31c17af7e0acce29f5d9df1b74e70 FONT_WEIGHT_BOLD namespaceCairo.html ad8514818fb9292a5864b57f4b8a1e546a438bd2ac850ef23ce7a537ae3395f398 Content namespaceCairo.html a1f0f5d82599dfeabbeb2396dbfd767d0 CONTENT_COLOR namespaceCairo.html a1f0f5d82599dfeabbeb2396dbfd767d0aa9223b86246bd608b91a8881e47cbf1a CONTENT_ALPHA namespaceCairo.html a1f0f5d82599dfeabbeb2396dbfd767d0a97d17d3896a8e8089b54f113bef09b4b CONTENT_COLOR_ALPHA namespaceCairo.html a1f0f5d82599dfeabbeb2396dbfd767d0a8c89da251cfcc2093c8f12c2f047b8bc DeviceType namespaceCairo.html acd6c59cfdf7e4c9df93011f5dcf9b55c DEVICE_TYPE_DRM namespaceCairo.html acd6c59cfdf7e4c9df93011f5dcf9b55ca75dbfe50cc3badbee161e77950fde604 DEVICE_TYPE_GL namespaceCairo.html acd6c59cfdf7e4c9df93011f5dcf9b55ca06d01f29b103687f1dcaadf0c6ad5ad3 DEVICE_TYPE_SCRIPT namespaceCairo.html acd6c59cfdf7e4c9df93011f5dcf9b55cab29ea8bdaa47d18cb47a2b7068195127 DEVICE_TYPE_XCB namespaceCairo.html acd6c59cfdf7e4c9df93011f5dcf9b55ca1aa95e828d40ab77257e1e764dee7674 DEVICE_TYPE_XLIB namespaceCairo.html acd6c59cfdf7e4c9df93011f5dcf9b55ca8c12b2ae886218a8d2e20f5648a4d534 DEVICE_TYPE_XML namespaceCairo.html acd6c59cfdf7e4c9df93011f5dcf9b55ca8089c97284983496ed8be6dc35e14acd Format namespaceCairo.html ad3f86970e1bd354b263303c9b8759166 FORMAT_ARGB32 namespaceCairo.html ad3f86970e1bd354b263303c9b8759166afc97f1888578477fd656cf72d3421fbc FORMAT_RGB24 namespaceCairo.html ad3f86970e1bd354b263303c9b8759166ad8bdac2cab4a41442aa9a65a861a1f8a FORMAT_A8 namespaceCairo.html ad3f86970e1bd354b263303c9b8759166a014ebd0c5ac40d95635f498719d3be81 FORMAT_A1 namespaceCairo.html ad3f86970e1bd354b263303c9b8759166a562e3f4d6672c1d1d713805c1a1d0e2d FORMAT_RGB16_565 namespaceCairo.html ad3f86970e1bd354b263303c9b8759166a02af37bc588eaf452132b45eae083980 Extend namespaceCairo.html ae98882fd000921907007555a36a432a5 EXTEND_NONE namespaceCairo.html ae98882fd000921907007555a36a432a5abc537645a0ee134db9f85b840ff31ecc EXTEND_REPEAT namespaceCairo.html ae98882fd000921907007555a36a432a5a441fb6974fa3eb7d20a8c4a23bac5b3b EXTEND_REFLECT namespaceCairo.html ae98882fd000921907007555a36a432a5a8d3a371a30c6ed16f370f3c1198f5f0c EXTEND_PAD namespaceCairo.html ae98882fd000921907007555a36a432a5a962ebab53840cfa2c8e2a6534c93a70d Filter namespaceCairo.html a92b32ad7db301e18386477566c1caa6a FILTER_FAST namespaceCairo.html a92b32ad7db301e18386477566c1caa6aa53741dee114adbbc9860ff6979044ee9 FILTER_GOOD namespaceCairo.html a92b32ad7db301e18386477566c1caa6aa94fe587cf45f2ca0941eb81edc247a5c FILTER_BEST namespaceCairo.html a92b32ad7db301e18386477566c1caa6aaa20fe9f49ecb50a8ca50adb840404bb6 FILTER_NEAREST namespaceCairo.html a92b32ad7db301e18386477566c1caa6aa4c9be1534f351531eb1c70deb690926b FILTER_BILINEAR namespaceCairo.html a92b32ad7db301e18386477566c1caa6aad2418ba123c6a441aefc0b22cba59758 FILTER_GAUSSIAN namespaceCairo.html a92b32ad7db301e18386477566c1caa6aa9681c5deb5aeac89bfcbec9734421169 SubpixelOrder namespaceCairo.html a4a23dc1a6008ac7395bd44767b288783 SUBPIXEL_ORDER_DEFAULT namespaceCairo.html a4a23dc1a6008ac7395bd44767b288783ad3e1bfde4f4ef4072fe7241151a9b400 SUBPIXEL_ORDER_RGB namespaceCairo.html a4a23dc1a6008ac7395bd44767b288783ab131d2776a0835afb077a46222056b86 SUBPIXEL_ORDER_BGR namespaceCairo.html a4a23dc1a6008ac7395bd44767b288783a91d7c3c2c36d11561d3bb4edc80f4754 SUBPIXEL_ORDER_VRGB namespaceCairo.html a4a23dc1a6008ac7395bd44767b288783a4a33b2508ecb3c7727993c642581ec89 SUBPIXEL_ORDER_VBGR namespaceCairo.html a4a23dc1a6008ac7395bd44767b288783ac4aa9ec4bf74374f5114eeb4dbe8531e HintStyle namespaceCairo.html a42c908e3a6e1e7e402081b36659b42e4 HINT_STYLE_DEFAULT namespaceCairo.html a42c908e3a6e1e7e402081b36659b42e4aaccef9b38249b23be976d7cf3c830511 HINT_STYLE_NONE namespaceCairo.html a42c908e3a6e1e7e402081b36659b42e4a6c6c834f7a2a4a916467cc56faf87899 HINT_STYLE_SLIGHT namespaceCairo.html a42c908e3a6e1e7e402081b36659b42e4a622ff5142bc1ed463de74c10b094d7de HINT_STYLE_MEDIUM namespaceCairo.html a42c908e3a6e1e7e402081b36659b42e4a86913e7e6f6e4a47a2ac9ffccc307be0 HINT_STYLE_FULL namespaceCairo.html a42c908e3a6e1e7e402081b36659b42e4a2f1fbcf0e711122f6488788b93b64746 HintMetrics namespaceCairo.html a36aea516c8dd84609f7e5f5968a3d7c0 HINT_METRICS_DEFAULT namespaceCairo.html a36aea516c8dd84609f7e5f5968a3d7c0a0033f53b7ebd8d5080f2072e706c49eb HINT_METRICS_OFF namespaceCairo.html a36aea516c8dd84609f7e5f5968a3d7c0a4a0455b3f2057678f18f0bb468a480d7 HINT_METRICS_ON namespaceCairo.html a36aea516c8dd84609f7e5f5968a3d7c0a9df9bac60d68417bbc63d17075890d45 SurfaceType namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549 SURFACE_TYPE_IMAGE namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a0ecba6c968b41e0f20c04da907a9015c SURFACE_TYPE_PDF namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a779d4582e7e57cc7fe8febe22d01c8f5 SURFACE_TYPE_PS namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a965157adefd504ddb33443bae86bdaf0 SURFACE_TYPE_XLIB namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a557b12264bea7e9291a88a237006bb3b SURFACE_TYPE_XCB namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a96a97d03b0110b9f2eb1fa9940b3dd37 SURFACE_TYPE_GLITZ namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549aee5fa464493ed2f61f22873c3e5b9093 SURFACE_TYPE_QUARTZ namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a37e0a949af7b4739b9bef045f60b4d0c SURFACE_TYPE_WIN32 namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549ac30d738b509c7fb082e8d7ba37f21203 SURFACE_TYPE_BEOS namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a5a984da99a0b5e90a0f0c28ef05b64af SURFACE_TYPE_DIRECTFB namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a8c4a28995e8ea61cc44386ffd4d4ed48 SURFACE_TYPE_SVG namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549aabfee100acdb2044b01af44bf6a3441e SURFACE_TYPE_OS2 namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549aa126fd2dfdb86c1671807f9c23bba160 SURFACE_TYPE_WIN32_PRINTING namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549ab516fc39323a2df146423d9eb9018c11 SURFACE_TYPE_QUARTZ_IMAGE namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549afe4724b60fb5cd4d67187385c1160338 SURFACE_TYPE_SCRIPT namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a29855dec551acfed325825a0d4fab88f SURFACE_TYPE_QT namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a673f9b9763985b8b113f1a7fa2f827a8 SURFACE_TYPE_RECORDING namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549af7623d51bf572af98340a4e41bf0490f SURFACE_TYPE_VG namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549aae9513a3ada214dcf2059fbfdda47e79 SURFACE_TYPE_GL namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a44a856cd1b196ea2f588551257a1e598 SURFACE_TYPE_DRM namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a57ee82d8d88e5d4e366155a58faf2a0c SURFACE_TYPE_TEE namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a758ec9d0af7fa7ad42c35ac54569aec0 SURFACE_TYPE_XML namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a028253334ffd3cb31bb6b74d03012545 SURFACE_TYPE_SKIA namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549a8df3e26b8e75d766036b57998927672d SURFACE_TYPE_SUBSURFACE namespaceCairo.html af11d962e38a38a2d92fc1473fbe92549ae43c50010ace844cd5a9e5d5da9e4f83 PatternType namespaceCairo.html afeff18f1043713479dd6ceb4aa4d4f02 PATTERN_TYPE_SOLID namespaceCairo.html afeff18f1043713479dd6ceb4aa4d4f02acc00394b686b5a51707eb50507d0ff98 PATTERN_TYPE_SURFACE namespaceCairo.html afeff18f1043713479dd6ceb4aa4d4f02aa3d3d979bffbe8abace7427d2b75f286 PATTERN_TYPE_LINEAR namespaceCairo.html afeff18f1043713479dd6ceb4aa4d4f02a9e26bb15e701bef4ddd597c56dd9f3df PATTERN_TYPE_RADIAL namespaceCairo.html afeff18f1043713479dd6ceb4aa4d4f02ae3d2664b903efd92b03cabe25a7467c7 FontType namespaceCairo.html a23e1a9a5be49d16cf3871e841e8ab522 FONT_TYPE_TOY namespaceCairo.html a23e1a9a5be49d16cf3871e841e8ab522a11badc6cb73857e765b9d08ae75d10e1 FONT_TYPE_FT namespaceCairo.html a23e1a9a5be49d16cf3871e841e8ab522a7780824d70ec08548798c075928e121c FONT_TYPE_WIN32 namespaceCairo.html a23e1a9a5be49d16cf3871e841e8ab522a322154b778271602a36b8a777888cd30 FONT_TYPE_ATSUI namespaceCairo.html a23e1a9a5be49d16cf3871e841e8ab522ae959d2d48f5b0f2110762d15eadf6ba9 FONT_TYPE_QUARTZ namespaceCairo.html a23e1a9a5be49d16cf3871e841e8ab522a900b0adf7ea2cfed16956be0a26d3cff FONT_TYPE_USER namespaceCairo.html a23e1a9a5be49d16cf3871e841e8ab522ad87ea398fb66e3b0df5b8a15685c2ea1 TextClusterFlags namespaceCairo.html a61b770cf36c555a4098b5428e030542a TEXT_CLUSTER_FLAG_BACKWARD namespaceCairo.html a61b770cf36c555a4098b5428e030542aad1fc31baabb2eaa7661a0b8a91ad3b03 RegionOverlap namespaceCairo.html adcdefbdb596418377c360914ccee4aba REGION_OVERLAP_IN namespaceCairo.html adcdefbdb596418377c360914ccee4abaa566be43517d236c5547295ce50fe0870 REGION_OVERLAP_OUT namespaceCairo.html adcdefbdb596418377c360914ccee4abaa8f4ea05838aace48418bb07bc985a228 REGION_OVERLAP_PART namespaceCairo.html adcdefbdb596418377c360914ccee4abaa0085211792a91f8ac32fa6c3c205f863 PdfVersion namespaceCairo.html a594c3b02635245683fcb33c23872a125 PDF_VERSION_1_4 namespaceCairo.html a594c3b02635245683fcb33c23872a125ae575205b13518242f1071bb4107cdefd PDF_VERSION_1_5 namespaceCairo.html a594c3b02635245683fcb33c23872a125a32c02c7e6e6929a060509d6c915a9664 PsLevel namespaceCairo.html a452db49f19542c791e4a331f052a9a00 PS_LEVEL_2 namespaceCairo.html a452db49f19542c791e4a331f052a9a00a7fba4425a32994189848015369c71db1 PS_LEVEL_3 namespaceCairo.html a452db49f19542c791e4a331f052a9a00ae540de6bec8cf457548756a83457223b SvgVersion namespaceCairo.html a853a6353847b8cd86001a98d36b245ca SVG_VERSION_1_1 namespaceCairo.html a853a6353847b8cd86001a98d36b245caaa2342af6873626640d2126f75fe0ab48 SVG_VERSION_1_2 namespaceCairo.html a853a6353847b8cd86001a98d36b245caac9a963a188f21ab16da513d4482fb7bd Cairo::Context classCairo_1_1Context.html cairo_t cobject classCairo_1_1Context.html a14e54b45199452f9916ebcafcd4a629e Context classCairo_1_1Context.html adb2361743a9f017e662c3c6809dfc765 (cairo_t *cobject, bool has_reference=false) virtual ~Context classCairo_1_1Context.html a35d214d3ad4d29bd5993d683333a9791 () void save classCairo_1_1Context.html a5249fa850f6adc1cb743e60a65a1ddb6 () void restore classCairo_1_1Context.html a45a80032b95d87eafe72dc2ab235f815 () void set_operator classCairo_1_1Context.html a61f276527b921cbd4fd81880ac372e2a (Operator op) void set_source classCairo_1_1Context.html a534d571d5aa4b500782036202a3e2aea (const RefPtr< const Pattern > &source) void set_source_rgb classCairo_1_1Context.html aff3f3fc62bdf862646bb8cc568c30b2a (double red, double green, double blue) void set_source_rgba classCairo_1_1Context.html af9267aed8eb866701178dcada6c7e51a (double red, double green, double blue, double alpha) void set_source classCairo_1_1Context.html ad88c0ef8700410920b37833b8e6ed329 (const RefPtr< Surface > &surface, double x, double y) void set_tolerance classCairo_1_1Context.html a01481a915f4086051f1c200f0f7a33d1 (double tolerance) void set_antialias classCairo_1_1Context.html a79220a6785490688fdea41750d8933d6 (Antialias antialias) void set_fill_rule classCairo_1_1Context.html ad15693ae817e3229409d831c7dd96bed (FillRule fill_rule) void set_line_width classCairo_1_1Context.html a9ad2649d95e81a65aa0c581c4345375e (double width) void set_line_cap classCairo_1_1Context.html a07fd8fc2c75558484e960c5ff63a61cc (LineCap line_cap) void set_line_join classCairo_1_1Context.html a23b5ba9363f568cacc1abf5e79a0200d (LineJoin line_join) void set_dash classCairo_1_1Context.html aaa0b483d3f36facb1c9f2aa7f0a0ac13 (std::valarray< double > &dashes, double offset) void set_dash classCairo_1_1Context.html ade74abb6db86a97ff3800e431e27ba45 (std::vector< double > &dashes, double offset) void set_dash classCairo_1_1Context.html a73d1ece668f1534ed91ae97cbd6abffe (const std::valarray< double > &dashes, double offset) void set_dash classCairo_1_1Context.html ad5de6d8a98135971116c63c28fd736b7 (const std::vector< double > &dashes, double offset) void unset_dash classCairo_1_1Context.html ab20ad42403add42a9388b281074b77d2 () void set_miter_limit classCairo_1_1Context.html a583445ca963769d3f31613bc55b1e8ad (double limit) void translate classCairo_1_1Context.html a3058f50f915d9c43d165dfcd1a940cdc (double tx, double ty) void scale classCairo_1_1Context.html a45543fb03fb740fe4c013492f348e084 (double sx, double sy) void rotate classCairo_1_1Context.html a332811cd74028c20b5832501ec46d67e (double angle_radians) void rotate_degrees classCairo_1_1Context.html a0ae251ef83d7c2985f4306abc905934d (double angle_degres) void transform classCairo_1_1Context.html ac520512061fa271fff3b1f922f94c9cb (const Matrix &matrix) void transform classCairo_1_1Context.html a1bb46fed0df67873bef36e8d7c515c5a (const cairo_matrix_t &matrix) void set_matrix classCairo_1_1Context.html ac2eafbac5591e569d22495f7920d60d2 (const Matrix &matrix) void set_matrix classCairo_1_1Context.html a6d94c400c393d7e40bf2d2bbf4e6dcba (const cairo_matrix_t &matrix) void set_identity_matrix classCairo_1_1Context.html aa3e9b13312b6ef331830b5348093e19e () void user_to_device classCairo_1_1Context.html aa9cc3eeb14b515b184be6a401c0993a4 (double &x, double &y) void user_to_device_distance classCairo_1_1Context.html ab0daccfeaa8b173b26473e79271f7e88 (double &dx, double &dy) void device_to_user classCairo_1_1Context.html a0c7acaaf16d4740cd7fee2298bf2b5c4 (double &x, double &y) void device_to_user_distance classCairo_1_1Context.html a2f396567b0504d1421abb5f7ed38cd97 (double &dx, double &dy) void user_to_device classCairo_1_1Context.html a30ee2fbeca1cb347548d5b9d186e38ea (double &x, double &y) const void user_to_device_distance classCairo_1_1Context.html a14e24c58fc7f39af6a127ac5b684a9cc (double &dx, double &dy) const void device_to_user classCairo_1_1Context.html a41f54b367cae7c9efd35749cad69a260 (double &x, double &y) const void device_to_user_distance classCairo_1_1Context.html a522345149deb1b5545e0d9a4ba99b3be (double &dx, double &dy) const void begin_new_path classCairo_1_1Context.html a527efe9a3a5bf48f768e223d5f4fecca () void begin_new_sub_path classCairo_1_1Context.html a8cb4b961893563c585ed05a67126b0df () void move_to classCairo_1_1Context.html a4086700b5f780fd3fb94bea941895022 (double x, double y) void line_to classCairo_1_1Context.html ae305a9f8a79cc0e0693393a940ee1de8 (double x, double y) void curve_to classCairo_1_1Context.html a9bdb6a5e2ea0e4bc9441bdc5704805f7 (double x1, double y1, double x2, double y2, double x3, double y3) void arc classCairo_1_1Context.html aaa96080beea581244f0a3838fb7c9ee6 (double xc, double yc, double radius, double angle1, double angle2) void arc_negative classCairo_1_1Context.html a1a9e7517cd5afd49d729b8a87539a305 (double xc, double yc, double radius, double angle1, double angle2) void rel_move_to classCairo_1_1Context.html a3c739ac7e8e43d395f24dff0a0a83c0d (double dx, double dy) void rel_line_to classCairo_1_1Context.html a35f2d0f7e9afcb59eef83af3d2831f2b (double dx, double dy) void rel_curve_to classCairo_1_1Context.html ad7660dac997d5db2f7ce1539c20345e2 (double dx1, double dy1, double dx2, double dy2, double dx3, double dy3) void rectangle classCairo_1_1Context.html a85ee124b89c43dc29ff0d964bd005c11 (double x, double y, double width, double height) void close_path classCairo_1_1Context.html a32211b0684b1d264c17402b5289fcba0 () void paint classCairo_1_1Context.html ad919eae3bc3b9827a3c1ceff2d86833e () void paint_with_alpha classCairo_1_1Context.html a34208a6c6868cdcd65866cb8a2349525 (double alpha) void mask classCairo_1_1Context.html a2ad3ea59afb6bb4fa04d000f5e9c3cf2 (const RefPtr< const Pattern > &pattern) void mask classCairo_1_1Context.html a2f76e3b13027efc4c8745de5e04e00ec (const RefPtr< const Surface > &surface, double surface_x, double surface_y) void stroke classCairo_1_1Context.html a8e4acbb44f4b3fac00ee93f6251d6d17 () void stroke_preserve classCairo_1_1Context.html ab10d89295e122b04ff1bbda425ae069c () void fill classCairo_1_1Context.html a0a484790884dd138108b07c0ebbbe21d () void fill_preserve classCairo_1_1Context.html a0ef3f887f91527a485ce1300972ac8e3 () void copy_page classCairo_1_1Context.html a7ccbeacb2a7f2d787b3daf31a69383fd () void show_page classCairo_1_1Context.html a525cac95b4d4c2abea12b82c433adba9 () bool in_stroke classCairo_1_1Context.html a15e153f40f02aaccd0aed27f7720bf6a (double x, double y) const bool in_fill classCairo_1_1Context.html a3d50e91f8ed135cee8741fef805df070 (double x, double y) const bool in_clip classCairo_1_1Context.html a99dafb17beaaf5e115a731f35a828684 (double x, double y) const void get_stroke_extents classCairo_1_1Context.html afbcad49bf4f75eca485fa4d728255ae0 (double &x1, double &y1, double &x2, double &y2) const void get_fill_extents classCairo_1_1Context.html a80bceb0e11be82c365b4606efe3a8d30 (double &x1, double &y1, double &x2, double &y2) const void reset_clip classCairo_1_1Context.html a82d001967dc8ba3e45f4d7a06c4b9ff2 () void clip classCairo_1_1Context.html a423077b911738772807cc8bc24c25488 () void clip_preserve classCairo_1_1Context.html a2987c4ecac0438ee808c34d3c35c7f2e () void get_clip_extents classCairo_1_1Context.html a7211a6110201b959ee46c47aa173b12a (double &x1, double &y1, double &x2, double &y2) const void copy_clip_rectangle_list classCairo_1_1Context.html a7dc19917311f812e667d71102b0d986b (std::vector< Rectangle > &rectangles) const void select_font_face classCairo_1_1Context.html acb1da5f3949195f76424e11be923fbfd (const std::string &family, FontSlant slant, FontWeight weight) void set_font_size classCairo_1_1Context.html ac8a04a09c2e871a470fd030edb45b024 (double size) void set_font_matrix classCairo_1_1Context.html a7981bd1109ec5538fb505b36ec377757 (const Matrix &matrix) void get_font_matrix classCairo_1_1Context.html aada6eda8880143f16721d6311206b25f (Matrix &matrix) const void set_font_options classCairo_1_1Context.html a2d7f465d946804a8fe9877d7f7f4bbcb (const FontOptions &options) void set_font_matrix classCairo_1_1Context.html a8d44b4f4e45a4fb2a794f3486f895640 (const cairo_matrix_t &matrix) void get_font_matrix classCairo_1_1Context.html a34be6fb9a99354259d3944b1b31c634b (cairo_matrix_t &matrix) const void get_font_options classCairo_1_1Context.html ab69217658ea7fa4e859aa305e3bc3ebc (FontOptions &options) const void set_scaled_font classCairo_1_1Context.html aaa8c0b24d9338d392c18435babeb4263 (const RefPtr< const ScaledFont > &scaled_font) RefPtr< ScaledFont > get_scaled_font classCairo_1_1Context.html a511ca42d6c21a4cfc9ce4c4b1116ddad () void show_text classCairo_1_1Context.html a584596d6f12dbea30519b908cacce038 (const std::string &utf8) void show_glyphs classCairo_1_1Context.html af51f2c2ff72e8af66abeea3d15d25553 (const std::vector< Glyph > &glyphs) void show_text_glyphs classCairo_1_1Context.html a45723fd605cc2343ab46cf603d330002 (const std::string &utf8, const std::vector< Glyph > &glyphs, const std::vector< TextCluster > &clusters, TextClusterFlags cluster_flags) RefPtr< FontFace > get_font_face classCairo_1_1Context.html aa3606d313d54bc1b26938a8dfadc1e94 () RefPtr< const FontFace > get_font_face classCairo_1_1Context.html a02c602da267ff6c0b29d638f4a59a158 () const void get_font_extents classCairo_1_1Context.html acbe72f83295624f8905a350c589e7209 (FontExtents &extents) const void set_font_face classCairo_1_1Context.html a9b344db51097aba30e36452e1364faef (const RefPtr< const FontFace > &font_face) void get_text_extents classCairo_1_1Context.html a837ff58a69e3e74f6a6ef9da8454af2b (const std::string &utf8, TextExtents &extents) const void get_glyph_extents classCairo_1_1Context.html afa37e5c6559f2573cfc55bb6fa5f6ef6 (const std::vector< Glyph > &glyphs, TextExtents &extents) const void text_path classCairo_1_1Context.html a5613b4202f82f6a53f1aeac6c58e5521 (const std::string &utf8) void glyph_path classCairo_1_1Context.html ad3372fc30d9a26c8d26c440a21464ce5 (const std::vector< Glyph > &glyphs) Operator get_operator classCairo_1_1Context.html aa5683fc9da28916cb237b4868a9c5d97 () const RefPtr< Pattern > get_source classCairo_1_1Context.html a0b6eeda4d80f3d591a770cbbbf8a0c87 () RefPtr< const Pattern > get_source classCairo_1_1Context.html aa17cc0c92671d0d4c2d48bc3a79858d0 () const double get_tolerance classCairo_1_1Context.html a216632e43aa061890c0a637ea41f7960 () const Antialias get_antialias classCairo_1_1Context.html a3269ed87a45ce150d1b7bd00c1c18a80 () const void get_current_point classCairo_1_1Context.html a69b25af8a2bac826a330e1bfeb2f1a1f (double &x, double &y) const bool has_current_point classCairo_1_1Context.html a1db62850e9879589bacd463e54406b50 () const FillRule get_fill_rule classCairo_1_1Context.html a21a26ea9c08bb3c9c4180635f58fa7f8 () const double get_line_width classCairo_1_1Context.html a2aacb5cd843266b708ae47bc9a4f7014 () const LineCap get_line_cap classCairo_1_1Context.html aaf84f561587f41a6cdaffe8024ebf96c () const LineJoin get_line_join classCairo_1_1Context.html a543677421cced4e1eca10f70dd36220f () const double get_miter_limit classCairo_1_1Context.html a55c7e2c0533e35635c31c34ec498a4a2 () const void get_dash classCairo_1_1Context.html aaa43d0034e155d3c0244e0b4fdaf6af9 (std::vector< double > &dashes, double &offset) const void get_matrix classCairo_1_1Context.html a03b21f4a3a44e28086c3a25075fdcea1 (Matrix &matrix) void get_matrix classCairo_1_1Context.html aea651404be2fa942033c636e2665cd7e (cairo_matrix_t &matrix) Matrix get_matrix classCairo_1_1Context.html a99cadcdd63e366bc793306e8d3cfee37 () const RefPtr< Surface > get_target classCairo_1_1Context.html aea76bccc09bdab482f96469a4e7f94f6 () RefPtr< const Surface > get_target classCairo_1_1Context.html a39f36fa1f1460ca8a7f0504f01cb4d90 () const Path * copy_path classCairo_1_1Context.html a48743c731a58fb25524593dc90b567b3 () const void get_path_extents classCairo_1_1Context.html a28d0fa55e1d478ec05975b3c9f545c53 (double &x1, double &y1, double &x2, double &y2) const Path * copy_path_flat classCairo_1_1Context.html a5213dad7e0b0054d631053abe0df1c7d () const void append_path classCairo_1_1Context.html aee34ef17540ad11f33176e8897d73203 (const Path &path) void push_group classCairo_1_1Context.html aa0a5a1ee48ff742d87480a689dca51c6 () void push_group_with_content classCairo_1_1Context.html ad08812ecb59891f92e79a3d4dbca2d97 (Content content) RefPtr< Pattern > pop_group classCairo_1_1Context.html aece6278f4d71ce652557c80788415711 () void pop_group_to_source classCairo_1_1Context.html abd11fa1d3a582e0975ebb0155b9d4467 () RefPtr< Surface > get_group_target classCairo_1_1Context.html ad75b7d22f76958a6651e9f02172525f8 () RefPtr< const Surface > get_group_target classCairo_1_1Context.html a6908784c77134e45b09bd1ff4bcb34c9 () const cobject * cobj classCairo_1_1Context.html a614bcb4e9570c5b5c54b3bfc304c194a () const cobject * cobj classCairo_1_1Context.html ae99b48b6e596f42a7ccb90ab4ae94074 () const static RefPtr< Context > create classCairo_1_1Context.html a9a27f6ec57d788fd3ecbc310aeb24d99 (const RefPtr< Surface > &target) Context classCairo_1_1Context.html ac3c5491dbf6e57a26369e987361f6cd8 (const RefPtr< Surface > &target) cobject * m_cobject classCairo_1_1Context.html a620db06ff96d42e8e1db12ada0435fcc Cairo::Device classCairo_1_1Device.html Cairo::Device::Lock cairo_device_t cobject classCairo_1_1Device.html a327c8a8ac39f484f68a550ae34f82411 Device classCairo_1_1Device.html aec567647cc3675369f49fdcc469c6132 (cairo_device_t *cobject, bool has_reference=false) virtual ~Device classCairo_1_1Device.html a94fd2ef7446a1653e7e7a8e2642ec826 () DeviceType get_type classCairo_1_1Device.html a73a80a27c988f840701272fd571f9b5d () const void flush classCairo_1_1Device.html a8c41a4a0a95d25fa60012036d165abd9 () void finish classCairo_1_1Device.html afe9262cdb04d7ec3f58d48333d1898f5 () void acquire classCairo_1_1Device.html aedd60074545b2d744fda80fde40bfb79 () void release classCairo_1_1Device.html a044504de9e04b01d52a65521f48c0556 () cobject * cobj classCairo_1_1Device.html af460646f6002455f842ad763051bc86c () const cobject * cobj classCairo_1_1Device.html ad873aed7e520543740e1b886668dd568 () const void reference classCairo_1_1Device.html a5f5bce224e01fa9fc98306361ae4e14f () const void unreference classCairo_1_1Device.html a633b0e213b716ff4427f00025f53477f () const cobject * m_cobject classCairo_1_1Device.html a2252dec9ccb0905a5b74491d4b09315d Cairo::Device::Lock classCairo_1_1Device_1_1Lock.html Lock classCairo_1_1Device_1_1Lock.html a7a376f275131519394fb4256418ee607 (const RefPtr< Device > &device) Lock classCairo_1_1Device_1_1Lock.html ac717b4a10ad681aae711c852e0824571 (const Lock &other) ~Lock classCairo_1_1Device_1_1Lock.html a0a5e7c6b770589a05554ebae5681ed10 () Cairo::logic_error classCairo_1_1logic__error.html std::logic_error logic_error classCairo_1_1logic__error.html a11d3b1f7a00aa8cdb44107949f305648 (ErrorStatus status) virtual ~logic_error classCairo_1_1logic__error.html a67fb59dc50e4ddf1bd0725e98bd47683 () ErrorStatus get_status_code classCairo_1_1logic__error.html a271e6fb7ffdf4c7e517e5b1468cbf1c6 () const Cairo::FontFace classCairo_1_1FontFace.html cairo_font_face_t cobject classCairo_1_1FontFace.html ab1631f7eb6458a98be291880a1dde3d7 FontFace classCairo_1_1FontFace.html af464d8f051930da555fcbf632add755d (cairo_font_face_t *cobject, bool has_reference=false) virtual ~FontFace classCairo_1_1FontFace.html aa5d84dba43cd09c1710b458132a9ab8d () FontType get_type classCairo_1_1FontFace.html a201bec9a38120a2f77b56c2e61c0a481 () const cobject * cobj classCairo_1_1FontFace.html ac8b43511916adc955411051e3a29b53a () const cobject * cobj classCairo_1_1FontFace.html aaf59eb8a1bd2a51e4d9c850279ae6bd6 () const void reference classCairo_1_1FontFace.html a33876cc188930bf2ecbcd43c8604267b () const void unreference classCairo_1_1FontFace.html a603f1045e7fed08f9e3001be69c2bb56 () const cobject * m_cobject classCairo_1_1FontFace.html ae2d03f09adca1b8f9008680f0e831b0c Cairo::ToyFontFace classCairo_1_1ToyFontFace.html Cairo::FontFace std::string get_family classCairo_1_1ToyFontFace.html a9574c9445d16c98bd23c9a1d9360c75e () const FontSlant get_slant classCairo_1_1ToyFontFace.html a377f091bdfa7695f97e0e7b0ca044854 () const FontWeight get_weight classCairo_1_1ToyFontFace.html abb186cefab7692e5e2d9f9029797ff87 () const static RefPtr< ToyFontFace > create classCairo_1_1ToyFontFace.html a07c0ca7fd0dc54c31bfa1d8a813aff59 (const std::string &family, FontSlant slant, FontWeight weight) ToyFontFace classCairo_1_1ToyFontFace.html a78612cc2a17fda1953c54ef15bc84dcf (const std::string &family, FontSlant slant, FontWeight weight) Cairo::UserFontFace classCairo_1_1UserFontFace.html Cairo::FontFace virtual ~UserFontFace classCairo_1_1UserFontFace.html ae62d6b0a239f47fd67bda4b182187d62 () virtual ErrorStatus init classCairo_1_1UserFontFace.html af3f1d3a53a7be1d84a20609984473e07 (const RefPtr< ScaledFont > &scaled_font, const RefPtr< Context > &cr, FontExtents &extents) virtual ErrorStatus unicode_to_glyph classCairo_1_1UserFontFace.html a43cd65b62eab686477d3773e6fd98b46 (const RefPtr< ScaledFont > &scaled_font, unsigned long unicode, unsigned long &glyph) virtual ErrorStatus render_glyph classCairo_1_1UserFontFace.html a2e53435e92f9975213bd19969cb69375 (const RefPtr< ScaledFont > &scaled_font, unsigned long glyph, const RefPtr< Context > &cr, TextExtents &metrics)=0 virtual ErrorStatus text_to_glyphs classCairo_1_1UserFontFace.html a467db4c4a08c8cced992045d791e65f2 (const RefPtr< ScaledFont > &scaled_font, const std::string &utf8, std::vector< Glyph > &glyphs, std::vector< TextCluster > &clusters, TextClusterFlags &cluster_flags) UserFontFace classCairo_1_1UserFontFace.html aa63810b6ea9db5b62986e6ce9b7fa13a () Cairo::FtFontFace classCairo_1_1FtFontFace.html Cairo::FontFace static RefPtr< FtFontFace > create classCairo_1_1FtFontFace.html af0c442d25f8615efb7655a6ae9279d3e (FT_Face face, int load_flags) static RefPtr< FtFontFace > create classCairo_1_1FtFontFace.html aeedb6692fef3a1c4d13dd52792a2267b (FcPattern *pattern) FtFontFace classCairo_1_1FtFontFace.html a82d1ff7fb040ba4209511c4e4fbc57f5 (FT_Face face, int load_flags) FtFontFace classCairo_1_1FtFontFace.html a76879f412bddbfa3b6c2350c3fa69aa6 (FcPattern *pattern) Cairo::FontOptions classCairo_1_1FontOptions.html cairo_font_options_t cobject classCairo_1_1FontOptions.html a458ecd8eb6ab6cbe9d0f70720504dc19 FontOptions classCairo_1_1FontOptions.html a2b818a9af6d23ad39fb4e2ce74d24df6 () FontOptions classCairo_1_1FontOptions.html a475377dfa1550fbaed93e3b3a79d96e8 (cairo_font_options_t *cobject, bool take_ownership=false) FontOptions classCairo_1_1FontOptions.html a3b10ebfd94fc8f8c047a85d4400ced7b (const FontOptions &src) virtual ~FontOptions classCairo_1_1FontOptions.html a27f29f5bb5191d6202eeeaa6c5485cbb () FontOptions & operator= classCairo_1_1FontOptions.html ab89251971e798b5998fba7cfd73d8d93 (const FontOptions &src) bool operator== classCairo_1_1FontOptions.html a941cd1d37b4058f1b48b2752fc0cf07f (const FontOptions &src) const void merge classCairo_1_1FontOptions.html ae64b209cc8200f786d07185fc93552ed (const FontOptions &other) unsigned long hash classCairo_1_1FontOptions.html a941f12713ba5f746b47fdc2b91ad01c8 () const void set_antialias classCairo_1_1FontOptions.html ac4805f8378e318a2ad52803285b7e7de (Antialias antialias) Antialias get_antialias classCairo_1_1FontOptions.html ae93654769d65365c4110e8ce8a56cf7c () const void set_subpixel_order classCairo_1_1FontOptions.html ae0d566a662586651501920525bfb7dcd (SubpixelOrder subpixel_order) SubpixelOrder get_subpixel_order classCairo_1_1FontOptions.html a30a7fe796cfe5c9d6ea4bdeb535834f0 () const void set_hint_style classCairo_1_1FontOptions.html a58b4368e78a15f4c63766b5a47fd951b (HintStyle hint_style) HintStyle get_hint_style classCairo_1_1FontOptions.html a840678ca69c3e852b6ed05a1e35329e3 () const void set_hint_metrics classCairo_1_1FontOptions.html ac8ab52d886380075adc27d86ade70c01 (HintMetrics hint_metrics) HintMetrics get_hint_metrics classCairo_1_1FontOptions.html af74acf1959d5e96800ff43a393e34308 () const void substitute classCairo_1_1FontOptions.html ae42f40768de7a6f0da085a4940dc6ce3 (FcPattern *pattern) cobject * cobj classCairo_1_1FontOptions.html add7c818b1a6c6bff15199407d8b18a18 () const cobject * cobj classCairo_1_1FontOptions.html af826edc2b8a7b6c3cf4a44940f135d5d () const cobject * m_cobject classCairo_1_1FontOptions.html ae64f21fb1def665db48a8d3adfe5db56 Cairo::Matrix classCairo_1_1Matrix.html cairo_matrix_t Matrix classCairo_1_1Matrix.html a69297a4b8adc2bdecece4c372edc1e63 () Matrix classCairo_1_1Matrix.html a90a6fe36d7744bfd607c2b37435ca8e6 (double xx, double yx, double xy, double yy, double x0, double y0) void translate classCairo_1_1Matrix.html aec65d01b5251144dc20708f0b05940f6 (double tx, double ty) void scale classCairo_1_1Matrix.html a697c488fb323f4a6edda4edd0533c95c (double sx, double sy) void rotate classCairo_1_1Matrix.html a98b3feae5ff15937c764ebec846efb33 (double radians) void invert classCairo_1_1Matrix.html a3ad532fa3b90ac4019d6a535ffde0cd4 () void multiply classCairo_1_1Matrix.html a748df1dafe6a35422fa51b31f6932587 (Matrix &a, Matrix &b) void transform_distance classCairo_1_1Matrix.html a7966181b002249878a895bb3911f39e8 (double &dx, double &dy) const void transform_point classCairo_1_1Matrix.html af0b0ac8dd645036fdd4a3ee54cdcaca6 (double &x, double &y) const Matrix identity_matrix classCairo_1_1Matrix.html a293cbaf13eb86244648cb558b2cf7dd3 () Matrix translation_matrix classCairo_1_1Matrix.html ae638d4c68c7f26f9760335eb42680cea (double tx, double ty) Matrix scaling_matrix classCairo_1_1Matrix.html ac217befdf043bdb5f1c29632e60cbdef (double sx, double sy) Matrix rotation_matrix classCairo_1_1Matrix.html a324cadc45a2fe7424cb0d0d6b73ccbe8 (double radians) Matrix operator* classCairo_1_1Matrix.html ab0bbb2ec9c1451f42f0270652df8cada (const Matrix &a, const Matrix &b) Cairo::Path classCairo_1_1Path.html cairo_path_t cobject classCairo_1_1Path.html a2cd038a379ec386714ca49c9ab4c830b Path classCairo_1_1Path.html aa4d8ed387279e475eaca70cc80fbb8f3 (cairo_path_t *cobject, bool take_ownership=false) virtual ~Path classCairo_1_1Path.html a92f1cc9c567db4b76fa45a7f5a2cbbe5 () cobject * cobj classCairo_1_1Path.html a946d943be638ee1fa8a25ad88adad0a8 () const cobject * cobj classCairo_1_1Path.html a62d785be49961bd1bfe1a47605454770 () const cobject * m_cobject classCairo_1_1Path.html ae0b434d3681baf1ad366acd762a9f780 Cairo::ColorStop structCairo_1_1ColorStop.html double offset structCairo_1_1ColorStop.html af72e052087d61385d988b7134107a1a4 double red structCairo_1_1ColorStop.html adbdcec948c42c467bdbfb9aa61427356 double green structCairo_1_1ColorStop.html a06929ffc17da4af254cc2f2a4cc09f1c double blue structCairo_1_1ColorStop.html adcd9c23cf18fc73cf10045a05b8f4e16 double alpha structCairo_1_1ColorStop.html a524397babe94f70ed6205433066e2649 Cairo::Pattern classCairo_1_1Pattern.html cairo_pattern_t cobject classCairo_1_1Pattern.html a430a261a68ae70ca1bd818c781178abc Pattern classCairo_1_1Pattern.html a2da16a5296c06b65867a1a99e47a4d82 (cairo_pattern_t *cobject, bool has_reference=false) virtual ~Pattern classCairo_1_1Pattern.html a62ac06285957869744411527bfb25298 () void set_matrix classCairo_1_1Pattern.html a09dbb1295ba0a4f8a92b571aa6e425af (const Matrix &matrix) void get_matrix classCairo_1_1Pattern.html abc04baecc72eb1feda0c96592a22276a (Matrix &matrix) const Matrix get_matrix classCairo_1_1Pattern.html a04dd241769520a787dbebd5907b55f87 () const void set_matrix classCairo_1_1Pattern.html aa50a29b9d4c669766355c917ab30b858 (const cairo_matrix_t &matrix) void get_matrix classCairo_1_1Pattern.html a1a5a5ecfee3f2878c5a96ed6f1e9f11c (cairo_matrix_t &matrix) const PatternType get_type classCairo_1_1Pattern.html a9e82fd8de9147e0b6bdb70e5186d1d80 () const cobject * cobj classCairo_1_1Pattern.html a27bde17e9c41b6c826999f0f1a50aa8c () const cobject * cobj classCairo_1_1Pattern.html a685e45ce1f593980d0037e7f780d2601 () const void reference classCairo_1_1Pattern.html a4755e9b4ad8fb4bb760abe81438f553a () const void unreference classCairo_1_1Pattern.html a4cd12b946da697a673bc02b73eca0a04 () const Pattern classCairo_1_1Pattern.html a41846b1a43050f7ea9aed51bba572247 () cobject * m_cobject classCairo_1_1Pattern.html a24fdc166f53a833ba1e1104a5690efbc Cairo::SolidPattern classCairo_1_1SolidPattern.html Cairo::Pattern SolidPattern classCairo_1_1SolidPattern.html aac3f148e302049ae30954f946efda12a (cairo_pattern_t *cobject, bool has_reference=false) void get_rgba classCairo_1_1SolidPattern.html afd6474afeed00c78e2a1ca064ca0a981 (double &red, double &green, double &blue, double &alpha) const virtual ~SolidPattern classCairo_1_1SolidPattern.html a54df18171d8c26bece8b4beb51437ae0 () static RefPtr< SolidPattern > create_rgb classCairo_1_1SolidPattern.html a1eb2059ce24fc259675dadb23eb26ced (double red, double green, double blue) static RefPtr< SolidPattern > create_rgba classCairo_1_1SolidPattern.html a721c328ab43da6f23192bf4b18facd6e (double red, double green, double blue, double alpha) Cairo::SurfacePattern classCairo_1_1SurfacePattern.html Cairo::Pattern SurfacePattern classCairo_1_1SurfacePattern.html a9461babece82be067b48e6491c7ab1ad (cairo_pattern_t *cobject, bool has_reference=false) RefPtr< const Surface > get_surface classCairo_1_1SurfacePattern.html aad4763fd999ca2dc1094b07e5f357646 () const RefPtr< Surface > get_surface classCairo_1_1SurfacePattern.html ac830d137dad794e71d7bf83df22f06ae () virtual ~SurfacePattern classCairo_1_1SurfacePattern.html aa1796fde1cf9f134387057d03df83a61 () void set_extend classCairo_1_1SurfacePattern.html a8b238004a061f34425ee61a2ba494632 (Extend extend) Extend get_extend classCairo_1_1SurfacePattern.html a45055101fc89432f9ce1438878a6d0c8 () const void set_filter classCairo_1_1SurfacePattern.html a4d1517f554ffb2821e939aed01899022 (Filter filter) Filter get_filter classCairo_1_1SurfacePattern.html acbaef3a3961c04c275b6e44fea323b42 () const static RefPtr< SurfacePattern > create classCairo_1_1SurfacePattern.html aeb0cd6f03f993c6c9e64b32cc805fd77 (const RefPtr< Surface > &surface) SurfacePattern classCairo_1_1SurfacePattern.html a69b713eb59cec9ef25f586d6f14c2dda (const RefPtr< Surface > &surface) Cairo::Gradient classCairo_1_1Gradient.html Cairo::Pattern Gradient classCairo_1_1Gradient.html a85f7dabff18993648a3e920eb7a8eb04 (cairo_pattern_t *cobject, bool has_reference=false) virtual ~Gradient classCairo_1_1Gradient.html ab14387f9054c5c8222452743d72d616b () void add_color_stop_rgb classCairo_1_1Gradient.html afe5e5167dd48fc684c7e88ea07340a6c (double offset, double red, double green, double blue) void add_color_stop_rgba classCairo_1_1Gradient.html a688da07943fa37f8ccbe33c379544d9f (double offset, double red, double green, double blue, double alpha) std::vector< ColorStop > get_color_stops classCairo_1_1Gradient.html abce464810b8a65c5804146fb5474c5cd () const Gradient classCairo_1_1Gradient.html ae50ccbfd16c1a03cd26b574ac4cd7533 () Cairo::LinearGradient classCairo_1_1LinearGradient.html Cairo::Gradient LinearGradient classCairo_1_1LinearGradient.html a2dea1c14f7c79bac3daa271a3ddbcca6 (cairo_pattern_t *cobject, bool has_reference=false) void get_linear_points classCairo_1_1LinearGradient.html af885258cb4833bec0e0a84476b52340f (double &x0, double &y0, double &x1, double &y1) const virtual ~LinearGradient classCairo_1_1LinearGradient.html a4a31b3447c1e3370bd9ec6d72f4324be () static RefPtr< LinearGradient > create classCairo_1_1LinearGradient.html ada4b398d3c60dec6f650e940b2117f71 (double x0, double y0, double x1, double y1) LinearGradient classCairo_1_1LinearGradient.html af6b8e8e36eca93bbc6abbd85955299fe (double x0, double y0, double x1, double y1) Cairo::RadialGradient classCairo_1_1RadialGradient.html Cairo::Gradient RadialGradient classCairo_1_1RadialGradient.html a6388284de673c81f1d535ff866ce11ca (cairo_pattern_t *cobject, bool has_reference=false) void get_radial_circles classCairo_1_1RadialGradient.html a16ec007a620a4836c2fcea7107f480a1 (double &x0, double &y0, double &r0, double &x1, double &y1, double &r1) const virtual ~RadialGradient classCairo_1_1RadialGradient.html a8f39d07709792f5abd75705e5852d3dd () static RefPtr< RadialGradient > create classCairo_1_1RadialGradient.html a6cf02d90cf1099cfaf085799547db02d (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1) RadialGradient classCairo_1_1RadialGradient.html a59e11d5b13e489bcb590db3152dcfb4f (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1) Cairo::QuartzFontFace classCairo_1_1QuartzFontFace.html Cairo::FontFace static RefPtr< QuartzFontFace > create classCairo_1_1QuartzFontFace.html a4a9543947dccafb7c08e8a10c0b0a7fa (CGFontRef font) static RefPtr< QuartzFontFace > create classCairo_1_1QuartzFontFace.html acf2559b93b2026dbb5dec7fc2e9e510a (ATSUFontID font_id) QuartzFontFace classCairo_1_1QuartzFontFace.html ace6647ef3cb71b1cae90be9bcc32e973 (CGFontRef font) QuartzFontFace classCairo_1_1QuartzFontFace.html ac7df53f82e992f2db387295f8b1d91a1 (ATSUFontID font_id) Cairo::QuartzSurface classCairo_1_1QuartzSurface.html Cairo::Surface QuartzSurface classCairo_1_1QuartzSurface.html a14fa4758ee13f117df028455c434c950 (cairo_surface_t *cobject, bool has_reference=false) virtual ~QuartzSurface classCairo_1_1QuartzSurface.html abc137ab5872ea08b8cb487a026b87321 () CGContextRef get_cg_context classCairo_1_1QuartzSurface.html adb20c77cc96f4716ef0b3634d3689d63 () const static RefPtr< QuartzSurface > create classCairo_1_1QuartzSurface.html ac8d11fe174bd9e4480da10a1696d6297 (CGContextRef cg_context, int width, int height) static RefPtr< QuartzSurface > create classCairo_1_1QuartzSurface.html ad83e737c882fb32811a1adcb4832721f (Format format, int width, int height) Cairo::RefPtr classCairo_1_1RefPtr.html T_CppObject RefPtr classCairo_1_1RefPtr.html aff19258db23434b3d41db0488b9249ea () ~RefPtr classCairo_1_1RefPtr.html a227899cc9f00a7f4fce1f14cf73249d2 () RefPtr classCairo_1_1RefPtr.html a15f8fd5fdb043ef974e8f56b2fcc3d67 (T_CppObject *pCppObject) RefPtr classCairo_1_1RefPtr.html acb129373ab925b608bb542edc4a35e07 (T_CppObject *pCppObject, int *refcount) RefPtr classCairo_1_1RefPtr.html a2abb53dbe20af15dcfb9903df9c336d5 (const RefPtr< T_CppObject > &src) RefPtr classCairo_1_1RefPtr.html a9f908e85eb371b62739fc04df304ab0e (const RefPtr< T_CastFrom > &src) void swap classCairo_1_1RefPtr.html a52edce24b7b132ba4ff2f8ef0571bb46 (RefPtr< T_CppObject > &other) RefPtr< T_CppObject > & operator= classCairo_1_1RefPtr.html af02d3fb424f50e0f0ed1443709d38c5e (const RefPtr< T_CppObject > &src) RefPtr< T_CppObject > & operator= classCairo_1_1RefPtr.html ac82b7f2edd6f88c60be74b12af8e717a (const RefPtr< T_CastFrom > &src) bool operator== classCairo_1_1RefPtr.html a8270e1280138a5e2c1ec7775a05b9ded (const RefPtr< T_CppObject > &src) const bool operator!= classCairo_1_1RefPtr.html a70e5c59dcd60f1fe8b0e2fb33d9bae31 (const RefPtr< T_CppObject > &src) const T_CppObject * operator-> classCairo_1_1RefPtr.html ae46ca4c9c90e3dd6a01e2d06a9b7504d () const operator bool classCairo_1_1RefPtr.html a391b39a970de38580e3dc074b08f225f () const void clear classCairo_1_1RefPtr.html a9c00d0d5e9a924520413869bcf162d2a () static RefPtr< T_CppObject > cast_dynamic classCairo_1_1RefPtr.html a6858cff2dc6fbe3b44cad59589d73628 (const RefPtr< T_CastFrom > &src) static RefPtr< T_CppObject > cast_static classCairo_1_1RefPtr.html ad94b14307bcb276fa9fa2ea69bb57e43 (const RefPtr< T_CastFrom > &src) static RefPtr< T_CppObject > cast_const classCairo_1_1RefPtr.html a95662b0f276cecb068bb6027f34e3b9b (const RefPtr< T_CastFrom > &src) Cairo::Region classCairo_1_1Region.html cairo_region_t cobject classCairo_1_1Region.html af8c09f4cc72ba034d56a3bd60522e637 Region classCairo_1_1Region.html a0e41a220dd0ef49e142d1bb3b5fb6097 (cairo_region_t *cobject, bool has_reference=false) RefPtr< Region > copy classCairo_1_1Region.html a50ac36bf4fa8421a46899a732689f79e () const virtual ~Region classCairo_1_1Region.html a78501f7dd77e97842b0ea09541ce4bfa () RectangleInt get_extents classCairo_1_1Region.html a6887d3ff7f163446f86f1be1e254f0fe () const int get_num_rectangles classCairo_1_1Region.html a46601d9fc6fab9d3b9d616fe0047662f () const RectangleInt get_rectangle classCairo_1_1Region.html ae3ba3938459f4f339608ce361a72f51d (int nth_rectangle) const bool empty classCairo_1_1Region.html a7e36cf0009ed2842d58d02846dc0a8e8 () const RegionOverlap contains_rectangle classCairo_1_1Region.html a2b44acd87e79e4c3f2815b9d1a6d3ac4 (const RectangleInt &rectangle) const bool contains_point classCairo_1_1Region.html ad5583f050b591f54def5af3e6d3c1a7a (int x, int y) const void translate classCairo_1_1Region.html a2b234a3304e793ebe8f311c27ac0e671 (int dx, int dy) void subtract classCairo_1_1Region.html a217e555bf5b8cc178b1365350205066f (const RefPtr< Region > &other) void subtract classCairo_1_1Region.html a105c98b3ec5aeb37d535b68de32f82a0 (const RectangleInt &rectangle) void intersect classCairo_1_1Region.html a19c92f7e27d934862a94dfe1630b5030 (const RefPtr< Region > &other) void intersect classCairo_1_1Region.html aef3f748e826d3f7c6d7a8703de43a021 (const RectangleInt &rectangle) void do_union classCairo_1_1Region.html aed4efa91fe59b807f4e4aab91d680d6f (const RefPtr< Region > &other) void do_union classCairo_1_1Region.html a30a134ddda2390ec5cbfadc88ab18227 (const RectangleInt &rectangle) void do_xor classCairo_1_1Region.html a8959bebdeaf4977bc14d86bf0e3967d6 (const RefPtr< Region > &other) void do_xor classCairo_1_1Region.html a6c3e8695ac0313eb9342376a6cd20230 (const RectangleInt &rectangle) cobject * cobj classCairo_1_1Region.html a27dbf69c7589e421a5fb8277f88d0bce () const cobject * cobj classCairo_1_1Region.html a2f51a11d2e83c84cadfaa7a21c5fd648 () const void reference classCairo_1_1Region.html a03a98d89e17b968ef79aa01781b97f22 () const void unreference classCairo_1_1Region.html aeb072c6d8017cfa50c4e776ed0a7e7e7 () const static RefPtr< Region > create classCairo_1_1Region.html adae23186ffcc9bbb4ee260900678c326 () static RefPtr< Region > create classCairo_1_1Region.html a691bc737fcf6a24cdd18c65fcf33da79 (const RectangleInt &rectangle) static RefPtr< Region > create classCairo_1_1Region.html a0e327d4a2f49694a99f7337ac9ab73ec (const std::vector< RectangleInt > &rects) static RefPtr< Region > create classCairo_1_1Region.html a25b31f222d73ba28fbc87f40516032fd (const RectangleInt *rects, int count) cobject * m_cobject classCairo_1_1Region.html ac06aecabce2907283147392f00c85106 Cairo::ScaledFont classCairo_1_1ScaledFont.html cairo_scaled_font_t cobject classCairo_1_1ScaledFont.html a2d6be7ee16b4cbdcff67e6fdf3682b2a cobject * cobj classCairo_1_1ScaledFont.html adb6a80b560e695f10e39810bfede01b4 () const cobject * cobj classCairo_1_1ScaledFont.html a59b9ad6357e84be0e020ae163eeb7ffc () const ScaledFont classCairo_1_1ScaledFont.html a4407baae7eda0bf820e7c38596edcf7f (cobject *cobj, bool has_reference=false) virtual ~ScaledFont classCairo_1_1ScaledFont.html ae6cfed04a0d3e4d4a0e63ddc1c6c76c4 () void get_extents classCairo_1_1ScaledFont.html abd99255e4eb802e9350143ec81a197af (FontExtents &extents) const void extents classCairo_1_1ScaledFont.html aa64969e519ce44fba35f2061594e6f81 (FontExtents &extents) const void get_text_extents classCairo_1_1ScaledFont.html a757a8effcae445a5c46bf4501424abae (const std::string &utf8, TextExtents &extents) const void text_extents classCairo_1_1ScaledFont.html a396afc516d53234a04e81693a75b0203 (const std::string &utf8, TextExtents &extents) const void get_glyph_extents classCairo_1_1ScaledFont.html aabfe38c6ca3e1c575b85aa7094e8601d (const std::vector< Glyph > &glyphs, TextExtents &extents) void glyph_extents classCairo_1_1ScaledFont.html a859bbee5886b15e1d8ab599dabab9833 (const std::vector< Glyph > &glyphs, TextExtents &extents) RefPtr< FontFace > get_font_face classCairo_1_1ScaledFont.html ac20c70e78e70276842ab460bdc75513e () const void get_font_options classCairo_1_1ScaledFont.html a77b387d0cd3f23a71997d3719e270fd6 (FontOptions &options) const void get_font_matrix classCairo_1_1ScaledFont.html a3f4c3924cc10b3cffb025b6f6fa2e13b (Matrix &font_matrix) const void get_font_matrix classCairo_1_1ScaledFont.html aba264e1844f7fe7704115a984a39f437 (cairo_matrix_t &font_matrix) const void get_ctm classCairo_1_1ScaledFont.html a2ecb41822d51284c2f52a83b05cede8e (Matrix &ctm) const void get_ctm classCairo_1_1ScaledFont.html a86b6d3179b10491e2c755b886ef49b9e (cairo_matrix_t &ctm) const FontType get_type classCairo_1_1ScaledFont.html aeabb462f690ec9e22fc0096af38c46bc () const void text_to_glyphs classCairo_1_1ScaledFont.html abf1bb0d07de65cc8d8f7e64d83f0be26 (double x, double y, const std::string &utf8, std::vector< Glyph > &glyphs, std::vector< TextCluster > &clusters, TextClusterFlags &cluster_flags) void get_scale_matrix classCairo_1_1ScaledFont.html ac31d37dc06c1a95830cb9e30425f609c (Matrix &scale_matrix) const static RefPtr< ScaledFont > create classCairo_1_1ScaledFont.html adddf87ea689711ddbbee3028ed30e02b (const RefPtr< FontFace > &font_face, const Matrix &font_matrix, const Matrix &ctm, const FontOptions &options=FontOptions()) static RefPtr< ScaledFont > create classCairo_1_1ScaledFont.html a2d422798461d1ad67d0191b71df1c25e (const RefPtr< FontFace > &font_face, const cairo_matrix_t &font_matrix, const cairo_matrix_t &ctm, const FontOptions &options=FontOptions()) ScaledFont classCairo_1_1ScaledFont.html aca31f49f3121d2a6673205bebe7720c0 (const RefPtr< FontFace > &font_face, const cairo_matrix_t &font_matrix, const cairo_matrix_t &ctm, const FontOptions &options=FontOptions()) cobject * m_cobject classCairo_1_1ScaledFont.html aa6f45de0a89807dd6678029807227757 Cairo::FtScaledFont classCairo_1_1FtScaledFont.html Cairo::ScaledFont FT_Face lock_face classCairo_1_1FtScaledFont.html a8b1153077c36a983a8f9176e554ce980 () void unlock_face classCairo_1_1FtScaledFont.html a3b56b2e107f3119bca0a934926dce66e () static RefPtr< FtScaledFont > create classCairo_1_1FtScaledFont.html a3c247841af3702cd28ab89b9f843a67e (const RefPtr< FtFontFace > &font_face, const Matrix &font_matrix, const Matrix &ctm, const FontOptions &options=FontOptions()) FtScaledFont classCairo_1_1FtScaledFont.html a809853982f391540df5ac1c124477d65 (const RefPtr< FtFontFace > &font_face, const Matrix &font_matrix, const Matrix &ctm, const FontOptions &options=FontOptions()) Cairo::Surface classCairo_1_1Surface.html sigc::slot< ErrorStatus, const unsigned char *, unsigned int > SlotWriteFunc classCairo_1_1Surface.html a02fb9416d466b762bc5845b0ae204f49 sigc::slot< ErrorStatus, unsigned char *, unsigned int > SlotReadFunc classCairo_1_1Surface.html af66be8453e3fc558ea1282a911bf60e2 sigc::slot< void > SlotDestroy classCairo_1_1Surface.html a150d8ae84fa994f8e2032caa525c166a cairo_surface_t cobject classCairo_1_1Surface.html ad176eb7343b5902df3c19f9f56e59fb4 Surface classCairo_1_1Surface.html a47b90669a5a85d187cc0d28dc99915c8 (cairo_surface_t *cobject, bool has_reference=false) virtual ~Surface classCairo_1_1Surface.html a64ca52e9e8e9a64358ff85e6ef0d93c1 () const unsigned char * get_mime_data classCairo_1_1Surface.html a998e72aa2c251f96f450a168e16c87b6 (const std::string &mime_type, unsigned long &length) void set_mime_data classCairo_1_1Surface.html a7c572103fe56f7c6d0b83f2986338f82 (const std::string &mime_type, unsigned char *data, unsigned long length, const SlotDestroy &slot_destroy) void unset_mime_data classCairo_1_1Surface.html a5074b0c28c547802824d6d6cd2b0b8b5 (const std::string &mime_type) void get_font_options classCairo_1_1Surface.html a7e3dd712e398719315bbd89efe9af0b2 (FontOptions &options) const void finish classCairo_1_1Surface.html a8d8afee4ddb4935b85698f27099646a0 () void flush classCairo_1_1Surface.html a8f95678918fb40bae15f8aad2adb6ef2 () void mark_dirty classCairo_1_1Surface.html a77b1f860cc55f4ad168e100108e0b7bb () void mark_dirty classCairo_1_1Surface.html a1dbf3a036b7dc7c09fc86996ea1ee61f (int x, int y, int width, int height) void set_device_offset classCairo_1_1Surface.html a957e290a548d3cba65aa9e3fd0c86180 (double x_offset, double y_offset) void get_device_offset classCairo_1_1Surface.html a5861783d0f5f3b396f52791a93e668fe (double &x_offset, double &y_offset) const void set_fallback_resolution classCairo_1_1Surface.html ac8caca30702fe2bd69ae89929ee784e8 (double x_pixels_per_inch, double y_pixels_per_inch) void get_fallback_resolution classCairo_1_1Surface.html aa3a8d5a2b5c91d11f7758d0a67f6093a (double &x_pixels_per_inch, double &y_pixels_per_inch) const SurfaceType get_type classCairo_1_1Surface.html a7ee0760ea1895f5e6c8f6673f83cc072 () const Content get_content classCairo_1_1Surface.html a5fe39669b1d4239f3e4f73a8bf5105a5 () const void copy_page classCairo_1_1Surface.html aae22bcaa9becbf3ca703a380f70c2c0a () void show_page classCairo_1_1Surface.html ad318acd86c1875854ef4e1e2867052c3 () bool has_show_text_glyphs classCairo_1_1Surface.html ae4e133bf758c85195db6d3ccfbe1d54a () const void write_to_png classCairo_1_1Surface.html a153405d271814ab4d47b90a1c36d2370 (const std::string &filename) void write_to_png_stream classCairo_1_1Surface.html ab3eca5bc13abe27f470fdf08134269bb (const SlotWriteFunc &write_func) void write_to_png classCairo_1_1Surface.html a83763b7906a666b095ce376271455457 (cairo_write_func_t write_func, void *closure) RefPtr< Device > get_device classCairo_1_1Surface.html a3d1f19c2210e0e7a4aa3d3053b90107f () cobject * cobj classCairo_1_1Surface.html a17d8f600aedba416bb640ac841494bde () const cobject * cobj classCairo_1_1Surface.html af45e0ec675af4bb7259df99d202ac83c () const static RefPtr< Surface > create classCairo_1_1Surface.html ac471fbf586ba579565c6d876f9164717 (const RefPtr< Surface > other, Content content, int width, int height) static RefPtr< Surface > create classCairo_1_1Surface.html a7d9616c09e08857cef6f771545e55274 (const RefPtr< Surface > &target, double x, double y, double width, double height) cobject * m_cobject classCairo_1_1Surface.html a8c9aea28f0d1f6c2dcb507a2c7bb027c Cairo::ImageSurface classCairo_1_1ImageSurface.html Cairo::Surface ImageSurface classCairo_1_1ImageSurface.html a19a7d3c6f4320c4d812629b3c18925ac (cairo_surface_t *cobject, bool has_reference=false) virtual ~ImageSurface classCairo_1_1ImageSurface.html a489f33357db18c23bdf8ebd5d07d8264 () int get_width classCairo_1_1ImageSurface.html af75b30cde988ad6959bb75862f5b6e2a () const int get_height classCairo_1_1ImageSurface.html aa0e17bed71b125fd4725386ee1f14d07 () const unsigned char * get_data classCairo_1_1ImageSurface.html a94ba52fe4a201579c8a5541717822bdb () const unsigned char * get_data classCairo_1_1ImageSurface.html a8858eb704ebe2118baf83f2a104b9140 () const Format get_format classCairo_1_1ImageSurface.html aedccf9d08b3e5852c0bbb195cf1379a8 () const int get_stride classCairo_1_1ImageSurface.html a4b33c7f1c03197eb66dac3e909c5a39a () const static int format_stride_for_width classCairo_1_1ImageSurface.html ac74f130a3bb36bd9fd70003cd8562ce5 (Cairo::Format format, int width) static RefPtr< ImageSurface > create classCairo_1_1ImageSurface.html a82887e1a0480ab16aa891e135f2b28d6 (Format format, int width, int height) static RefPtr< ImageSurface > create classCairo_1_1ImageSurface.html afeb1b8203f9fa23ff4bca7b70723f370 (unsigned char *data, Format format, int width, int height, int stride) static RefPtr< ImageSurface > create_from_png classCairo_1_1ImageSurface.html aac35bcd255347574036746810f8a2978 (std::string filename) static RefPtr< ImageSurface > create_from_png_stream classCairo_1_1ImageSurface.html a7ac275170e7235457c9806aec7cf6f6a (const SlotReadFunc &read_func) static RefPtr< ImageSurface > create_from_png classCairo_1_1ImageSurface.html a43a9cf2aaaa8b2ef91da00bb244c7098 (cairo_read_func_t read_func, void *closure) Cairo::PdfSurface classCairo_1_1PdfSurface.html Cairo::Surface PdfSurface classCairo_1_1PdfSurface.html ab2da398a2c5b4d0489964eff3adad638 (cairo_surface_t *cobject, bool has_reference=false) virtual ~PdfSurface classCairo_1_1PdfSurface.html ae2a9198838ff56d5f46cd28becffdd48 () void set_size classCairo_1_1PdfSurface.html aaae35e5e41a731d3f16f3b238b364bdc (double width_in_points, double height_in_points) void restrict_to_version classCairo_1_1PdfSurface.html aba7ad33d45bfa8c2f3077a8efdeb01e3 (PdfVersion version) static RefPtr< PdfSurface > create classCairo_1_1PdfSurface.html a92403fe5ad8ae6862e005c3d185e9123 (std::string filename, double width_in_points, double height_in_points) static RefPtr< PdfSurface > create_for_stream classCairo_1_1PdfSurface.html aa8537c400b7b212550dd4091099a8b2a (const SlotWriteFunc &write_func, double width_in_points, double height_in_points) static RefPtr< PdfSurface > create classCairo_1_1PdfSurface.html aa9fc3e58c824a3fe4428b556f6938382 (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points) static const std::vector< PdfVersion > get_versions classCairo_1_1PdfSurface.html a12c8ebbb64c5c7536d7d532f4ca4cd7a () static std::string version_to_string classCairo_1_1PdfSurface.html a0868e0973fe3c8f1aaff2066c307c3fd (PdfVersion version) Cairo::PsSurface classCairo_1_1PsSurface.html Cairo::Surface PsSurface classCairo_1_1PsSurface.html a0b84b39dd7188da7e785ee8af85374f1 (cairo_surface_t *cobject, bool has_reference=false) virtual ~PsSurface classCairo_1_1PsSurface.html a118c07206670cc3535c739599d4d10d3 () void set_size classCairo_1_1PsSurface.html a9de17b1a3db7227a4f16fbf08a4cef2a (double width_in_points, double height_in_points) void dsc_comment classCairo_1_1PsSurface.html a9cd275173ea5dd88eeb485aab614cf92 (std::string comment) void dsc_begin_setup classCairo_1_1PsSurface.html a2c72ddaa92aaf109511586e445309131 () void dsc_begin_page_setup classCairo_1_1PsSurface.html adcaaa1cf7f554e71f85039424726f6c9 () void set_eps classCairo_1_1PsSurface.html aa2424e42623eb0c410573b465f7b0f00 (bool eps) bool get_eps classCairo_1_1PsSurface.html af31ab624b15d1d8a36ee6e06e3980cc9 () const void restrict_to_level classCairo_1_1PsSurface.html a2db7043f9b80e2d2082a66ba419b5d46 (PsLevel level) static RefPtr< PsSurface > create classCairo_1_1PsSurface.html a0d7a34b58211563e2b1f2f4f85818e90 (std::string filename, double width_in_points, double height_in_points) static RefPtr< PsSurface > create_for_stream classCairo_1_1PsSurface.html aaa633e9ca0c424eae66d63826684f4d4 (const SlotWriteFunc &write_func, double width_in_points, double height_in_points) static RefPtr< PsSurface > create classCairo_1_1PsSurface.html a108e885033a7a6c2697f7a94b40bb113 (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points) static const std::vector< PsLevel > get_levels classCairo_1_1PsSurface.html a63de398067f3af5e6179e057063cc76d () static std::string level_to_string classCairo_1_1PsSurface.html a7afd98b03c189f1761cbe7e90db334dc (PsLevel level) Cairo::SvgSurface classCairo_1_1SvgSurface.html Cairo::Surface SvgSurface classCairo_1_1SvgSurface.html a67303207546ee57abfa62d4d0892575f (cairo_surface_t *cobject, bool has_reference=false) virtual ~SvgSurface classCairo_1_1SvgSurface.html af782712407e736ea1d5c4e4c272ff7f1 () void restrict_to_version classCairo_1_1SvgSurface.html a4ac854641fe28b16c5e01582d91e22dc (SvgVersion version) static RefPtr< SvgSurface > create classCairo_1_1SvgSurface.html a54d98ee27aa6274627335d8ccbd34a6e (std::string filename, double width_in_points, double height_in_points) static RefPtr< SvgSurface > create_for_stream classCairo_1_1SvgSurface.html a3cc1ca3b8191ab2366b20fea664c2ce9 (const SlotWriteFunc &write_func, double width_in_points, double height_in_points) static RefPtr< SvgSurface > create classCairo_1_1SvgSurface.html a88fc030bd0b9ffa7f3455fcdf383ea16 (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points) static const std::vector< SvgVersion > get_versions classCairo_1_1SvgSurface.html a25403772072f28f7c40e6478332babaa () static std::string version_to_string classCairo_1_1SvgSurface.html a3a15a5df131a8ef6cc8786342c7e6dfc (SvgVersion version) Cairo::GlitzSurface classCairo_1_1GlitzSurface.html Cairo::Surface GlitzSurface classCairo_1_1GlitzSurface.html a5cac88d99e13f65090f25ed28983b8ad (cairo_surface_t *cobject, bool has_reference=false) virtual ~GlitzSurface classCairo_1_1GlitzSurface.html ab84419874031e8e7b465f185e317b9c6 () static RefPtr< GlitzSurface > create classCairo_1_1GlitzSurface.html a4856fa658883d3a972dd54263f016a70 (glitz_surface_t *surface) Cairo::Win32FontFace classCairo_1_1Win32FontFace.html Cairo::FontFace static RefPtr< Win32FontFace > create classCairo_1_1Win32FontFace.html af494a9cc048461b0dbd8e6789c20b9b4 (LOGFONTW *logfont) static RefPtr< Win32FontFace > create classCairo_1_1Win32FontFace.html a9fe45f8a4ae6329e26d2472211c430a9 (HFONT font) static RefPtr< Win32FontFace > create classCairo_1_1Win32FontFace.html a69aef61b50a464318228bfb4a6a1de0c (LOGFONTW *logfont, HFONT font) Win32FontFace classCairo_1_1Win32FontFace.html ab1a4b0a5dd995ae84c35823b8fa801c3 (LOGFONTW *logfont) Win32FontFace classCairo_1_1Win32FontFace.html a0ed6f8b28cd345795785436211a54673 (HFONT font) Win32FontFace classCairo_1_1Win32FontFace.html a4a6934587e6ee36ec489299c40ac97d8 (LOGFONTW *logfont, HFONT font) Cairo::Win32ScaledFont classCairo_1_1Win32ScaledFont.html Cairo::ScaledFont void select_font classCairo_1_1Win32ScaledFont.html ac6212da0cd1703a735c327480c4342cf (HDC hdc) void done_font classCairo_1_1Win32ScaledFont.html ab06d5966b259ee21db5da72eb3726afd () double get_metrics_factor classCairo_1_1Win32ScaledFont.html afdb579126ac08de40624567c18088e40 () const void get_logical_to_device classCairo_1_1Win32ScaledFont.html ad3c3ef003def222634fecee16e8e4139 (Matrix &logical_to_device) const void get_device_to_logical classCairo_1_1Win32ScaledFont.html a1d559473b01a1446eca422bc77154e54 (Matrix &device_to_logical) const static RefPtr< Win32ScaledFont > create classCairo_1_1Win32ScaledFont.html a5571af577942771c07bf33e46ff4e715 (const RefPtr< Win32FontFace > &font_face, const Matrix &font_matrix, const Matrix &ctm, const FontOptions &options=FontOptions()) Win32ScaledFont classCairo_1_1Win32ScaledFont.html a6257a1be5c290dedad297f34db488211 (const RefPtr< Win32FontFace > &font_face, const Matrix &font_matrix, const Matrix &ctm, const FontOptions &options=FontOptions()) Cairo::Win32Surface classCairo_1_1Win32Surface.html Cairo::Surface Win32Surface classCairo_1_1Win32Surface.html a74e9cee0ea5f89bcc5dc7444217b1f1d (cairo_surface_t *cobject, bool has_reference=false) virtual ~Win32Surface classCairo_1_1Win32Surface.html a04fd3568ffc9a969d7f625f28ae1e584 () HDC get_dc classCairo_1_1Win32Surface.html acdcc018282d8cfed8bc992233a378aa4 () const RefPtr< ImageSurface > get_image classCairo_1_1Win32Surface.html ae34550ff9da8de1739327291c73a9f73 () static RefPtr< Win32Surface > create classCairo_1_1Win32Surface.html a6e5658b32a2d2083d0fddf81428ca1fb (HDC hdc) static RefPtr< Win32Surface > create classCairo_1_1Win32Surface.html abd2b5f85390a34531a0c40e6e6c692d8 (Format format, int width, int height) static RefPtr< Win32Surface > create_with_dib classCairo_1_1Win32Surface.html a78cfec22533db4a28356dedf7a82163e (Format format, int width, int height) static RefPtr< Win32Surface > create_with_ddb classCairo_1_1Win32Surface.html a8797038d60b767e538f7302e46471817 (HDC hdc, Format format, int width, int height) Cairo::Win32PrintingSurface classCairo_1_1Win32PrintingSurface.html Cairo::Surface Win32PrintingSurface classCairo_1_1Win32PrintingSurface.html ac487a4537e12408e1420051976477032 (cairo_surface_t *cobject, bool has_reference=false) virtual ~Win32PrintingSurface classCairo_1_1Win32PrintingSurface.html abacc406740bec0fe5d1b4a9f50642af1 () static RefPtr< Win32PrintingSurface > create classCairo_1_1Win32PrintingSurface.html a433dfdbac69b4ca3428f9b7d1066a317 (HDC hdc) Cairo::XlibSurface classCairo_1_1XlibSurface.html Cairo::Surface XlibSurface classCairo_1_1XlibSurface.html afe45b69c03a79879b0e1b1cabb13a6da (cairo_surface_t *cobject, bool has_reference=false) virtual ~XlibSurface classCairo_1_1XlibSurface.html a362141c504db6742c4e09af52945709f () void set_size classCairo_1_1XlibSurface.html a69b6337fa91dd53a054427e9a8235f16 (int width, int height) void set_drawable classCairo_1_1XlibSurface.html a92f59aab3ce0a113df0f6de18f306816 (Drawable drawable, int width, int height) Drawable get_drawable classCairo_1_1XlibSurface.html ae72506a16c6865a5709d38e2e33b1771 () const const Display * get_display classCairo_1_1XlibSurface.html ad073af9affb7338e9b78589e7565a320 () const Display * get_display classCairo_1_1XlibSurface.html afe98ccb169fe84f05ff7f2c1fb413a5a () Screen * get_screen classCairo_1_1XlibSurface.html a95da96899c1098dae4dc34d0b489d4b5 () const Screen * get_screen classCairo_1_1XlibSurface.html ae0a1ccd477c2e5691b5a748c71191338 () const Visual * get_visual classCairo_1_1XlibSurface.html ada56c72e6f48420340a0bc4ae0ae22b0 () const Visual * get_visual classCairo_1_1XlibSurface.html a2e1b0cc64bd149a141a08112236726a1 () const int get_depth classCairo_1_1XlibSurface.html a476e5ddd3deee79c8f47be01e1e0f7e7 () const int get_height classCairo_1_1XlibSurface.html a5ebd424f0c526c82141051a9824f3c69 () const int get_width classCairo_1_1XlibSurface.html a8cce1064a3f867657eb31e83d1dd464d () const XRenderPictFormat * get_xrender_format classCairo_1_1XlibSurface.html a285b8e6394c22f395cca79c92dc17429 () const static RefPtr< XlibSurface > create classCairo_1_1XlibSurface.html ae4c1ee03939f091bc5f1bc75e8b35dcb (Display *dpy, Drawable drawable, Visual *visual, int width, int height) static RefPtr< XlibSurface > create classCairo_1_1XlibSurface.html a8ece252d2269f2f73c9f436dbc6c8a30 (Display *dpy, Pixmap bitmap, Screen *screen, int width, int height) static Cairo::RefPtr< Cairo::XlibSurface > create_with_xrender_format classCairo_1_1XlibSurface.html a88149191bb6cef8fbe5dded45be35355 (Display *dpy, Drawable drawable, Screen *screen, XRenderPictFormat *format, int width, int height) cairomm-1.10.0/docs/reference/PaxHeaders.11012/cairomm-header.html0000644000175000017500000000005011561715437022675 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/cairomm-header.html0000644000175000017500000000042611561715437023113 0ustar00murraycmurrayc00000000000000 $title cairomm-1.10.0/docs/reference/PaxHeaders.11012/html0000644000175000017500000000005011561716653020022 xustar000000000000000020 atime=1304927659 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/0000755000175000017500000000000011561716653020313 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1LinearGradient-members.html0000644000175000017500000000005011561716354027747 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1LinearGradient-members.html0000644000175000017500000002063011561716354030164 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::LinearGradient Member List

This is the complete list of members for Cairo::LinearGradient, including all inherited members.
add_color_stop_rgb(double offset, double red, double green, double blue)Cairo::Gradient
add_color_stop_rgba(double offset, double red, double green, double blue, double alpha)Cairo::Gradient
cobj()Cairo::Pattern [inline]
cobj() const Cairo::Pattern [inline]
cobject typedefCairo::Pattern
create(double x0, double y0, double x1, double y1)Cairo::LinearGradient [static]
get_color_stops() const Cairo::Gradient
get_linear_points(double& x0, double& y0, double& x1, double& y1) const Cairo::LinearGradient
get_matrix(Matrix& matrix) const Cairo::Pattern
get_matrix() const Cairo::Pattern
get_matrix(cairo_matrix_t& matrix) const Cairo::Pattern
get_type() const Cairo::Pattern
Gradient(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Gradient [explicit]
Gradient()Cairo::Gradient [protected]
LinearGradient(double x0, double y0, double x1, double y1)Cairo::LinearGradient [protected]
LinearGradient(cairo_pattern_t* cobject, bool has_reference=false)Cairo::LinearGradient [explicit]
m_cobjectCairo::Pattern [protected]
Pattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Pattern [explicit]
Pattern()Cairo::Pattern [protected]
reference() const Cairo::Pattern
set_matrix(const Matrix& matrix)Cairo::Pattern
set_matrix(const cairo_matrix_t& matrix)Cairo::Pattern
unreference() const Cairo::Pattern
~Gradient()Cairo::Gradient [virtual]
~LinearGradient()Cairo::LinearGradient [virtual]
~Pattern()Cairo::Pattern [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x62.html0000644000175000017500000000005011561716354023552 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x62.html0000644000175000017500000000761111561716354023773 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- b -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_9.png0000644000175000017500000000005011561716353023655 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_9.png0000644000175000017500000000322411561716353024072 0ustar00murraycmurrayc00000000000000‰PNG  IHDRp(©_é†bKGDÿÿÿ ½§“IIDAThíš_HSoÇŸí4s[Xm¶Ä†È$M—¸:hº6˜dÑÖ…-ëB ½ˆŒÀ "ŠÚE„RI:‹Œ¤5EÄцÿC u,©ýÑq2æÖõü.NŒµ­ió¤?ã|®žóì}þœïÞóž÷ƒ  ¡æz7ð¯A J1´ ³)丫«Ëjµ®K+‘H¤P(~q¿¢T*ש· ‰R© 0t†’ƒZ[[×¾¹ ÇÙ³gÃôJ1´ C J1´ C J1´ aÛ´Bp×h4ƒƒƒàÔ©Sééé¿ùýû÷Ç_»v-æZÐÔÔäp8H;>>þÈ‘#ûöíû£ ”´±,1ÎP§Ó™——§V«9ŽÙlÎÏϯ¬¬üÝ`·ÛÝØØk‡?ihhÐjµ6›Íf³ ;v,//ï2PÒÆò„?)…ïþÃQ*•ÅÅÅ8Ž“‡###ñññV«uÙÀ˜AQôÁƒC»ÝŽ Hooïß«¸,µŠe†º\®ööö .lÚôsÅ‹ÅN§º»»KJJx<ÞÁƒ[ZZ`ffæøñãd`QQ‘F£INN³Z­W®\ …—.]#Sݽ{·¬¬,Ü!)))11Ñn·Àää¤B¡Ø¶m[aaá›7oÈÝÝÝÙÙÙ‰‰‰•••ׯ_ïìì ´᥿}û¦P(:::²³³SRRjkkcPb»äûûû ä¥@ii©T*%âòåË'Nœ ;®ªªòù|~¿¿§§æççõz}CCƒZ­NKK“Ëå›7oÖëõB¡P*•â8¹¹¹dÎ`0 ³X,‹ehh¨¦¦†Çã‘¥sssGFF.^¼¨R©Ìf3ŽãgΜQ©Týýý~¿_­VÏÎÎÚ€ðÒ8Ž÷õõ=}úôíÛ·¯_¿¾sçNà?þ3V2CxþüyRRRÄŸæççI{bb‚ÅbMNN~þü™ËåñõëWxÿþ=A&“i×®]ÀœœN¥(Š¢\.—Ïçóùü-[¶À“'O‚øòåKJJÊââ"9ìôéÓ7oÞÔét‰„ô¸ÝnAš››mD,M^^>| ‡jkk‹®e—üÎ;§§§?}úììíí}õê‹Å2™LGMKK;þ|x,“É,,,€®®.©TðËd2N½îíÛ·1 Ã0Ìív?{ö¬¼¼Ün·¿{÷Ã0‘H”šššššª×ëN§N§ $OHHÈÊÊ Î¥ôHAªz‚1ÄH¥R‡ÓÙÙðQQQaXGGGUUÕÕ«W'&&ŒF#›Í‰e0qqq°wïÞñññ€||<ä´£5Íd–––²Ùl‹Å’••%‹§‚¸wï^zzz ùÂÂÂÔÔTpx”ÒLæj7æ±Ä³Ùìêêêúúz³Ù ~¿¿¾¾Þår;wÎçóíÙ³G¡P òòå˹¹¹¥¥¥ˆIärùÔÔ”^¯³Ùl0È;ÆÐÐV«%ÇÛ! ²}ûvŸÏWPPàp84 ÌÍÍeffšÍæ’’£Ñ8:: ­­­‡Á`,[šbÜØ×ÔÔø|>EE"‘Ëå’H$MMMçäÉ“uuu(Š&$$ìß¿_,—••½xñ"´­­mͶÁðoëįŸ„ ›Í¶†-ml„BaAAA°'TPšUB¯¡C J1´ ó„½ý¥¿¼¿IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1RadialGradient__inherit__graph.png0000644000175000017500000000005011561716354031322 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1RadialGradient__inherit__graph.png0000644000175000017500000001362111561716354031541 0ustar00murraycmurrayc00000000000000‰PNG  IHDR›Ëöv,bKGDÿÿÿ ½§“FIDATxœí{P“WúÇO.„› J¹lDZ H[\kÙ¥na6Ð-mÝé°^X•-·¡k§Ž.t×u•ÊÚvEZ;¥‹DЪ\´ —¸nq %€P.! IÞ÷÷ÇÛÉ/ Bbçó×yOÞó<ß÷ýæ¼çärH8ŽDÍ-ad£°… ä(l G¡7*澚_l6Û¸P.ñƒ> 1zX(9uê”ÑcßÑàà`6›mô°PRRRbô˜h… ä(l Ga9 ÈQØ0þ\w)¨T*‡Ããñœœœâââ¶lٲЙ‰äܹsYYY+IwþüùÑÑQ¢ìéékkk»’€O3fè£###'Ož´±±áóùÁÁÁ\èä©©©‚‚‚f88hcc]TT¤P( Fvvv___nn®ÝÜÜŽãåååùùùD4ݲ¿¿^^Þøøøøøxuuµ¿¿jjªÁt‰„N§ß¾}{nnN·ŒãøöíÛ³³³/\¸°nݺööv]Iýýý4->>~`` ¥¥ÅÒÒòþýû½]«ÑGMíè7ß|ãââb𥹹9G”{zz,,,®£€ªª*ÇÛÚÚÜÜÜ´ ýýý«««IêïïO&“) …BqvvNKK1˜_à©ûðáCƒ¡Ñhˆúøøøœœ]IÄ3¦©©‰8!<<¼¤¤dÑ[…ã«ã¨©çºÎÎΣ££<غu«¶²®®nbb"..®­­íðáÃÀÑÑq~[2™¨©© ÕÖGDDTWW³X¬Eòž={699Y¯rñtºÜ¸qC,{xx‡r¹œN§ëJ" "  eñ€«‡© µ±±ùî»ï´Žâ8¾wïÞôôôŠŠŠC‡•——GGGS(;;;½¶$‰F£|}}/^¼¨­ïîîNJJzR%M§‹“ɼ{÷.q(—ËI$’X,ÖJ" “ÍÿùÞÔ ¬­­333óóóù|>@.—ççç‹D¢¤¤$™LæííÍb±(Jii©T*Å0Ì`èèèþþþ††ŸÏçr¹Ä쩹¹ùæÍ›Ä9ºeƒ,’N7/Q æp8©TºuëVBÿSˆÞS‡NLL ðòòruu½råÊ… lllÞ|óÍÙÙÙ€€€èèèÆÆF&“¹Ðd•F£9s&99ÙÏÏo×®]Ÿ|òɆ _ýµv’©[6ÈBé6oÞœ’’ÂãñtËd2ùôéÓÇŽc2™^^^l6;00ÐÈ÷ÅXwXKøË Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 +ßLÏÜWðxÈdK 's«xË Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 ÈQØ@ŽÂr6£°… ä(l Ga9 ºÛâ™[ËjA&[ZX8™[Åj¡·#¢þ¯š³ÙìEöÞEúèÑ£ýû÷_ºtÉÊʪ··7%%%??¡“ggg¯]»¶2…àÊ•+÷îÝ~øáþýû—Øöûï¿ïìì\\Æììì—_~I”'''8ðÅ_(й¹¹ãÇ'$$LO/çÇx—’z!Nœ8122²Œ¤`}ôÌ™3¹¹¹Ä ýýý{÷îe³Ùt:}þÉ..._ýõò”é÷ÓY=JHHàóùÛ¶m[bó¥Ë8uê™L.((°²²¤¤¤dff:thyÊ—wîÞ½«½Þ'åÉúèääd]]ÝÎ;µ[n¸»»geeMLLZZZ>üðÃ]»v8p ¶¶ ‘Hþú׿ 333ëêê~ÿûß ŒŒŒ|þùçl6ûÓO? Bý÷¿ÿýûßÿ>¿¬Ç† ìììÆÇÇ f…ÂÜÜÜßýîw999J¥RWÆBMD"QCCî]»; ²³³½¼¼p×»„e¤JOOMMMmjjH¥Òôôô¦¦¦÷ß?11±°°pôèÑÉÉÉ£Gòùü'r‡àÉ}ðà @·òÕW_e2™8Žúé§aaaEEE ùùùJ¥R©T¶¶¶T*UGGGyyùþýû]]]ÿò—¿XXXüûßÿvttüóŸÿ¬V« ÃËË‹ˆ©[LMMýøã?þøcOOÏùóç×­[h0£\.OIIa0ÿùÏlmmëëëZ›h³tvvR(”ÐÐPÝ«sppعs'‰DÒ½:þ¤©999ÞÞÞ………¯¿þznn®P(T«Õ|>ÿÆÿøÇ?rrr¾ýöÛôôt;;»ôôôå-Ç>ÙSW&“­_¿~ݺuó_Òh4}ôÑ–-[2™L,ëT*ß~ûííÛ·÷ööbö§?ý ””tûöíööö€€Ý[©w[‹‹‹ËÊÊ*•J.—ggg¯]»V­VÏÏØÛÛëîîþî»ï:TSSóX‘4M«Á`ØÚÚ‡ééé---Dù³Ï>sttÔ^Â2R‹D"‰D’œœL"‘bbb¸\nSSÓo~óµZ˜˜èääääääííÝßß¿iÓ&‰´fÍ*u9óÖ'k³~ýú‰‰‰M›6i+ÛÛÛ¥RiDDÄ?üpþüù¡¡!{{ûùmI$ÒK/½hnnöõõÕÖoÛ¶Çãéõ{=öìÙCŒ+8ŽWWWÿóŸÿ xî¹çæglmm%²( “ÉüÙÕR©‹ˆ¤Óé"‘Ã02™ ÈÍÍU«Õ†0I÷ ÆY<õÝ»w§¦¦þð‡?‡J¥ÒÁÁ(kû"‘w…<™£L&ÓÒÒòÿûŸÖQÇOž<™ÐÔÔ”ŸŸŸ››ûòË/“Éäßþö·zmI$ñ¦Û¼yóÍ›7µõƒƒƒ,k‰H$‹Å:}ú4ñžŸñ…^hhhÐ ¨=\\ä‹/¾ˆaXcccDD€Mëëëµs]í%Œ³xjww÷Í›7ñÅÄ¡R©$‘H333DØ%^þRx²7…¥¥å[o½uùòe¡PHÈ*--œœ|íµ× ƒÁ “Éõõõ2™l¡/\_~ùåÑÑÑŽŽ€P(¼ÿ>ñŒíéé¹wïqŽnY_1™¼fÍ…Ba0cPPP[[›@ p¹ÜÑÑQݶ‹‹\³fÍ»ï¾{úôiBŽãÍÍÍ/^œÿô[Fj&“)‹‰¯Jd2ÙîÝ»‰{¸Ëþºú‰ŸÔï¼óŽR©Ü³gNŸœœ|ñų²²,--ÃÃÿüòË={öØÚÚzzzº»»òÉ'ü±”Tjjjê‰'¨TªL&KNN^»v- ªªª««ëW¿ú•^y> £¶¶6##c~ÆÏ?ÿüücvv¶­­­L& ×mhPäÑ£Gµ'$&&ÒÒÒìíí‰ÙPVVÖõë×õŒ³xj‰tðàÁ¯¾úª°°pzzúµ×^óöö&>#̇N§çå奦¦êN—ÈÏö’ ‘HGŽYÊ÷£ …B(:;;k‚ÞÞ^WWWkkëÉÉÉÁÁA__ßééiƒ3)Ç{{{=<?S q6£°… ä(l Gaãÿs€"||iIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1RadialGradient-members.html0000644000175000017500000000005011561716354027731 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1RadialGradient-members.html0000644000175000017500000002100111561716354030137 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::RadialGradient Member List

This is the complete list of members for Cairo::RadialGradient, including all inherited members.
add_color_stop_rgb(double offset, double red, double green, double blue)Cairo::Gradient
add_color_stop_rgba(double offset, double red, double green, double blue, double alpha)Cairo::Gradient
cobj()Cairo::Pattern [inline]
cobj() const Cairo::Pattern [inline]
cobject typedefCairo::Pattern
create(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)Cairo::RadialGradient [static]
get_color_stops() const Cairo::Gradient
get_matrix(Matrix& matrix) const Cairo::Pattern
get_matrix() const Cairo::Pattern
get_matrix(cairo_matrix_t& matrix) const Cairo::Pattern
get_radial_circles(double& x0, double& y0, double& r0, double& x1, double& y1, double& r1) const Cairo::RadialGradient
get_type() const Cairo::Pattern
Gradient(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Gradient [explicit]
Gradient()Cairo::Gradient [protected]
m_cobjectCairo::Pattern [protected]
Pattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Pattern [explicit]
Pattern()Cairo::Pattern [protected]
RadialGradient(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)Cairo::RadialGradient [protected]
RadialGradient(cairo_pattern_t* cobject, bool has_reference=false)Cairo::RadialGradient [explicit]
reference() const Cairo::Pattern
set_matrix(const Matrix& matrix)Cairo::Pattern
set_matrix(const cairo_matrix_t& matrix)Cairo::Pattern
unreference() const Cairo::Pattern
~Gradient()Cairo::Gradient [virtual]
~Pattern()Cairo::Pattern [virtual]
~RadialGradient()Cairo::RadialGradient [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_6.png0000644000175000017500000000005011561716353023652 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_6.png0000644000175000017500000000245511561716353024074 0ustar00murraycmurrayc00000000000000‰PNG  IHDRc(eÆÓmbKGDÿÿÿ ½§“âIDAThí˜_({oÇŸí æBQ6 1ùÓ¹ Ö$­+ÄÅìB¸Qj…Å7B–ùs#2æ)6$4iXK„ÚIJ?ÔòghfÏïâø-æŒÇù*¾¿ßy]}Îç<Ïó~Îûœç9ŸsB@ƒó§'ð×@;… í*^nÇJ¥R§ÓýÈT~ÙÙÙÑÑÑoRð-"‘è‡æö»Édnά>‘HÿßzGïS¨ÐN¡B;… í*´S¨ÐN¡â^y¢óôô$—ËÕjupppQQQ\\œ§–V«µ¿¿¿¡¡²```Àd2qlll^^ž¿¿ÿ§½l6[OOOSSÓŸHP|¦ŒFcZZZgg'‹ÅÒjµ<¯ªªÊSãëëëÁÁAª3|¡··W©T ƒÁÐÕÕÅf³ççç=5®¨¨Ðëõ€ÛÛÛ–––?”~Á­è‰D(•§H$ …OOOÄáþþ¾¯¯¯N§ûþ*ð_pïïïwÖÕÕ …BOÃÂÂööö „F£ð¯jÄýS,Ëäädyy¹—×ËâMLL4€ååå¼¼¼ÀÀÀŒŒŒÑÑQ€ÙlÎÏÏ':æääÈåòÐÐЃƒNW[[.‘Hˆ¡:::ÊÊÊÞÇnà8¾»»K*'‹-‹X,^__'q¹ÜÈÈÈÖÖV ×û‚›s(ÏÔüü<“ɼººzÊétr¹Ü¾¾>«Õ*—˃‚‚l6›^¯÷÷÷‡žŸŸ³X,@0::úøøÙØØ¨×ëÛÚÚìv;„pvvV*•£½Žqïîî¾¼¼¼¼¼T(8Ž×ÔÔÊY­ÖÕÕU»ÝNܼ³³³//¯ÃÃCjϧFFF8é)»Ý®V«‰øøøØÛÛûäääµS€¥¥%¡F£ suÄq\¡P| Šã8“ÉÄ0 Ã06›][[k4IåàÛÕØÞÞ&Ú¤§§OOO|uðW›Í6™L‡‡‡¯“kkkÓÓÓÞÞÞ&777&&¦´´ô}_&“™••P*•|>ß•ÏÌÌT(ëöõõ9‡Ãa2™:;;9Χr ÃRSS‰Øµ]P€ŠS|>ŸÅb-,,¸2ÂÊÊÊ«««¹¹¹êê꺺ºããã­­-???·¾ ÃÇÇ””tttäÊ%$$|u&ŸÊ¹D¿:ò{¨8åççW__/•JµZ-àááA*•Z,–’’’ûûûøøøììl 榦nnnœN'é àôôtcc ÕjU*±ëïìì,..m^Ǥ| çI—2ë©ææf±Xœ’’ÂårCCCgff†††X,Vaa¡ÍfKII›››‰‰‰ž^^>>>½½½ÉÉÉííí€ááa×êuLŠ'¹¨¨(‰D¢V«©]9nûb=Epww§R©...ÜòæööBh6›××ןŸŸI_”B§Ó¹··çp8Iq“ƒ^__¯¬¬X­Vj²ßþâ+..ŒçÝøÛ`02™Œ°Âý…Œ í*´S¨ÐN¡B;… í*´S¨ÐN¡B;… É_ˆ‰‰‰oùøþáþ5£R© ÃOÍæ÷Àãñ"""^gÜ¢ñ½O¡B;… í*ÿêÍ^TÃ%™UIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32FontFace-members.html0000644000175000017500000000005011561716354027367 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32FontFace-members.html0000644000175000017500000001314411561716354027606 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Win32FontFace Member List

This is the complete list of members for Cairo::Win32FontFace, including all inherited members.
cobj()Cairo::FontFace [inline]
cobj() const Cairo::FontFace [inline]
cobject typedefCairo::FontFace
create(LOGFONTW* logfont)Cairo::Win32FontFace [static]
create(HFONT font)Cairo::Win32FontFace [static]
create(LOGFONTW* logfont, HFONT font)Cairo::Win32FontFace [static]
FontFace(cairo_font_face_t* cobject, bool has_reference=false)Cairo::FontFace [explicit]
get_type() const Cairo::FontFace
m_cobjectCairo::FontFace [protected]
reference() const Cairo::FontFace
unreference() const Cairo::FontFace
Win32FontFace(LOGFONTW* logfont)Cairo::Win32FontFace [protected]
Win32FontFace(HFONT font)Cairo::Win32FontFace [protected]
Win32FontFace(LOGFONTW* logfont, HFONT font)Cairo::Win32FontFace [protected]
~FontFace()Cairo::FontFace [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x75.html0000644000175000017500000000005011561716354024571 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x75.html0000644000175000017500000001157511561716354025016 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- u -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1RefPtr-members.html0000644000175000017500000000005011561716354026261 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1RefPtr-members.html0000644000175000017500000001523211561716354026500 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::RefPtr< T_CppObject > Member List

This is the complete list of members for Cairo::RefPtr< T_CppObject >, including all inherited members.
cast_const(const RefPtr< T_CastFrom >& src)Cairo::RefPtr< T_CppObject > [inline, static]
cast_dynamic(const RefPtr< T_CastFrom >& src)Cairo::RefPtr< T_CppObject > [inline, static]
cast_static(const RefPtr< T_CastFrom >& src)Cairo::RefPtr< T_CppObject > [inline, static]
clear()Cairo::RefPtr< T_CppObject > [inline]
operator bool() const Cairo::RefPtr< T_CppObject > [inline]
operator!=(const RefPtr< T_CppObject >& src) const Cairo::RefPtr< T_CppObject > [inline]
operator->() const Cairo::RefPtr< T_CppObject > [inline]
operator=(const RefPtr< T_CppObject >& src)Cairo::RefPtr< T_CppObject > [inline]
operator=(const RefPtr< T_CastFrom >& src)Cairo::RefPtr< T_CppObject > [inline]
operator==(const RefPtr< T_CppObject >& src) const Cairo::RefPtr< T_CppObject > [inline]
RefPtr()Cairo::RefPtr< T_CppObject > [inline]
RefPtr(T_CppObject* pCppObject)Cairo::RefPtr< T_CppObject > [inline, explicit]
RefPtr(T_CppObject* pCppObject, int* refcount)Cairo::RefPtr< T_CppObject > [inline, explicit]
RefPtr(const RefPtr< T_CppObject >& src)Cairo::RefPtr< T_CppObject > [inline]
RefPtr(const RefPtr< T_CastFrom >& src)Cairo::RefPtr< T_CppObject > [inline]
swap(RefPtr< T_CppObject >& other)Cairo::RefPtr< T_CppObject > [inline]
~RefPtr()Cairo::RefPtr< T_CppObject > [inline]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func.html0000644000175000017500000000005011561716354024006 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func.html0000644000175000017500000001043411561716354024224 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- a -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/pdf-surface_8cc-example.html0000644000175000017500000000005011561716354025350 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/pdf-surface_8cc-example.html0000644000175000017500000001362611561716354025574 0ustar00murraycmurrayc00000000000000 cairomm: pdf-surface.cc

pdf-surface.cc

An example of using Cairo::PdfSurface class to render to PDF

/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris,
 * et. al.
 */
#if defined(_MSC_VER)
#define _USE_MATH_DEFINES
#endif 

#include <string>
#include <iostream>
#include <cairommconfig.h>
#include <cairomm/context.h>
#include <cairomm/surface.h>

#include <cmath>

int main()
{
#ifdef CAIRO_HAS_PDF_SURFACE

    std::string filename = "image.pdf";
    int width = 600;
    int height = 400;
    Cairo::RefPtr<Cairo::PdfSurface> surface =
        Cairo::PdfSurface::create(filename, width, height);

    Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);

    cr->save(); // save the state of the context
    cr->set_source_rgb(0.86, 0.85, 0.47);
    cr->paint(); // fill image with the color
    cr->restore(); // color is back to black now

    cr->save();
    // draw a border around the image
    cr->set_line_width(20.0); // make the line wider
    cr->rectangle(0.0, 0.0, cairo_image_surface_get_width(surface->cobj()), height);
    cr->stroke();

    cr->set_source_rgba(0.0, 0.0, 0.0, 0.7);
    // draw a circle in the center of the image
    cr->arc(width / 2.0, height / 2.0,             height / 4.0, 0.0, 2.0 * M_PI);
    cr->stroke();

    // draw a diagonal line
    cr->move_to(width / 4.0, height / 4.0);
    cr->line_to(width * 3.0 / 4.0, height * 3.0 / 4.0);
    cr->stroke();
    cr->restore();

    cr->show_page();

    std::cout << "Wrote PDF file \"" << filename << "\"" << std::endl;
    return 0;

#else

    std::cout << "You must compile cairo with PDF support for this example to work."
        << std::endl;
    return 1;

#endif
}
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/ps-surface_8cc-example.html0000644000175000017500000000005011561716354025221 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/ps-surface_8cc-example.html0000644000175000017500000001366211561716354025445 0ustar00murraycmurrayc00000000000000 cairomm: ps-surface.cc

ps-surface.cc

An example of using Cairo::PsSurface class to render to PostScript

/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris,
 * et. al.
 */
#if defined(_MSC_VER)
#define _USE_MATH_DEFINES
#endif 

#include <string>
#include <iostream>
#include <cairommconfig.h>
#include <cairomm/context.h>
#include <cairomm/surface.h>

#include <cmath>

int main()
{
#ifdef CAIRO_HAS_PS_SURFACE

    std::string filename = "image.ps";
    double width = 600;
    double height = 400;
    Cairo::RefPtr<Cairo::PsSurface> surface =
        Cairo::PsSurface::create(filename, width, height);

    Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);

    cr->save(); // save the state of the context
    cr->set_source_rgb(0.86, 0.85, 0.47);
    cr->paint(); // fill image with the color
    cr->restore(); // color is back to black now

    cr->save();
    // draw a border around the image
    cr->set_line_width(20.0); // make the line wider
    cr->rectangle(0.0, 0.0, cairo_image_surface_get_width(surface->cobj()), height);
    cr->stroke();

    cr->set_source_rgba(0.0, 0.0, 0.0, 0.7);
    // draw a circle in the center of the image
    cr->arc(width / 2.0, height / 2.0,             height / 4.0, 0.0, 2.0 * M_PI);
    cr->stroke();

    // draw a diagonal line
    cr->move_to(width / 4.0, height / 4.0);
    cr->line_to(width * 3.0 / 4.0, height * 3.0 / 4.0);
    cr->stroke();
    cr->restore();

    cr->show_page();

    std::cout << "Wrote PostScript file \"" << filename << "\"" << std::endl;
    return 0;

#else

    std::cout << "You must compile cairo with PS (Postscript) support for this example to work."
        << std::endl;
    return 1;

#endif
}
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x7e.html0000644000175000017500000000005011561716354023636 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x7e.html0000644000175000017500000001607011561716354024056 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- ~ -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SolidPattern.html0000644000175000017500000000005011561716354026037 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SolidPattern.html0000644000175000017500000002634211561716354026262 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::SolidPattern Class Reference

Cairo::SolidPattern Class Reference

Inheritance diagram for Cairo::SolidPattern:

List of all members.

Public Member Functions

 SolidPattern (cairo_pattern_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
void get_rgba (double& red, double& green, double& blue, double& alpha) const
 Gets the solid color for a solid color pattern.
virtual ~SolidPattern ()

Static Public Member Functions

static RefPtr< SolidPatterncreate_rgb (double red, double green, double blue)
static RefPtr< SolidPatterncreate_rgba (double red, double green, double blue, double alpha)

Constructor & Destructor Documentation

Cairo::SolidPattern::SolidPattern ( cairo_pattern_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::SolidPattern::~SolidPattern ( ) [virtual]

Member Function Documentation

static RefPtr<SolidPattern> Cairo::SolidPattern::create_rgb ( double  red,
double  green,
double  blue 
) [static]
static RefPtr<SolidPattern> Cairo::SolidPattern::create_rgba ( double  red,
double  green,
double  blue,
double  alpha 
) [static]
void Cairo::SolidPattern::get_rgba ( double &  red,
double &  green,
double &  blue,
double &  alpha 
) const

Gets the solid color for a solid color pattern.

Parameters:
redreturn value for red component of color
greenreturn value for green component of color
bluereturn value for blue component of color
alphareturn value for alpha component of color
Since:
1.4

The documentation for this class was generated from the following file:
  • cairomm/pattern.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32ScaledFont__inherit__graph.pn0000644000175000017500000000005011561716354031146 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32ScaledFont__inherit__graph.png0000644000175000017500000001173511561716354031540 0ustar00murraycmurrayc00000000000000‰PNG  IHDR­{‰ª—&bKGDÿÿÿ ½§“’IDATxœíyXSG¿ÇaTl$²*[@ D° ‹Š»‚ûƒÛ«¾µZ7l-J-î «"b., «!&€Pƒ\ „H d9÷isó²ÉvI{™Ï_s~g–ïÌùfΜœäA€ðh¨[æoöûƒÀ>À``þ„è57oÞTw'4þþþ½¿ˆZ}¥&..®¯ªÂtãÇ÷I=}æÿ¾ª Óuâããû¤¼>À``Øì ûÐ‡Ï ]A*•2Œììl …2þ|kkëŽr ‚˜˜˜íÛ·÷²Å÷ïßß½{—Ãáøùùyzzjkkw«¸H$úé§Ÿ"""º’9))ÉØØØÕÕõܹsÕÕÕª§<<<¼½½»Õt?ÓóŸÏwuu=vìØ!C &Ož¼aÆŽ2 …ÂóçÏ÷²ÅëׯO˜0!77×ÐÐðСCfffݪA(îÛ·¯‹™ãããY,DEE¥¦¦Vª  »Õnhhhiii·Šô–¾ú>ñ“Ùüýýýüü¤R):|õêÕàÁƒy<^ït„³³óÅ‹•‡^^^ÑÑÑݪ¡¢¢BGG§‹™ƒƒƒOœ8A•JíVC­055ÍÍÍíJNÿ>ù>±Ÿæƒêêê„„„-­?ïDT*õüùó|>RSSgÍšõÙgŸyxx\»v >|ø0{ölTÐ××—Á`˜˜˜¼~ýšÇãmÞ¼yôèÑk×®}ýú5ªêèÑ£K–,i•–J¥GÙÄÄÄÐh4”f±Xt:}äÈ‘K–,yóæ ¶•¡ ‡Ãñññ100˜6mÚÝ»wQ°  `Ñ¢E#GŽ ‹ÅB[ñµµµ>>>wîÜqtt477ß»w/VWW¦§§÷d¬{Fï­Ô•ùàîÝ»555mO) ›³gÏ ƒA&“KKKõôô‚¨¨¨2dˆ··÷µkך››ÍÍÍ#""JKK###‡ÞÒÒBDRRRTTªM5½sçNMMÍÙ³gÇÄĨNX¾|yì_ܸqÕÐV<ŸÏ4hЂ ÊËËsrrtttØl¶@ 066NKKC½ëœ¾šúÉW¯^522j÷TKKKvv6J—””hkks8UÀ£G‚ÈËË355UtrrJIIé¼Ý¬¬¬M›69::’H$___‡CÄóçÏíììP†ÆÆÆ#GŽH¥Òve(}ðîÝ;sss¹\Ž2,X°àÀ ƒN§£ˆT*:t¨Ò4mî_,]º´#ñh:d±X(8eÊ”øøxB÷…~z^5jTUUUQQ‘2Èd2ëêêæÏŸŸ——·k×.‡chhض¬††Æ´iÓàñãÇîîîÊøÔ©SSRR|||Úm‘ …BA§Óét:°Ùìõë×/_¾œÉd>|øÐÃÃe2dȶmÛPº<¨©©±²²B‡MMMÆÆÆ|>ßËË E´´´Tµ………-]ºTµ†vÅ;88€›› jjj¶Û—~ ŸÖîîîC† ¹ÿ¾2BĪU«jjjîܹ¶uëÖ’’’/^èêê¶*K"‘ ÅÅÅÊxqq±½½}G->|øJ¥*©TêÁƒÓÓÓ%‰êjœÁ`466v.ÃÞÞžJ¥–©ðÃ?899±ÙlU=Œ@'â54Ôÿ-N?)ÐÕÕݶm[TTTAA455EEEUWW£å•­­­¦¦fbbbCCƒB¡h·ooï²²²gÏž@AAAFFZK¾|ùòáÇ(2íææVUUuæÌ—Ëå7oÞ¤Ñh:::_}õUff&º„<Ø»w¯žž^ç2>ÿüó÷ïß3 hhh°³³+((ðóó{úôiNNÜ»w¯¬¬¬“èH|Gt4ÿWôþÖÒÅçÆ–––mÛ¶iiiY[[xyyݺu‹ ˆ¦¦&ggg//¯Í›7S©T777Õõ¦¦¦²’K—.ÙØØ888Œ3F¹ wssk›¾ÿ>…B¡P(ÎÎÎd2ÙÉÉ©¸¸úùçŸ---i4š©©iBBBG2T׉ ÃÑÑÑÞÞÞÈÈhëÖ­(øý÷ßÙØØ˜˜˜Ì›7¯óçÆ¶âÑú@™aÚ´ih}0eÊ77·¬¬¬OŽê?l¨äãÇïß¿oÏËˉDA|øð!==].—·ûpA„B¡ÈÍÍ•Éd]i®¥¥åÅ‹)))oÞ¼iuJ&“egg·ª§•Œ¶æää|üøQ5ÒÜÜœ‘‘ÑØØØ=]/ ŸYa_ù€Dôú,qqq½¯Ó /~ ¦þ æïöûƒÀ>À``Øì û€}W¯fà/Áúì½óŒ3úªª~†Ã±þùçCººMêÒ ==={_OøÀÌÌìŸûçÆ††A--ƒ$ЉIƒºµôOOÏÉ“'÷¾ž>x¿ðfÏž[çÏÿ™¬ŸŸÿo ’ºå¨½>É F6ÔÖ~d±8ê–£N´ÒÓK„Â&ÐÖÖLLÌU·u2 }pëÖKmm Jåwïæ¶´ÈÔ­Hm \47K““ó¥R9:‹%Ož©W’¸>HIa77ÿï ©©‘˜øRzÔËÀõAbâKÕ ËdŠGØ?JÔ(I P444¥¦ÉårÕ L&ø°P]’ÔËõÁýûm®¡AJHÈV‹µ3@}À`d“H­¿5’Ééé%55Õ"I½ DTW‹^¼àÊåíþQ„”œœßß‚þ D$'çuôg!¹œ¸uk >5 D$%åtôV…ÈÎ.ûðáùΩ7 ô÷L`b²)::dΜ‰ê¢Nâ|€i öûƒÀ>À``Øì û€}€A``°0ì ö}€À>À °0ØöûƒÀ>À``Øì û€}€A``°0ì ö}€À>À °0Øöûó'ª›~£ÛÚÚ u«èoZíßξ<{÷îíY˜þ$>>¾U¤xyyõ‡Œú`2™­"x}€À>À °0Øö Çû¹Êd2&“Y\\ßÈȨÕÎ ÕÕÕ#GŽTÝ£§¶¶–ÅbUVVº¹¹M˜0AK«{£$‹oß¾Ô•ÌÏŸ?'“ɶ¶¶÷îݪ§h4Z·šî1=™jkk׬Y7xð`.—»víÚ¨¨¨Ž2766&''÷B!TTTœ;wNyxùòåÓ§O×ÖÖ¢Ã'Ož¤¦¦655uÞÊ;w‚‚‚6mÚ´páÂ;wî àóçÏW¯^½~ýú€€€˜˜LMM]¶l‡Ã100¸zõj@@@sss·766^¸p¡‹™Ÿ>}úêÕ+HHHÈÉÉùo»ÕîÑ£Gù|~·Š(éÉ|ðã?’ÉäÈÈHMMM(++[µj•¿¿¿±±qÛÌFFF—/_î™8„³³sLLLmm-™L–H$l6{̘1™™™~~~Àf³i4Zç­Èd²˜˜˜#GŽØÙÙîØ±Ã××WGG':::((ÈÏϯººzÅŠööö7oÞ\·nÝ—_~ .Ü´iSJJÊìÙ³{Ó….âëë;sæÌÏÌÌœ?~ÏÊv{>¨¯¯g2™¾¾¾È`aa±}ûöºº:ÈÉÉÙ±cÇœ9sÖ¯_Ÿšš `çΨà¶mÛ˜Læ7ß|S^^ÎçóÏœ9ãïïòäÉòòrTÕ7:Ô*mmm­§§‡>4yyycÆŒ™>}zff&QTT4qâDe+ [¶la±XË–- Œçêêjggvvv …âíÛ·<O$¡ëM¡PÜÝÝ™L¦L&ûã?”]€­[·Ž?¥ÙlöªU«æÎ{èСwïÞ¡`Û.«RYY¹eË–Y³f…‡‡³X,äñx‘‘‘sçÎ=pà€Dò‰âÚT»}Ü¿}}ýþýû ºwE >(**ÕàôéÓ©T*A'Ožôðð¸víZ@@@TT”D"‘H$¹¹¹ •J “’’Ö¬Ycbb²qãFmmíÓ§O®[·N&“€¹¹¹ ªS™ÖÐÐprrB>ÈÊÊrqqquu}ùò¥B¡(--mjjš8q¢²™LVPPðàÁƒÃ‡8pàúõëåååÖÖÖ{öì‘Éd,ëÔ©SFFFÖÖÖVVV·oßF—\$åçç;88hiiÍŸ?ÿàÁƒ»víJNNæóù¦¦¦¶¶¶@ÄîÝ»===ÏŸ??lذ³gÏ¢`Û.«ŽÌlmmcccgΜÉãñšššÖ®]knn­§§—žž®Ì\XXøà/ÒÒÒP°í@µÛÇ-[¶ >|Ë–-öööݽ¦Ðƒû‚X,1bİaÃÚž’Ëå»wï¶¶¶+++±X\SS£úÙ’H$AAAt:Ëå*Š+V@pppZZZ~~¾‹‹‹»»»2³jšF£¡ZvvvXX˜µµµ¦¦fQQ—Ë;vìСCUo¥2™,00B¡P([[Û²²²1cÆ€P(¼pá—Ë]¶l™êÒ/77÷øñã®®®¨ÅÐÐЩS§¦¦¦&&&;vŒN§‡‡‡›šš¾~ýzøðáÁÁÁ(Ï­[·är92G«.4Õ\]]-BCCI$’ŸŸ_FF‹Å277·°°X¼x1„……=~üX©„Ãá…B”:t¨··w»eiiÙnI$’¾¾~wWµˆn—1bD]]]yy9\D~~~CCÃÔ©Sß¾}ûË/¿TVV´-K"‘&Nœ/_¾tppPÆ'L˜ÝjŽQ…F£EGGWVVVUU9::’H$:ž••ÅçóÛ]Q+?ªOd2ùܹs ‹/633óôô$âìÙ³iii+W®œ>}:üõöÕÆÆMEeee§N:räÈ©S§233•šutt”Ï&t933S(.\¸J$2™\[[‹455©Tª2ÿ‚ Z­Ú(KKËŽúØcº]•JÕÑÑùý÷ß•‚ Ž;& Y,VTTT``à•+WΜ9£üX(!‘HÈ­–––Êû+TTTXXXtÒ¨•••¾¾þ¥K—µµµÀÕÕ533“Íf+Ç´UCª‡,ëÆ(=lØ0GGGt£Ý¹s§@ ¸xñ"2dee-]ºTYÐÂÂ"44´°°P*•š››«®Æ™Lfsssç]¶°°°´´¼¡Âš5kÆŽ[VV¦Ú÷N:ÞÉ@µÝw°7tÛè£Àãñ@"‘$&&Ö××Ϙ1£¹¹ÙÜÜÜÅÅECC#==],w´ùF«ªª*,,Çf³Ñœ\RR’••…ò¨¦ÑD’šš:iÒ$™4iRII ŸÏwrrú¤fKKË+W®Ô××@]]]nnî_|QZZZTTR___UUUUU%‰ìììêêê’’’PA…B‘––6nÜ8mmíÉ“'¿yó]ÂÌÌÌØØØÁƒwÞe*•ZSSƒ^î‰Åâçææ–——Çáp ##£ªªªå TGôx·­žÜK-Z$‘HV®\ill\__?nܸíÛ·ëèèL™2åÂ… +W®ÔÓÓ?~¼……ÅÁƒÿõ¯µÓª–VxxøÑ£Gµ´´ÄbqhhèСCàÑ£G¯_¿F[5 4ÉdÒétth``0vìXÐÓÓû¤`ccãY³f…„„Œ5ª¶¶ö믿655MHH …è~˜7o^xxøž={>|áÂCCÃ>îÛ·5´jÕª;wêëë ‚°°0h·Ëû÷ïG’H¤ 6\¼x166V$͘1-9—.]¡§§'‹§L™Ò‰òv =šµÛÍ'N„‡‡+×Ú]ç?ök‹‹‹ T®T;§¹¹™Çã5ŠL&«Æ¹\®‰‰‰®®n}}}EE…ƒƒƒH$jw]I—˵²²êýŽ ˆŽZQ"•J¹\îøñãU—®í"“É8ŽX,¦P(fffª§Ð3ç¸qãT5·ê²££c« 9Ž™™ÙàÁƒUÅp8œ±cÇêè|ú§P](±X\\\<~üx}}ýÎ+Ü¿¿¡¡a\\œ2Òs`þ¹´õ~Ï„À>À °0ØöûƒÀ>À``Ø€vß/lݺµÿu`úçãã£ù˜™™ùûû÷¯$Œ°²²šÀ``Ø€ÿKI»íò]IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_5.png0000644000175000017500000000005011561716353023651 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_5.png0000644000175000017500000000346111561716353024071 0ustar00murraycmurrayc00000000000000‰PNG  IHDR(Líî¯bKGDÿÿÿ ½§“æIDATxœíš}HSkÇ7·æz3ÙXf¶Ú¢ FÖœ-ßFŪ‹ÁJXý¡Ù‹C ‚(„ Fa‹ÊåÒA`[Fš9Òͱ²ù²bÖTVcåtž½<÷sÛ=w›6—ä=q>=Ïoç÷¶¯gÏïL‚ÿ=¤Å.€ !ð¡>HÅnFFFôzýb•B€eÆ %%%ÿî!†G-^aÿA&“a¥I½‚˜¹\e!Î'|@è„ð¡> t„Nø Î\ž@@­V÷õõ­^½º´´”ÃáÌv¥Çã¹sçŽB¡H¶B¸}ûöÄÄÖ²sçN‰D’tÀ`0ØÒÒb4€@ Édt:=Çi' ’¹Ÿ\.WnnîÕ«WétºÅbÉËË«ªªšíb¯×{÷îÝ_¨”Jå‹/F1x½ÞyE8vì˜Ãá@×£££õõõÁ`F£Ý¸q#''Çjµ&â¾ í$Cìûø3d2Ù¾}ûº}ÿþ=Fù©cÒðx¼¦¦¦_‰Àb±úûûѵT*ݽ{÷ÔÔº …B•••  &âþÉdQï#æ­Óøø8‰Dzøð!Ö¨R©º»»!„z½^*•®ZµJ,«T*áØØØþýûQÇ={ö4773™L«Õ:<<|úôi‹uòäI«ÕŠÆihh(//]ϦSl·Û½k×®ÖÖV>ŸŸ™™Y__!”Ëå …ÃátvvšL&@[[6λwïOž<éì쬪ª:þ<“É”J¥]]]Qî‘vÏ!¼uëVnn.“ɬ¬¬ôx~üh2™–,YbµZ=“É|ùò%‚ ÷îÝ[¾|¹ßï*~Ó¦M.\ÐjµT*µ´´Ôf³Ý¼ysÙ²ev»ëi'ñìÃÃà Ãh4º\.‰Dríڵߡ“J¥Z³fMÜéëëC×v»B¡ bu<þBh6›Y,VÄQ ètº9’òx¼­[·þõƒ#GŽÌÄårÞ¼yƒóóó›››!懫¡¡A(Ʀ(++;~ü¸V«ŒŽŽ¢F¹\~ýúu¬{¤Ä³www3 “É!œœœLî~š÷‘‘‘166600€5¾zõJ£ÑP(³Ù¼wï^6›]^^ëK"‘ŠŠŠz½^,Gì:nî¼ÕÕÕOÐÔÔ4w‘H„.ÈdrT6›m4£¦Ç`0¨ÓéØl6 ;;›Åb¡v‰D2[a‰g‹Å555R©4++ëâÅ‹~¿îNã2oÄb1NöìYÄ!wîœÝn7 iiiQ¾)))T*Àçóm6[Än³Ù¶lÙ2ßJæB"ÍÚ—H$¢R©kìèèøòå :èúôÉçó¡ö.—û‹ÙƒÁ`]]Óé|üøñàà`EEEâ=F˜·NiiiµµµJ¥Òb±¦§§•JåÄÄÄáǧ¦¦6oÞ\RRB&“[ZZ¾}û‡ã‘H$>|xýú5Àb±ôôô8p`4ÛÛÛÑk°ëy™ ´‹¥P(._¾ÜÛÛ‹Ú‡†† EEE…P( ÒØØ!zúôéÁƒ±îIdW«ÕÛ·o'‘H"‘¨¬¬l¾Oÿ€ýLp.G¤¶¶655•Ãᤧ§k4áôô4—ËÍÉÉ)..>sæ ljDØó‰L&G‚Ü¿ŸËåòùü¬¬¬È¼pêÔ)‘H»žmÞ‹ ‚ž‘ ŠŠŠÐó)??_$õööBC¡Ð•+Wh4Úúõë9NjjêÙ³ggff „Z­6;;[ °Ùìôôôššôñ#âŽ#Ì>33# 322òòò233ÛÛÛú /Àarr²§§çóçÏQv³ÙüýûwáøøxWWW(Š;BÃápÿO-‰`¯×ÛÑÑ=Ãý~¿Ñh4 >Ÿ/bÔjµÛ¶mCäíÛ·_¿~uj'ñœN§Éd ‡Ã‰4µ:ý‘ :-v 1ïýÙ¬X±bãÆ‹]E’|û§RXXXXX¸ØUĸŸð¡> t„Nø€Ð :áB'|çù)%%å÷×A…L&ÃnS æ¿þN§Á`øí%ÄaíÚµ;vìˆlÿ£Áÿâ|„Nø€Ð ü 4ÔœõÊfZIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/nav_h.png0000644000175000017500000000005011561716353021675 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/nav_h.png0000644000175000017500000000014111561716353022105 0ustar00murraycmurrayc00000000000000‰PNG  IHDR ,é@(IDATxíݱ 0 A½2°ÁU¶— !kÜJrª¯ƒžZýÿÆo‡üèIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/image-surface_8cc-example.html0000644000175000017500000000005011561716354025661 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/image-surface_8cc-example.html0000644000175000017500000001377211561716354026107 0ustar00murraycmurrayc00000000000000 cairomm: image-surface.cc

image-surface.cc

An example of using Cairo::ImageSurface class to render to PNG

/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris,
 * et. al.
 */
#if defined(_MSC_VER)
#define _USE_MATH_DEFINES
#endif 

#include <string>
#include <iostream>
#include <cairommconfig.h>
#include <cairomm/context.h>
#include <cairomm/surface.h>

#include <cmath>

int main()
{
    Cairo::RefPtr<Cairo::ImageSurface> surface =
        Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 600, 400);

    Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);

    cr->save(); // save the state of the context
    cr->set_source_rgb(0.86, 0.85, 0.47);
    cr->paint(); // fill image with the color
    cr->restore(); // color is back to black now

    cr->save();
    // draw a border around the image
    cr->set_line_width(20.0); // make the line wider
    cr->rectangle(0.0, 0.0, surface->get_width(), surface->get_height());
    cr->stroke();

    cr->set_source_rgba(0.0, 0.0, 0.0, 0.7);
    // draw a circle in the center of the image
    cr->arc(surface->get_width() / 2.0, surface->get_height() / 2.0,             surface->get_height() / 4.0, 0.0, 2.0 * M_PI);
    cr->stroke();

    // draw a diagonal line
    cr->move_to(surface->get_width() / 4.0, surface->get_height() / 4.0);
    cr->line_to(surface->get_width() * 3.0 / 4.0, surface->get_height() * 3.0 / 4.0);
    cr->stroke();
    cr->restore();

#ifdef CAIRO_HAS_PNG_FUNCTIONS

    std::string filename = "image.png";
    surface->write_to_png(filename);

    std::cout << "Wrote png file \"" << filename << "\"" << std::endl;

#else

    std::cout << "You must compile cairo with PNG support for this example to work."
        << std::endl;

#endif
}
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1QuartzFontFace__inherit__graph.png0000644000175000017500000000005011561716354031344 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1QuartzFontFace__inherit__graph.png0000644000175000017500000001000311561716354031552 0ustar00murraycmurrayc00000000000000‰PNG  IHDR¥{š}×ÒbKGDÿÿÿ ½§“¸IDATxœí{PWûÇOn\"*Š¢€Â(·€-Õ**Òâ ã¥Ó«u,Êh¬ˆc­oªÔV+µiG^k‘ÖŽÔb€AÄ-:yÓ‹Ü5Dc„. „dÙßûvinr‰IûžóùëäÉÙçùf¿9{Îî&³Ç¨Ž€°+Èo¸@~Ãò.ßÛˆŸþÙÑå.—k+›è¶U–ŸŸoÛ„ˆ¬¬,f³±ß\.×¶ W®\±a64Ãò.ßpü† ä7\Øx}>t:@ ¨®®öôôLHH ´ÔS©Tž?þàÁƒ“)÷í·ßöôôF¢££cccÿÙì½Ç·\.íµ×NŸ>Íd2£¢¢öîÝk©s___NNÎ$+òùüŠŠŠ.úúúÆ•!))©­­ÍVÙŒ­.Ü×מÛËå®^½Z§Ó/ïÝ»çââ"“Él%Ç“››;™ >>>uuu¶Ê6^¸\® ¯¯Ùu|÷ôôlݺ•Nÿï<Âáprrrär9 ¢¢bíÚµ3gÎŒŽŽÎËËtww¯[·ŽØ0>>^ x{{ß¿_&“í߿޼y»wï¾ÿ>‘êÔ©S[¶l1m[Â4Iooo\\ÜÕ«WÃÃÃY,ÖÑ£G<¯§§‡Çã‰D"+ÙLÅÄbñâÅ‹gÍšµeË–‡A©TçîîSRR2‘ý8lõÅËø.))¡R© …Âô­ÑÑÑ   sçÎ)•J@àáá¡V«ÛÚÚ¦L™‚ãxgg'“ÉŒÍËËf±X‡jkkËÌÌœ>}úÈÈŽãÅÅÅ|>ŸÈfØæp8ï½÷^îŸ\¾|™ˆ›&‘ËåNNN‰‰‰µµµÎÎÎÍÍÍJ¥ÒËËëöíÛD³ÙÌŠÇ0ÌÓÓ333³««kß¾}ëׯ'ê.^¼øÐ¡C.\˜6mZCCƒõfÛñmW¿/]º4wî\³oŒŒTWWí––ƒ!•J ýܸqÇñúúzr×^zéæÍ›VŠr8œˆˆˆ·þdÛ¶m–’‡±XL—.]zåÊÜäxnšÍ¬øß~û-$$„ªÕê“'OêtºÇ³X, ÈxbbâñãÇ­ï4Ûúm×õùœ9sž>}úàÁƒ2( Ÿ={–P__ÿÑGI¥ÒÙ³g›nK¥Rcbb¿üòË’%KÈø²eËnÞ¼g¥nJJʶmÛ #f“„……"##‰ Fc6ƒa*¾¼¼<::šh3™Ìôôt@YY™B¡ âCCC^^^V”Û»ÎßK–,a2™×¯_'#8Ž'''+Š«W¯¦¤¤8p ¥¥åÎ;®®®FÛR('''@XX˜D"!ã‰$44t¼J¬$¡RǽOÌŠ "Wõ@ V«CCC9N»_|ñÅxËM»úíêêšžžÎçóCCC|>¿§§góæÍ&888..ŽF£ö÷÷ŽŽšMÛÞÞþ믿+++‰5]MMMyy9Ñǰ=®$–°$†À¬ø5kÖTUU577ÊÊÊŽ=:eÊ”×_ýÉ“'ÐßßBì ûa«‰aŒçc###ééét:=00ÐÝÝ}ÅŠEEE8Ž ½òÊ++V¬Ø¿?‡Ã‰ŒŒ4œ¿i4™äâÅ‹AAAaaa~~~äº,55522Ò´mé Ê4 1“bbbˆù{éÒ¥‘‘‘wïÞµ”ͬxdz³³ÙlvDD„OAAÑY „‡‡‡††Î;÷ÀÏÝcÿàõÉàà`eeå“'OŒâõõõ8Žwww‹D" ÃÌ.æq­««Óëõ“Ñ<Æ$}}}·nÝR*•Ö»‰'‚z½¾ººÚ´DmmíàààXDÚÖo n£ÿäççóx<[eClذØî‡Cè~ \ ¿áù Èo¸@~Ãò.ßpü† Hý¾t©ÎKC6¾ºråJÛ&|AH¥ÙÙ'\]‡-äù455-_¾ÜVÙlæ·¯¯ï?åÏcýýN##NZ­§·w¿£µ<ŸåË—GEEÙ*›Í®Ÿÿƒø×¿ŠrrþãááÖÐð •Jq´»Ýü­× Õ€ÞÞA±Xêh9ö:¿E¢–¾¾!ƒA+,¬s´{ßEE5  Óa%%u##zG+²+pù=<¬+-mÐé0â¥F£½uëc%Ù¸ü¾y³yxøÿ4F-,¬q û—ß……5†??ÕëGoÜhÔ:P’Èïþþ¡ŠŠ†õz¬¼¼ÉQ’ìD~_¿Þhú³b*•RPPí="¿‚j ÅøêŠ^?*µ(ƒ‘d`ñ»§gàÎV 3û·Jiiƒ½9Xü.-­·ô ËŠ`Y¥Ãâwqq=–îàÕÕíÝÝÿ€{'“Æû%oïþýï­ë׿ìh!ö–ñ @~Ãò.ßpü† ä7\ ¿áù Èo¸@~Ãò.ßpü† ä7\ ¿áù Èo¸@~Ãò.ßpü† ä7\ ¿áù Èo¸@~Ãò.ßpü† ä7\ ¿áù Èo¸@~Ãò2 K<ã O*ÕÙÑ*ìѳ…Í<ÏâèÑ£ö—…x\¹rÅ(bÆï+VØC âÅ# "hþ† ä7\ ¿áù Èo¸˜àóõz½P(”H$3fÌX¶lÙ¼yó,õ(--ݸqãDþ ÃD"‘D"Á0lþüù111ÎÎ/öúÚµkJ¥Ò0ñwÈ6a&2¾{{{wíÚ•ŸŸïââÒÚÚº{÷n>Ÿo©³Z­.--„Bøã?RRR.\¸€a˜““SAAÁÎ;ÛÛÛ'“óÔ©Sr¹ÜJ‡‚‚‚ÚÚÚ? P«Õ.1ùl6a"ãû›o¾ñððÈÌ̤Ñh€öööääd.—ëååeÚyîܹ?þøã$Ufee1™Ì¬¬,bLoß¾ýäɓǎ;þ¼áógÆEUUUBB‚õ>ñññ«V­šX~Ó“Ìfƽ³T*•P(Œ'Ìøûû åedd}zZZZhh(‡ÃÉÈÈÈÈÈ8|ø°F£ñõõ%³555•ýÉíÛ·‰ ©r½^ߨØXVVöÙgŸ?~ü§Ÿ~êèèHKK#KXÊfV'ŽãGŽY¾|yNNδiÓÎ;Gl~üøñàààÜÜÜU«Veff~ê±3îã¹F£™1cÆ´iÓLßÂ0ìÈ‘#€€€F£P(ÈÃ@«ÕnÚ´iñâÅ­­­£££;vìlÞ¼ùöíÛ ‹-Z²d Ù™l+•J‹Å`0ŒÊ…††­€¬+qrr"(Š››N§Óé>>>€O>ù$44tÓ¦Md©TÚ××G´§NkV9›ÍÖëõ<ÏÓÓÓÓÓ388¸½½ÝÏÏ,a)›Y*•júôé›7o$%%aÖÛÛ«T*“’’(ÊêÕ«+++Åbq@@À˜<3`Ü~Ϙ1ãÙ³g~~~d°¡¡¡¿¿Ù²e=úî»ïºººÜÝÝM·¥P(/¿ü2 ¦¦&,,ŒŒ/\¸°ººÚè˜Aâãã#‘HT*•QN¹\nøýøË§¢ÓÍ*!˜rñâE¹\þÕW_f\³ÊÙl6€Ç––¦ÙÌꬪª"K8;;§6UUU}}}ï¼ó×jµf«XgÜ~s8ggçßÿôÇñÓ§OoذA,óùüÌÌ̈ˆ*•ºfÍ£m) ñeg³Ùåååd¼³³3..ÎRŃ!‰Ö­[Ðh4·nÝZ¸pá½{÷vïÞmØðîîn€%%¤#„Báµkײ³³œœ¬|+ÊMvõ\Ìêd±X÷îÝ3ÔéïïÏf³³³³‰ V«@90ù›øÆó‡V«-,,T©T+W®f±X‹-¢R©"‘ˆ˜GÍ&‰ˆˆxúôiSS@&“577#µ¥¥åîÝ»D²=kÖ¬7^ºtI"‘0 +))Ù³gO\\Ü‚ ÜÜÜÔjuOO@$ ƨ„J¥Ò¬¬¬cÇŽeÄXRn ë‡1«3**êáÇÄÙfUUUnn®‹‹ ‡ÃQ(Äý.F³uëV;Í߀wß}W«ÕîܹÓËËK¥RÍŸ?ÿàÁƒÎÎÎK—.ýþûïwîÜ9eÊ” øûûúé§ü±™ªtzjjê©S§ètºF£IJJš:u*àÆ÷ïß'–f†ímÛ¶¹¸¸¤¤¤Ìœ9“B¡ ùûû·µµ)ŠY³f½ñÆ;vì˜7oF[¸p!À¬’ŒŒ C ^^^_~ùejjêõë×÷íÛGÄÝÜÜLoNœ›˜B– ¡F˜ÕyöìÙäääÇ»¹¹)•Ê””…BÙ»wï?ü››;00°råÊààà1xeÌ_žO”ŸŸÏãñÈ…¨u†‡‡e2Ùœ9sŒ†Ekk«···«««J¥êìì 0»¾Ãq¼µµ5 `ŒçÐ:®½½F£±Ùl …R\\N¬Yär¹Z­6Je¤$<<Ü0›F£‘H$Äb,Õ' |Œ%Ìê}ôèÑüùóJH¥R___—±èÌÈȘ={v~~>™¸ßˆ¿?¦~£û%pü† ä7\ ¿áù Èo¸@~Ãò.ßpaæúùì¯ñ"ÉdF7ÿâ·¯¯/—˵¯$Ä $ **Ê0B±~Ãñ?š¿áù Èo¸@~Ãò.þñƒ›â²óOIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ScaledFont-members.html0000644000175000017500000000005011561716354027101 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ScaledFont-members.html0000644000175000017500000002105211561716354027315 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::ScaledFont Member List

This is the complete list of members for Cairo::ScaledFont, including all inherited members.
cobj()Cairo::ScaledFont [inline]
cobj() const Cairo::ScaledFont [inline]
cobject typedefCairo::ScaledFont
create(const RefPtr< FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [static]
create(const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [static]
extents(FontExtents& extents) const Cairo::ScaledFont
get_ctm(Matrix& ctm) const Cairo::ScaledFont
get_ctm(cairo_matrix_t& ctm) const Cairo::ScaledFont
get_extents(FontExtents& extents) const Cairo::ScaledFont
get_font_face() const Cairo::ScaledFont
get_font_matrix(Matrix& font_matrix) const Cairo::ScaledFont
get_font_matrix(cairo_matrix_t& font_matrix) const Cairo::ScaledFont
get_font_options(FontOptions& options) const Cairo::ScaledFont
get_glyph_extents(const std::vector< Glyph >& glyphs, TextExtents& extents)Cairo::ScaledFont
get_scale_matrix(Matrix& scale_matrix) const Cairo::ScaledFont
get_text_extents(const std::string& utf8, TextExtents& extents) const Cairo::ScaledFont
get_type() const Cairo::ScaledFont
glyph_extents(const std::vector< Glyph >& glyphs, TextExtents& extents)Cairo::ScaledFont
m_cobjectCairo::ScaledFont [protected]
ScaledFont(cobject* cobj, bool has_reference=false)Cairo::ScaledFont [explicit]
ScaledFont(const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [protected]
text_extents(const std::string& utf8, TextExtents& extents) const Cairo::ScaledFont
text_to_glyphs(double x, double y, const std::string& utf8, std::vector< Glyph >& glyphs, std::vector< TextCluster >& clusters, TextClusterFlags& cluster_flags)Cairo::ScaledFont
~ScaledFont()Cairo::ScaledFont [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FtFontFace-members.html0000644000175000017500000000005011561716354027036 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FtFontFace-members.html0000644000175000017500000001201711561716354027253 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::FtFontFace Member List

This is the complete list of members for Cairo::FtFontFace, including all inherited members.
cobj()Cairo::FontFace [inline]
cobj() const Cairo::FontFace [inline]
cobject typedefCairo::FontFace
create(FT_Face face, int load_flags)Cairo::FtFontFace [static]
create(FcPattern* pattern)Cairo::FtFontFace [static]
FontFace(cairo_font_face_t* cobject, bool has_reference=false)Cairo::FontFace [explicit]
FtFontFace(FT_Face face, int load_flags)Cairo::FtFontFace [protected]
FtFontFace(FcPattern* pattern)Cairo::FtFontFace [protected]
get_type() const Cairo::FontFace
m_cobjectCairo::FontFace [protected]
reference() const Cairo::FontFace
unreference() const Cairo::FontFace
~FontFace()Cairo::FontFace [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32ScaledFont-members.html0000644000175000017500000000005011561716354027724 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32ScaledFont-members.html0000644000175000017500000002533611561716354030151 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Win32ScaledFont Member List

This is the complete list of members for Cairo::Win32ScaledFont, including all inherited members.
cobj()Cairo::ScaledFont [inline]
cobj() const Cairo::ScaledFont [inline]
cobject typedefCairo::ScaledFont
create(const RefPtr< Win32FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())Cairo::Win32ScaledFont [static]
Cairo::ScaledFont::create(const RefPtr< FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [static]
Cairo::ScaledFont::create(const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [static]
done_font()Cairo::Win32ScaledFont
extents(FontExtents& extents) const Cairo::ScaledFont
get_ctm(Matrix& ctm) const Cairo::ScaledFont
get_ctm(cairo_matrix_t& ctm) const Cairo::ScaledFont
get_device_to_logical(Matrix& device_to_logical) const Cairo::Win32ScaledFont
get_extents(FontExtents& extents) const Cairo::ScaledFont
get_font_face() const Cairo::ScaledFont
get_font_matrix(Matrix& font_matrix) const Cairo::ScaledFont
get_font_matrix(cairo_matrix_t& font_matrix) const Cairo::ScaledFont
get_font_options(FontOptions& options) const Cairo::ScaledFont
get_glyph_extents(const std::vector< Glyph >& glyphs, TextExtents& extents)Cairo::ScaledFont
get_logical_to_device(Matrix& logical_to_device) const Cairo::Win32ScaledFont
get_metrics_factor() const Cairo::Win32ScaledFont
get_scale_matrix(Matrix& scale_matrix) const Cairo::ScaledFont
get_text_extents(const std::string& utf8, TextExtents& extents) const Cairo::ScaledFont
get_type() const Cairo::ScaledFont
glyph_extents(const std::vector< Glyph >& glyphs, TextExtents& extents)Cairo::ScaledFont
m_cobjectCairo::ScaledFont [protected]
ScaledFont(cobject* cobj, bool has_reference=false)Cairo::ScaledFont [explicit]
ScaledFont(const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [protected]
select_font(HDC hdc)Cairo::Win32ScaledFont
text_extents(const std::string& utf8, TextExtents& extents) const Cairo::ScaledFont
text_to_glyphs(double x, double y, const std::string& utf8, std::vector< Glyph >& glyphs, std::vector< TextCluster >& clusters, TextClusterFlags& cluster_flags)Cairo::ScaledFont
Win32ScaledFont(const RefPtr< Win32FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())Cairo::Win32ScaledFont [protected]
~ScaledFont()Cairo::ScaledFont [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Pattern__inherit__graph.png0000644000175000017500000000005011561716354030065 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Pattern__inherit__graph.png0000644000175000017500000003054611561716354030311 0ustar00murraycmurrayc00000000000000‰PNG  IHDR#Ë3À bKGDÿÿÿ ½§“ IDATxœíÝg\×Úð3[è(ˆtDE)‚Š ®Eˆ Ø‚¨ Áp£‰ÑHb b±`Š%hŠ5 ¢B,H¤ˆ‚émÙ2ï޽˂;;»ðü~†Ùsž™‡ñÙ™3Ãq¤¡Q€* rA¥@.¨4È•¹T50 £:9Ãb±’““©ŽÈ%¨4`ðb±X–––TG!RRR¨È1¨4`ð²´´tuu¥: ù™™Iu@ŽÁ8 rA¥@.¨4È•¹ Ò \{@O¸\nfffaa¡¦¦¦³³³‘‘QwK677ÿöÛoýéî·ß~«««#¦ŒŒ¦Nª¤¤ÔŸpL@·Þ¾}»råÊääd%%¥/^¬Zµ*66¶»…[[[ûí·~ö˜––vÿþýššššššäädŸìììîÞµkWeee×id ÓЭ¸¸8--­¨¨(:Ž*--]±b‹ÅÒ××ﺰžžÞÏ?ÿÜÿN=<;;{éÒ¥þþþÇŽ#s+€TºóôéS„­­­ðL777+++Ç÷ìÙãèèxæÌ??¿ØØX6›Íf³üêÕ+ ®ŸÅ0lÒ¤I¡û÷ï?^0âĉ¹¹¹"ÇI"Ö¯_/§è¹;awïÞmllœ?>ñ#›ÍÖÒÒ‰ x´('6é Ò ž•••¢¢â;w•Çñèèh??¿ìììØØØ¨¨(Öµ0`Æ`0B£G¾|ù²`~yy¹»»ûûFòÎî„5jôèÑÄQBˆÍfcÖØØ(Iáû†@ŸÁ×ÄSTT 8wî\qq1BˆÍfŸ?¾¡¡ÁÃã££ÃØØØÖÖ–F£eeeµµµá8.¶›7oÞ „Š‹‹?~Lœ+{þüù½{÷ˆe„§Åê¡;á~‰i++«ÚÚZâÑËmmmDüPŽièÖÂ… ÙlvPP¾¾~CCÃØ±c7lØ ¨¨èäätüøñ   UUUSSÓQ£F}ÿý÷ß|óM× ÆÚµkwíÚÅ`0ÚÚÚ–/_®®®ŽºråÊ“'O>øà‘i±Äv¯¯¯³víZsssáéÐÐÐ'N;v¬¹¹ÙÃÃ⦦†¼­À;aÝ}``Ã0lóæÍ½y?MGGGqq±®®.1à!ðâÅ ee円†òòòñãÇ777‹½‚Çñ/^˜˜˜ôgPD¤» &´µµšššª©© OË1BRزe‹¶¶6¼sô ÓðJJJb_Í9fÌbBCCƒ¨[fB†;¶ŸatíNEEÅÆÆ†˜)À̬^GG!íþGUR2”ËUÒÖ¶PWïìkÂ޾ş=ÓÅq ÃñõÃÁWTä*+ó‰\EE®¢"Á­@&&&’ pL€(ÇŸ=«,*ª~ö¬òÉ“×ùù¯ªªšp§Óé†s¹|Á’†EF~úÞ¯œ‹ÏÇ'Nü¦®®eùòé[·úH¤Ma.x0FÃzx禒cåÊdô-¨4ˆ1r¤V` ƒAû[ƒþÁ&?ý4_‚ïHf³¹/>àpx!ƒ––v_R-‹˜5Ë:>~&þÏL&mÙ²é*$õ'¨4ˆᩤ$æô2ƒA=zøñãˈãI¹~ýi{û®àpx¿þú¨£ƒ#Áö…Íž=iß¾E†ºÖæáaER¿`ЂJ€8Žgeik«Óéÿ³Ðé4MM•¤¤•C†Hæ]–çÏß§Óÿ[º::¸O$Û…°9s&EG ô?¥†É¤›™éúøì]±âÄÓ§äõ¨4ˆº¿ÌÛ{oPÐq --UÁY& ÙII+õô†J¶Ç¦¦Ž+Wþærÿ{ÅN;ž¬hÿ)ÑÑþÂçÐ0 ;ujEbbpEE½›Û.oïØ[·þ!50H@¥࿞>­ô÷ß?{öEEú¥KaGŽ,ùúë9į0 Ñé´“'—[XèK¼ß+Wþ\aLàry×®=ijj—x_Âì¿ýÖ›(6L&ýÓOíµµÕÍ.^üâ—_B,Ö>oïX’.OƒTB¨¦¦yÆdOÏkk›“’V¦¤¬ž8qBÈÇÇÖÔTÃ0G;vÌ›6m,½Ÿ;—Ûu|žÇãÿñGÝ ûüs—M›f#„ø||õj7Áü)SL’“WýòK¨’ÓÏo¿·wìÕ«É Tpç&ì::8ûö];pàO…ˆˆ™ö"7²dfΟ`ýzÏõëÿEFµµ-66ßðx¢{"F›:uLJÊ*2:w­¤¤6:Ú_ìoïÞ-Þ·ïúÕ«íìF‡†ºÁ%à}A¥ƒŸŸ9s;&æJ}}ëêÕ®\ù¡ŠŠ‚Ø%SRîÍ›g'Ákš…?~ëë¯Ï‹œ=#ÐhX^Þu2úÑÞÞ©¬,~õ ¹¹%{÷^ËÈxbii°f»——5I ²°Ðÿâ ¨7 7 Ò€AçÙ³ÊÍ›ÉÊzîè8ö›o¼'L0¢0˜ªªF[Û-|~·»¡½½IZZ¨4Cê§O+öì¹úë¯,,ô‚ƒgøúÚŠ\€0¨4`©©iÞµë³gê~ûí\gg3ª#uáÂÃàà1TÒ+ÏžUÆÇ_OKË;VgÕª¡Þ€î@¥ƒ‚`Ø_UU!<\̰¿Œ¯JCxþüM\ܵ´´<##ÍÕ«ÝdvÛ A¥\ï‡ýeÿÜeÈeªƒÒ•ȱÂÂ7ß|“–•õÜÍmÜ×_Ï13Ó£:¢þØ•†P_ßzôhVBÂ_8Ž/ZäòáСð2é* KİRÒݱcuånØ¿ƒ¡Òš›;Nž¼wÇã:­^ý¡†Ô› * 3l67..C®‡ý{0x* ¡¥…}âÄÍ}û®s8¼€ûÐPwé<¸HT 7ˆaÿ={®45µ¯]+ÇÃþ=l•†ÐÚÊNL¼—ÑÒž?ß!$ÄMWwÕAI‚JäÃ@öïÁà¬4„¶¶Î3gnïÛw½¾¾ÕÏåAžd]aáÿýŸ|§­­~íÜí?`©¨(,_>ýÎMÛ¶ùfd<±·ÿnÆäÊʪã$²«¶¶eçÎ߉aÿ¤¤•fØô@A±páTÿ)IIwcb®$%Ýõö¶ ó5j8Õ¡¾ƒJd‘`Ø_MMñÇýذ?x'&“NÔ›_~É‹‰¹ââ²ÝÛÛfݺFÖ¦:4ÐPi€lö—ë»ýAÿ1™t냹s'ÿòKÞž=W]]wx{Û¬]ë1fŒÕ¡÷•Èáaÿõë=uua<ü§Þ|ò‰Ýo¿=Ú¹ó—í³fYGDÌ;êÜ€+€L()© <,<ìe£Ñ°Ù³'efFîß¿èÙ³JW×í‡ÿþû5Õq^J(V[Û²aC²«ëŽ×¯ë“’Vž<ùùx¨ QonÜøòرeoÞ4zzFÎÏ/§:.ðpö P†Íæ>œ¹wï5ee& ûƒÞ£Ñ0+wwËŒŒ'»w_ž93ÆÝÝrݺ&M2¦:4 T@ÇSSswìø¸ÛÞYúÃ0+«¬¬çÛ·ÿöñÇ1ÎÎf_~ùñäÉ#© ˆ‚J¤íöí[·^((xÃþ@"œÍœÍ²²žïÜù»—מ>½aÃÇŽŽc©Ž üŒÓé)-­ <ìë§­­~ýúöäìlvñâ¿üª¨È`±öy{Çfe=§:(ðPi€4Ãþ..Û‰aÿ'–›šêR€¦L1IN^õË/¡*þþû½½c¯^}LuPΞ’Ãþqqו”0ì¤cÊ“)SLîÝ+‰‹»xØÎnth¨›»»%†Áß5 Ò²†ý››;Ö¬q‡a e|0úĉå÷ï—ÆÆf,^|ÄÒÒ`Íw//k¨7Ò•†ýŒ°µuâÄò'O*~úéjpðI ý/¾ð€z#e0N$ †ý ²´48x00##ÜÊÊ`åÊ“nn»RRîñx|ªã, Ò‰yûö?Ãþ 0ìdиq±± 22"Æ7 ;ëîõFJà›@ÃþêêŠ_=gÖ,köï›ÁüÎM){þüM\ܵ´´<##ÍÕ«Ýì øæM¨4 _ˆaÿ;ÿhjj‡aÿþƒJ#eeeo÷í»vöìͨ7dJúîÎâ-[ÒÿþûU` Óºu ¦JuDr* %ÊËëöîÍHJº««;$(Èõ³Ï¦)*ÂÕR’Õô1ìïã³wĈaׯùÝw>Pf€ü1bØÎ~·nmôôœuÑÉéûÇÿb³¹TÇ5p@¥ï§­­sûöß>üpgIIÍñãË „RÁÈHó»ï|®_ßàädúÝw\]·Ÿ9s® ôÕÙ£†1†Ÿ¯¢b-Ù¯),«ÿé`±X ‰4š"“9*wRR’\ï_4šŠººÓ°a¾Æ ×DR ç"ûkݺuS§N¥: éó‘`[»wï–TSaaa’j ôŸŸŸ¤š¢vÿâóq-€ªÞåTNNNLŒè@#Tšþrpp_¥©•’’"©¦FŒéH`ÿ’;bFaœ¹ Ò Tä‚J€\Pi ®=“‡“ššš››«££ãããcffÖÝ’õõõ 6lèg|>ÿÂ… ¹¹¹|>ßËËËÁÁFëË·Šôôt}}}SSS‰D%;¤Ÿ‘ŠŠŠ‹/Íœ9súôéL&³»%›››÷íÛÙ]×DR¦L™røðá7oÞ3MMM½¼¼TUã“d9›"jjjRRR\\\¬¬¬úƒ|eŽiHWYY9eÊ”èèh•üü|‡ÐÐÐînll5}Ó›ýBRíÈx6EŒ;öÖ­[ Cf³Ÿ””Ôµ²À1 ¹ª««Ï;È`üçD¥••Õ‘#G*++B×®]óòò6l˜££ã™3gBUUU³gÏ&>èé陚šj``ðäÉ“âââ°°0##£U«V=yò„hj×®]‹-™.//OKK >”>v옎ã"Ív !”ŸŸ¿páÂáÇ/X° ­­M8*„PQQ‘»»»†††‹‹ ñêíÛ·îîî.\˜0a‚±±ñæÍ›BþþþÕÕÕþþþYYYdoä÷"ýŒp8œ¢¢"Aw¡„„bZl;áÍÞ5)]Y[[çåå‰] átˆ¤¦kB…×4++«kre‡Le³´´tÆŒ‚ùþþþwîÜîÈÞÞþåË—‹/þý÷ßņ‡ÊÎζ³³>|ø¢E‹ž={FÌ욣®d=ûäU¶Á½ë;×Å‹i4Zmmm×_ñù|ssóƒÖ××§¦¦jiiµ¶¶–””¨ªªâ8^^^®¢¢2cÆŒ3gÎtttGFF–””DEE :´³³ÇñôôôØØX¢5Átbb¢‚‚BCCƒØx„›mooï@ss³²²òwß}÷âÅ‹àà`„PLLŒ *Çíìì"##ËËË=:dÈGUVV*((øúú–••ååå)**>~ü¸¾¾^__ÿÆD¨=“æ1ô3‚ãøW_}E§ÓgÏž òu»k;‚cA×b“‚㸵µuLLLMMMMMÍÕ«W­­­×®]+v-„Ó!’š® ^ÓÒÒÒ®É}g"Þ¹_ô’ î_x÷Ù|úô©–––àGkkë«W¯ wTUU5zôèK—.uttˆ ÇãéèèDEE½zõê‹/¾˜3gÑT×á2œ}±Ç4Piúå{ÂéÓ§õôôÄþª³³377—˜~þü9“É,**ÞBW®\Áqüádž††‚ÁÝõxäÈ‘‰' ~tss|«ÈÉÉnVl©©©ÄÑŽãG]]]¸Ò¼|ùÒØØ˜Çã øúúnÛ¶øþ˜MÌtrrJIIÁeõì™ô3B¸wïÞºuë&L˜€a˜§§gQQQwít­4b“B,O£Ñèt:N×ÕÕ «¬¬»x7çOÄ&TxM»KnϤVid*›ÝUAG8Ž3&''§»ðnݺ5nÜ8bfkkëÎ;9ŽØá2œ}±•®=#—®®î›7ož>}:nÜ8ÁÌÌÌ̺º:Ÿ‡nܸ±¨¨H[[»ëgi4š‹‹ B(##cÚ´i‚ùÎÎÎW¯^uwwÛ£‰‰ÉË—/y<NG¥§§s8.—knn.Ò,“ÉìÀ7\]]‰iƒ!Ü/BèÒ¥Kµµµ&&&ÄíííúúúÄ´½½=1Aô+³¤ŸÇù|¾BèñãÇ!!!Ë–-ËÌÌÛŽ………H =$åàÁƒË—/Y¾çµÖ]BkJÙäÊT6» RdcÄî}—/_vtt$¦UTT"""P;eÆiÈ5mÚ4â´,Çñ+VÔÖÖ^¸paÍš5áááÏŸ?¿}û¶²²²Èg1 SPP@?¾°°P0¿°°ÐÒÒ²»'MšÄçóÓÓÓ‰UUU544²²²êêêDš€µµõãÇ…ûnÜÒÒÒÊʪTÈ?þHüJ"—ÓHô3rùòeáKZ­¬¬¾ÿþû¬¬,6›ÝËvzNŠˆw®…°î*XS‚Ì&W¦²)¼—Ë-++éH˜ØðÌÍÍ…¯ KMMmmmía§ëJf³/£@†²²rDDDlll~~>B¨½½=66¶ººš×µ°°pww§ÓéçÏŸojjâóÅ¿siÆŒ¥¥¥7oÞDåçççä䣚÷ïß¿|ù2±Œ`ZCCcÓ¦M¡¡¡Äò|>?##cëÖ­]ÿÖÅ0sæÌ?ÿü“Züõ×_KKK…?2uêÔŠŠŠÔÔT„PSSÓ¸qãˆõêNwkD!égÄÞÞþÍ›7ñññÄ|—””dcc£¨¨Ø];"zNŠˆÖBxuˆé÷M¨¬‘©ljhh466¾|ù!”––ÖÐÐÐCäbÛ5kÖÝ»w‰o—.]Ú¼y³ªªê{åHv³ÿΓn ¨ç£;;;#"" †™™™†††««kZZŽãÄ€üäÉ“]]]쬬ìíí…Ï#ÓétA#'Ož477?~üÈ‘##“k×®µ··ï:ÍçówìØ¡  `hhhdd¤­­}ñâE___bœFЬØpß±c‡žžž¹¹¹ÁܹsE®HMM0a‚¥¥¥žž^xx8þÿ's¡º¸¸'sœœìííïÝ»÷ÎÍ(嫜¥Ÿ‘ßÿ]GGGGGgòäÉZZZÖÖÖ………ݵÓuœ—¼Ëu®„îÒ*œáé® ^Óî’Û³Þì½!›ûWÙ\¸p¡–––ƒƒƒ““qN¤#Á8MwiÚ¿ÿèÑ£mll Ï;G|ªkŽpÎ>\ y½ß£ZZZrrr***Dæ?|ø°¹¹Çñªªª¬¬,'öBÇù|þƒ¸\n/ckkk»}ûvAA1âÇf³C=@ÌìèèÈÉÉimm%~ìU^^žðý:b566^¿~½¾¾þ¡J¹Ò¤œ‘ÎÎÎÛ·o_½zõÙ³g½lG¤k‘¤ô¬kZ…ÓÑ55½IhïI³Òd'›/^¼è};b÷>.—›››Ûµ…ÞçˆÚì‹­4>(_Q,)†%%%I𠃃±“““e¤ÐO’Ú/`ÿ’GÉÉÉþþþ"•Æi * rA¥@.¨4È•¹ Ò Tä‚J€\PiäRk+»¾¾·/”í½×¯ëáN^€ÄÁ[úkÛ¶m R뮳“YW7¼¥Em̘&áçW¶´¨UVêki½ÕÔlxã=(((˜>}ºDšú믿<<<$ÒRÞ¿@ÿUUUu •¦_X,–Ôújia¾z¥öö­2ŽccÆ46Tâ]hj¢úz¬²Ò ¦FÏÀ U_¿…É”F½™>}ºƒƒCÿÛ‘H# ÿX,Öˆ#$ÒNÿR¦©©ÙõKðÜ3Y‡ãøÏââ2nß.¦Ói|>®££~÷î7L&)鷺}û…¯oBˆN§ÑhØüùöÁÁ3FNF_€A*ìjoï<}úöÁƒ¾~ÝÀ``\.!D£aÑÑþþSÈë7 `vö .—‡b2éÏÖvÔš5îVïü,t•FUU5>üשSÙÍÍÄ›ˆù41BëæÍ¯èt/åÈÏ/Ÿ93Føƒ¨7ææz«V}èãcË`À…$€÷•F¶üóOõO?]IOˆ"Ž*„a·ÐÇg2Ùa|öYBff¡H4†ÒѲl™ógŸ9¢Dv€*¬àóñÿ;õÌ™Û4ÆáˆÖ„† »u‹Ü£Gå#öoÃ0 CC‡ªüðü9s&‘ `€Ó ²‚FÃfÍšH£a<žøË½pEF~,…2ƒ²¶áînÉdй4Çq:6|¸š““©" PidÈôéæ§N}‰üŠN§™™éz{Û¡˜XàIDATH-˜¯¾òêzú!Ä`ÐŒ‡¥¥…¦*µ`r *lqv6;th1q†J‡GFÎK&ss½Ù³'‰Ö0™tCCÍ´´5Pf½•F挫3räpL¨ÚÐé´  ==ÇK9’/¿œÉçÿ÷°†Á «ª*ššêª,åHr *lÉË+óòúISS%*êÁL¿aÃÇÒfôhm__[âQƒ6t¨ò?Ì»s§8 `K [úñäTrï^ɧŸ˜8Ñ()ie` ãÆ^†ÑhØøñF~(útéX»ö#>ŸO£aJJ gÏ{{Û¤¤¬*,|ãçßÐÐFIH¹•FVdf˜:uìÏ?®¢¢€ZµêÃuë>âóñÈÈ¥9B#ÌÄDû“O쉉ÁVV†¡‰Gœ?RYÙèçÿöm %Qä ÜO#þø£ 8ø„§çø}û>y YJÊ=ëªC•—×½~]ïà0FxfqqŸ_¼ŠŠBrò*==É?ë0@¥¡^Jʽ°°³óæÙýø£¿tn—‘ˆ×¯ëýüös¹¼¤¤•ðN@äæÿµ*1ñvXØÙÅ‹vï£2ƒ24ÔLK USSœ7o_qq Õád—<ý×6ð:”žä²uë\ªFbúCGGýܹ]Ý!>>{Ÿ<© :€Œ‚³g”‰Ž¾}yãF¯Õ«Ý¨Ž¥_šš:.þú¶m¾K–8Q‹´µu.]zôþýÒcÇ–ÁóÐ" ÒHŸoÜxî石·og-\8•êp$¦³“|23³ðÈ‘%®®ÔÜýMPi¤ŠËå¯[—˜žž»`î\Ò_3#e/$äÔ¥Kû÷/úøã‰T‡Pi¤‡Ãá…†ž¾|¹àСÅõMÉ<?""9%å^tt€Ÿ•·d‡˜2ttp‚‚Žß¼Ytôè²3ìÉ%:í¯®®–Èáp,8§}•FZZØ‹.(x•˜looBu8äÂ0lË–¹êêJ6¤´´°W¬p¥:"Å Ò®©©cÑ¢„¢¢ª””U'Ž :) ÿ—²2sË–ôÚÚ–½¨@%¨4䪫k?ÿ@uuÓùó!ææzT‡#U«W»©ª*mÚtÇñM›fS€2PiHôæM£¿ÿþ–vjêê1ct¨‡‹;2™´/¿Liiéøþûy]ßZ   Ò¥¬ì­¿ÿ~ KO_cd¤Iu8”Y°`ªššÒš5§[ZØ{ö|Ê`Àt Ò¢¤¤ÆÏo¿ººÒÙ³+utÔ©‡bÞÞ6** AAÇ[[Ù*(À_ƒ ÜO#yOŸVÐÑ’˜<|¸ÕáÈŠ[·þY¼ø°ƒƒIBÂ%%&Õá¤*„åå•-XphìXÓ§ƒ† Q¦:Ùr÷nñgŸ%ŒoxâÄçjjŠT‡¨4’tï^ÉgŸ²¶6>vlñ†f "?¿üÓOk9³BCC…êpÒó“™Yp`êÔ±?ÿü9”™îLœ8âüùÊÊF?¿ø·o[¨ Pi$ã? -JpswèÐbñî™™™Þ¹s«ëêZ}|ö¾yÓHu8ÒA¥‘€””{AAÇ}}m÷ï_ÄdÒ©G˜˜h§§¯áñpoïØÒÒZªÃ *M%&Þ ;»x±ÓîÝt:lÏÞ24ÔLK USSôñÙ[Xø†êp$‚ÿûåСÌððä  —­[çbÜÿ~ttÔÏŸ10Ð`±ö=yRAu8²Àµg}}):úòÆ^«W»Q‹kjêX¸ðPQQÕ©SA¶¶#© yPiú(*ê×øøëÛ¶ù.YâDu,r¯­­séÒ£÷ï—;¶ÌÉÉ”êp•æ½ñùøÆç~þ9{ûvÖÂ…ð¦/ÉèìäŸÌÌ,ßÜÜüàÁƒõõõ©©©ZZZ­­­%%%ªªª8Ž———«¨¨Ì˜1ãÌ™3ÆÆÆ‘‘‘%%%QQQC‡íììÄq<===66–hMxºë1 ÙÊÊJ__ß²²²¼¼­§§'öW¹¹¹ÄôóçÏ™LfQQ‘ð:¡+W®à8þðáCCCCÁ­­­¯^½ÚC§=W„Pvv61ßÉÉ)%%ååË—ÆÆÆ<˜éëë»mÛ6±á GuäÈ‘‰' ºpssÔ㜜á%Å6•ššJ| ÆqœÃᨫ« ÿ#6$±Áã²wöŒ’¤ÛÚÚªªªjiiiii©©©!„Ž?Þ]=oüîROT¹Ë;•È›÷¾öLWW÷Í›7OŸ>7nœ`ffff]]ÏÇ7nÜXTT¤­­Ýõ³4ÍÅÅ!”‘‘1mÚ4Á|ggç«W¯º»»¿o0öööÄNG]ºt©¶¶ÖÄÄ„˜ÙÞÞ®¯¯Ïd2ņ'ˆÊÄÄäåË—<h$==Ãáp¹\sss‘%Å6uãÆ WWWbšÁ`¯`w!‰ ^Q•ôíÛ·‡„„ „ø|þéÓ§—.]êîînhhø¾¿»Ô ïí½Çi¦M›¦¢¢òûï¿ æà8¾bÅŠÚÚÚ .¬Y³&<<üùóç·oßVVVù,†a ¡ñãÇ æZZZöuBHä‚TKKK++«R!?þøcwá ¢š4iŸÏOOO'櫪ªjhhdeeÕÕÕ‰,)¶)kkëÇ ¯Ô;C¼ ¢<é4íÓO?UVVþçŸú°ñ{òÙÞûo]YY9"""666??!ÔÞÞ[]]MŒ…ZXX¸»»ÓéôóçÏ755ñù|±Ì˜1£´´ôæÍ›¡üüüœœbøôþýû—/_&–žFµ´´4ü¿¦¦¦žƒœ:ujEEEjj*B¨©©iܸqùùùï OCCcÓ¦M¡¡¡D`|>?##cëÖ­Äÿ2ÂÄ65sæÌ?ÿü3//!ô믿–––¾3¤V¡»MG ª’.ŒN§kjj¶µµõaã÷$äÒ ŸJëåyÿÎÎΈˆƒaff¦¡¡áêêš––†ã81^:yòdWW×°°0+++{{{áSöt:]ÐÈÉ“'ÍÍÍÇ?räHÁ ðÚµkííí»N _„ÒÒÒ§4ëââBœòNMM0a‚¥¥¥žž^xxxwá‰DÅçówìØ¡  `hhhdd¤­­}ñâE___â|½`I±Má8¾cÇ===sssƒ¹s犌 w ©»àœœìííïÝ»×s"¤y•³ô“.r•3Žã .ìÃÆï.õ‚«œå+ï8ŒÓyÓ—JChiiÉÉÉ©¨¨™ÿðáÃææfÇ«ªª²²²x<žØk–pçóù<àr¹ï6ÞC³Âòòò„o’èžØOµµµÝ¾}»  €Èe³Ù‚Ýw6ÕÑÑ‘““ÓÚÚÚ]œ]Cꪱ±ñúõëõõõ=/&ÍJC 6é=ôHÌìyã¿3õò’w* 7bÞîŒKîýZ€T’ʆaIII~~~‰ H‘,x=.0& €\Pi * rA¥@.¨4È•¹ Ò Tä‚J€\bÞàáá!ý8@TUUIª©mÛ¶%$$Hª5@¶‚‚‚éÓ§S½õ?•fĈ,‹ªPÀûÒÔÔ´°°è;t¹3}útª£ ·0xÊRÁ8 rA¥@.¨4È•¹ Ò ×ÿ„ýlȾ4ÞIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x74.html0000644000175000017500000000005011561716354023555 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x74.html0000644000175000017500000001172611561716354024000 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- t -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x72.html0000644000175000017500000000005011561716354024566 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x72.html0000644000175000017500000001427511561716354025013 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- r -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/namespaces.html0000644000175000017500000000005011561716354023102 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/namespaces.html0000644000175000017500000000312411561716354023316 0ustar00murraycmurrayc00000000000000 cairomm: Namespace List

Namespace List

Here is a list of all namespaces with brief descriptions:
Cairo
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FontFace-members.html0000644000175000017500000000005011561716354026544 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FontFace-members.html0000644000175000017500000000770311561716354026767 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::FontFace Member List

This is the complete list of members for Cairo::FontFace, including all inherited members.
cobj()Cairo::FontFace [inline]
cobj() const Cairo::FontFace [inline]
cobject typedefCairo::FontFace
FontFace(cairo_font_face_t* cobject, bool has_reference=false)Cairo::FontFace [explicit]
get_type() const Cairo::FontFace
m_cobjectCairo::FontFace [protected]
reference() const Cairo::FontFace
unreference() const Cairo::FontFace
~FontFace()Cairo::FontFace [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Matrix__inherit__graph.png0000644000175000017500000000005011561716354027714 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Matrix__inherit__graph.png0000644000175000017500000000616511561716354030140 0ustar00murraycmurrayc00000000000000‰PNG  IHDRs{Èr(ÜbKGDÿÿÿ ½§“ *IDATxœí}LSW€OK+‚0d X:¤èfTbb¦é¦Ód› ‰ØeS², '[6&Jœ™–  ¸A:òe›Ù\Ï:™d©…Vå£ Rd4+tH?¥¥çýã¾é{×/>Ê¡íÞóüuzzïùýî“Ûsnå „`@õtÿZ°YT`³¨ÀfQÍ"’(//÷t:> ü'4û#***–>-ŸF"‘ÙT:0›ššº$ùü{pø÷³¨ÀfQÍ¢›E6‹ „fU*UAAºöçÅÒ'ƒÐ¬F£ùþûïѵïŒôôô¡¡¡EIÆaSs¡Y‹Õ×ׇ®}g\¿~]£Ñ,J2›š# 1{ëÖ­mÛ¶…‡‡§¥¥=|ø¨‰D¯½öÚÓO?½sçÎÒÒRÀØØØë¯¿P*•{÷î­ªªŠŒŒìéé‘ÉdÇŽ{æ™g233{zzœEyòäÉîÝ»¿ýö[‹]^^ž››_WWç,(ŸÏW*•|>¿©©‰W,É\½z5%%Ål6*++:älîŸÜÔ,9˜7€.1›Í«W¯ÎÏÏ—ËåYYYû÷ï‡Z,6›ýÍ7ߨTªªªª°°°©©©¡¡¡+V@GFFy<^ii©^¯_»víÉ“'‡††òóóCBBfffR(T*õÈ‘#jµ://••¥Ñhrrr¸\®³ *•ŠÁ`ˆÅâ™™r܇É˜Íæ¤¤¤ÂÂÂÑÑQƒ!•J])¹)×Nz›·Ù–––矞(OMMÆ™™™¶¶6¢²¿¿ŸN§ Íêêê „L&ÓÚZ\\Ü7R(…B!ìíí¥Ñh*• BØÚÚ!tBÈd2 _ä¸Öd „2™lÕªU»ví:{ö¬ë‹µ6å‡ÞæÝüþûï;wî$Ê'Nœ Ñht:½³³sß¾}ëׯ?|ø°ýYT*u×®]€úúú;vXë¹\î7\„[³f €F£ùûû¯\¹’(oÍ”—LLLLZZZgggvvö¯zÌÛ,›Í&—UUUSSS555~øáñãÇûûûoß¾`s…BY¶l€ÃáG’¾¾¾M›6-,õYƒ’ã’‘Ë奥¥6l8þüÂBÏ…y›}õÕWïÞ½ûàÁÀõë×Ïœ9³bÅ N·qãÆÝ»wûùù …B­Vk±XžÎãñ?~ÜÜÜ ¸wïžD"!–à"¨³èáÛo¿]VVvþüùû÷ﻎ⢩Y˜µ¿°çë¯¿Ž‰‰‰g2™ÕÕÕÂééi6›½uëÖäääcÇŽÅÆÆnß¾ÜÏúùùYOÿé§ŸØl6‡Ã‰ŽŽ΢ý,Q°ö’R©”èg…&&&nß¾½µµ•ךLqqñ‹/¾h6›!„EEE[·n5Îr°6åZÈâŒ`&“©­­Íd2‘+;;;'''!„cccMMMf³y||Üáé‹E*•Úœ¾0l‚B5ÍÍ›7‰áΊ‹d\à°){z£@ÒÓ\EEŸÏ‡KûÛ…B!‰ìë7oÞç 8ôæào K N·¯ ôéY™žË£.^<íéD066f_ù³QQQ^û£.µ:dff<ãé\l ݸq£M%e‰g †Å·lɘø;==é³ÏR<Μð~¶¥e`bâo@ee›É´Ð Ó¥Å7Ì …tº@«nnî÷t:sÂÌ ¦_•fF½r¥ÝÓÍ 0{ófïôôG-£Ñ|íZ—^oôlJsÁÌ …í~~~Ö—z½©¾Þéï?¼o7«Õêëêî›LfkŸU(ôÁÛÍÖÕÝ7›ÿñ0`2™E¢­vÚS)Ío7[]ÝF¡Pl*ÍfËo¿u{$Ÿ¹ãÕfÇÇÿnnî·¹gPªªÚ<Ð|ðj³×®u`{Ã,‹DòH©œ\ú”æŽW›½r¥ÍlvüåÛbµµ]KœÏ¼ð^³ccšööaœMkÀšé’&4O|cFPSÓùÞ{?þù§í?az-Þ{Ïú:Ø,*°YT`³¨ÀfQÍ¢›E6‹ lØ,*°YT`³¨ÀfQÍ¢›E6‹ lØ,*°YT`³¨ÀfQÍ¢›E6‹ lØ,*°YT`³¨ÀfQÍ¢›E6‹ lØ,*°Yd¸^ŸÒ{ Rýéô՞Π|β.â™3g–&EŸ£§§§²²Òų˜MNN^ÌtþŸÀý,*°YT`³¨ÀfQÍ¢bÌšL&‘HTRRrùòe¹\îâÈÉÉɲ²2wbY,–K—.Õ××ÛÔÿòË/B¡p¾­¹Ÿ Ü5ûäÉ“£GVTT,_¾|pp033S 8;xjjª¶¶Öp&“é‡~øòË/ ƒµR©T ‚Ë—/»8±°°Ø aqóq»+¨_¸p!,,,??ŸXžèñãÇGŽIMMe0ö¯Y³æÒ¥KnF„……ݹs'))‰xÙØØÈd2õz½‹SîÞ½›’b»ìßbåã·îYµZÝØØ¸wï^ëªO,+''gbbÐÑÑñÉ'Ÿìß¿ÿƒ> 6,P©T§N"N}šØH¥¡¡!??ßýÅ Ü2ÛÛÛ HHH W¾üò˱±±ÂââbbC´ƒ ƒÁ`0¤R)Àh4vww_½zõèÑ£‘‘‘YYYt:ý«¯¾ZµjÕûï¿o2™k×®e³ÙD›ä2 ))©µµ•¸I•Jåèèh||<ñ–øÙÙÙ!!!ÙÙÙ›6m"‡'òÙ±c‡V«­¬¬T©T.\àóùöËÍ·zNúÔSOÙ¿e6›?ýôÓ 6Ö­[§ÓéÆÇÇÉ š †7ß|sÛ¶mƒƒƒ‹åÝwß¼õÖ[b±¸««+!!¼Ù¹ æp8‰„Çã544p¹\*•ê".“ɤP(AAAÄXÖУ££ÄY åäÉ“™™™‰$%%åÙgŸuG [fCCC'&&†‡‡£££­•]]]Z­–Ëå>zôè»ï¾“Ëåľ^6P(”^xÐÞÞÎáp¬õ[¶likk³ùØCt<O,gddüïzh4×qÉ¡É0ŒW^y¥¶¶v±¶¶r«7ˆõ÷÷¿s玵BøÅ_h4š[·n >ŸÿóÏ?—””ØoÒE¡Pˆ;(&&æ?þ°ÖŒŒ°X¬YC'&&vttÈd2¥RIÖ4k\rh2ýõ—H$ŠŠŠZ¬éS·Ìúûû¿ñÆÕÕÕ2™ `0„B¡Z­Þ³g±ßbBB•JmjjÒétÎÆ„øøøÑÑÑîîn€L&{ðàñÙïïïomm%Ž!— ‚‚‚âââ ¸\.¹Ot×Å !üüóÏ<˜››[^^¾àXɸû<{èС—^z)##ãðáÃhnnÎÉÉñ÷÷OLLÔëõüqww7‹Å:{ö¬Ãh4ÚG}TXXøÎ;ïœ:u*===88PWWwñâEârÙ ÇëëëãñxäJgq FQQ‘³Y…B¡Á` ÓÒÒÎ;Gl.êN×>"vf"?ܸ@¯×Ëd²ˆˆˆ°°0rýàà`ddd@@€Z­áp8“““G<áàààºuë¬c‘;ØÄݼy³N§ëëë{î¹ç‚‚‚ÈAå3+ yyy.>‹³×ÒòåËn§¸~ýz¢°råJbîgQÍ¢›E6‹ lÿíÕß#ˆIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x78.html0000644000175000017500000000005011561716354023561 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x78.html0000644000175000017500000000721511561716354024002 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- x -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32FontFace.html0000644000175000017500000000005011561716354025737 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32FontFace.html0000644000175000017500000003104011561716354026151 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Win32FontFace Class Reference

Cairo::Win32FontFace Class Reference

Font support for Microsoft Windows. More...

Inheritance diagram for Cairo::Win32FontFace:

List of all members.

Static Public Member Functions

static RefPtr< Win32FontFacecreate (LOGFONTW* logfont)
 Creates a new font for the Win32 font backend based on a LOGFONT.
static RefPtr< Win32FontFacecreate (HFONT font)
 Creates a new font for the Win32 font backend based on a HFONT.
static RefPtr< Win32FontFacecreate (LOGFONTW* logfont, HFONT font)
 Creates a new font for the Win32 font backend based on a LOGFONT.

Protected Member Functions

 Win32FontFace (LOGFONTW* logfont)
 Win32FontFace (HFONT font)
 Win32FontFace (LOGFONTW* logfont, HFONT font)

Detailed Description

Font support for Microsoft Windows.

Since:
1.8

Constructor & Destructor Documentation

Cairo::Win32FontFace::Win32FontFace ( LOGFONTW *  logfont) [protected]
Cairo::Win32FontFace::Win32FontFace ( HFONT  font) [protected]
Cairo::Win32FontFace::Win32FontFace ( LOGFONTW *  logfont,
HFONT  font 
) [protected]

Member Function Documentation

static RefPtr<Win32FontFace> Cairo::Win32FontFace::create ( LOGFONTW *  logfont) [static]

Creates a new font for the Win32 font backend based on a LOGFONT.

This font can then be used with Context::set_font_face() or Win32ScaledFont::create().

Parameters:
logfontA LOGFONTW structure specifying the font to use. The lfHeight, lfWidth, lfOrientation and lfEscapement fields of this structure are ignored.
Since:
1.8
static RefPtr<Win32FontFace> Cairo::Win32FontFace::create ( LOGFONTW *  logfont,
HFONT  font 
) [static]

Creates a new font for the Win32 font backend based on a LOGFONT.

This font can then be used with Context::set_font_face() or Win32ScaledFont::create().

Parameters:
logfontA LOGFONTW structure specifying the font to use. If hfont is null then the lfHeight, lfWidth, lfOrientation and lfEscapement fields of this structure are ignored. Otherwise lfWidth, lfOrientation and lfEscapement must be zero.
fontAn HFONT that can be used when the font matrix is a scale by -lfHeight and the CTM is identity.
Since:
1.8
static RefPtr<Win32FontFace> Cairo::Win32FontFace::create ( HFONT  font) [static]

Creates a new font for the Win32 font backend based on a HFONT.

This font can then be used with Context::set_font_face() or Win32ScaledFont::create().

Parameters:
fontAn HFONT structure specifying the font to use.
Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/win32_font.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Matrix.html0000644000175000017500000000005011561716354024673 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Matrix.html0000644000175000017500000007542611561716354025125 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Matrix Class Reference

Cairo::Matrix Class Reference

A Transformation matrix. More...

Inheritance diagram for Cairo::Matrix:

List of all members.

Public Member Functions

 Matrix ()
 Creates an uninitialized matrix.
 Matrix (double xx, double yx, double xy, double yy, double x0, double y0)
 Creates a matrix Sets to be the affine transformation given by xx, yx, xy, yy, x0, y0.
void translate (double tx, double ty)
 Applies a translation by tx, ty to the transformation in matrix.
void scale (double sx, double sy)
 Applies scaling by sx, sy to the transformation in matrix.
void rotate (double radians)
 Applies rotation by radians to the transformation in matrix.
void invert ()
 Changes matrix to be the inverse of it's original value.
void multiply (Matrix& a, Matrix& b)
 Multiplies the affine transformations in a and b together and stores the result in this matrix.
void transform_distance (double& dx, double& dy) const
 Transforms the distance vector (dx,dy) by matrix.
void transform_point (double& x, double& y) const
 Transforms the point (x, y) by this matrix.

Related Functions

(Note that these are not member functions.)
Matrix identity_matrix ()
 Returns a Matrix initialized to the identity matrix.
Matrix translation_matrix (double tx, double ty)
 Returns a Matrix initialized to a transformation that translates by tx and ty in the X and Y dimensions, respectively.
Matrix scaling_matrix (double sx, double sy)
 Returns a Matrix initialized to a transformation that scales by sx and sy in the X and Y dimensions, respectively.
Matrix rotation_matrix (double radians)
 Returns a Matrix initialized to a transformation that rotates by radians.
Matrix operator* (const Matrix& a, const Matrix& b)
 Multiplies the affine transformations in a and b together and returns the result.

Detailed Description

A Transformation matrix.

Cairo::Matrix is used throughout cairomm to convert between different coordinate spaces. A Matrix holds an affine transformation, such as a scale, rotation, shear, or a combination of these. The transformation of a point (x,y) is given by:

 x_new = xx * x + xy * y + x0;
 y_new = yx * x + yy * y + y0;

The current transformation matrix of a Context, represented as a Matrix, defines the transformation from user-space coordinates to device-space coordinates.

See also:
Context::get_matrix()
Context::set_matrix()

Constructor & Destructor Documentation

Cairo::Matrix::Matrix ( )

Creates an uninitialized matrix.

If you want a matrix initialized to a certain value, either specify the values explicitly with the other constructor or use one of the free functions for initializing matrices with specific scales, rotations, etc.

See also:
identity_matrix()
rotation_matrix()
translation_matrix()
scaling_matrix()
Cairo::Matrix::Matrix ( double  xx,
double  yx,
double  xy,
double  yy,
double  x0,
double  y0 
)

Creates a matrix Sets to be the affine transformation given by xx, yx, xy, yy, x0, y0.

The transformation is given by:

 x_new = xx * x + xy * y + x0;
 y_new = yx * x + yy * y + y0;
Parameters:
xxxx component of the affine transformation
yxyx component of the affine transformation
xyxy component of the affine transformation
yyyy component of the affine transformation
x0X translation component of the affine transformation
y0Y translation component of the affine transformation

Member Function Documentation

void Cairo::Matrix::invert ( )

Changes matrix to be the inverse of it's original value.

Not all transformation matrices have inverses; if the matrix collapses points together (it is degenerate), then it has no inverse and this function will throw an exception.

void Cairo::Matrix::multiply ( Matrix a,
Matrix b 
)

Multiplies the affine transformations in a and b together and stores the result in this matrix.

The effect of the resulting transformation is to first apply the transformation in a to the coordinates and then apply the transformation in b to the coordinates.

It is allowable for result to be identical to either a or b.

Parameters:
aa Matrix
ba Matrix
See also:
operator*()
void Cairo::Matrix::rotate ( double  radians)

Applies rotation by radians to the transformation in matrix.

The effect of the new transformation is to first rotate the coordinates by radians, then apply the original transformation to the coordinates.

Parameters:
radiansangle of rotation, in radians. The direction of rotation is defined such that positive angles rotate in the direction from the positive X axis toward the positive Y axis. With the default axis orientation of cairo, positive angles rotate in a clockwise direction.
void Cairo::Matrix::scale ( double  sx,
double  sy 
)

Applies scaling by sx, sy to the transformation in matrix.

The effect of the new transformation is to first scale the coordinates by sx and sy, then apply the original transformation to the coordinates.

Parameters:
sxscale factor in the X direction
syscale factor in the Y direction
void Cairo::Matrix::transform_distance ( double &  dx,
double &  dy 
) const

Transforms the distance vector (dx,dy) by matrix.

This is similar to transform_point() except that the translation components of the transformation are ignored. The calculation of the returned vector is as follows:

 dx2 = dx1 * a + dy1 * c;
 dy2 = dx1 * b + dy1 * d;

Affine transformations are position invariant, so the same vector always transforms to the same vector. If (x1,y1) transforms to (x2,y2) then (x1+dx1,y1+dy1) will transform to (x1+dx2,y1+dy2) for all values of x1 and x2.

Parameters:
dxX component of a distance vector. An in/out parameter
dyY component of a distance vector. An in/out parameter
void Cairo::Matrix::transform_point ( double &  x,
double &  y 
) const

Transforms the point (x, y) by this matrix.

Parameters:
xX position. An in/out parameter
yY position. An in/out parameter
void Cairo::Matrix::translate ( double  tx,
double  ty 
)

Applies a translation by tx, ty to the transformation in matrix.

The effect of the new transformation is to first translate the coordinates by tx and ty, then apply the original transformation to the coordinates.

Parameters:
txamount to translate in the X direction
tyamount to translate in the Y direction

Friends And Related Function Documentation

Matrix identity_matrix ( ) [related]

Returns a Matrix initialized to the identity matrix.

Matrix operator* ( const Matrix a,
const Matrix b 
) [related]

Multiplies the affine transformations in a and b together and returns the result.

The effect of the resulting transformation is to first apply the transformation in a to the coordinates and then apply the transformation in b to the coordinates.

It is allowable for result to be identical to either a or b.

Parameters:
aa Matrix
ba Matrix
Matrix rotation_matrix ( double  radians) [related]

Returns a Matrix initialized to a transformation that rotates by radians.

Parameters:
radiansangle of rotation, in radians. The direction of rotation is defined such that positive angles rotate in the direction from the positive X axis toward the positive Y axis. With the default axis orientation of cairo, positive angles rotate in a clockwise direction.
Matrix scaling_matrix ( double  sx,
double  sy 
) [related]

Returns a Matrix initialized to a transformation that scales by sx and sy in the X and Y dimensions, respectively.

Parameters:
sxscale factor in the X direction
syscale factor in the Y direction
Matrix translation_matrix ( double  tx,
double  ty 
) [related]

Returns a Matrix initialized to a transformation that translates by tx and ty in the X and Y dimensions, respectively.

Parameters:
txamount to translate in the X direction
tyamount to translate in the Y direction

The documentation for this class was generated from the following file:
  • cairomm/matrix.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x71.html0000644000175000017500000000005011561716354024565 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x71.html0000644000175000017500000000747111561716354025012 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- q -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32ScaledFont.html0000644000175000017500000000005011561716354026274 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32ScaledFont.html0000644000175000017500000004372411561716354026522 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Win32ScaledFont Class Reference

Scaled Font implementation for Microsoft Windows fonts. More...

Inheritance diagram for Cairo::Win32ScaledFont:

List of all members.

Public Member Functions

void select_font (HDC hdc)
 Selects the font into the given device context and changes the map mode and world transformation of the device context to match that of the font.
void done_font ()
 Releases any resources allocated by select_font()
double get_metrics_factor () const
 Gets a scale factor between logical coordinates in the coordinate space used by select_font() (that is, the coordinate system used by the Windows functions to return metrics) and font space coordinates.
void get_logical_to_device (Matrix& logical_to_device) const
 Gets the transformation mapping the logical space used by this scaled font to device space.
void get_device_to_logical (Matrix& device_to_logical) const
 Gets the transformation mapping device space to the logical space used by this scaled font.

Static Public Member Functions

static RefPtr< Win32ScaledFontcreate (const RefPtr< Win32FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())
 Creates a scaled font for the given Win32FontFace.

Protected Member Functions

 Win32ScaledFont (const RefPtr< Win32FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())

Detailed Description

Scaled Font implementation for Microsoft Windows fonts.

Since:
1.8

Constructor & Destructor Documentation

Cairo::Win32ScaledFont::Win32ScaledFont ( const RefPtr< Win32FontFace >&  font_face,
const Matrix font_matrix,
const Matrix ctm,
const FontOptions options = FontOptions() 
) [protected]

Member Function Documentation

static RefPtr<Win32ScaledFont> Cairo::Win32ScaledFont::create ( const RefPtr< Win32FontFace >&  font_face,
const Matrix font_matrix,
const Matrix ctm,
const FontOptions options = FontOptions() 
) [static]

Creates a scaled font for the given Win32FontFace.

Since:
1.8
void Cairo::Win32ScaledFont::done_font ( )

Releases any resources allocated by select_font()

Since:
1.8
void Cairo::Win32ScaledFont::get_device_to_logical ( Matrix device_to_logical) const

Gets the transformation mapping device space to the logical space used by this scaled font.

Parameters:
device_to_logicalmatrix to return
Since:
1.8
void Cairo::Win32ScaledFont::get_logical_to_device ( Matrix logical_to_device) const

Gets the transformation mapping the logical space used by this scaled font to device space.

Parameters:
logical_to_devicematrix to return
Since:
1.8
double Cairo::Win32ScaledFont::get_metrics_factor ( ) const

Gets a scale factor between logical coordinates in the coordinate space used by select_font() (that is, the coordinate system used by the Windows functions to return metrics) and font space coordinates.

Returns:
factor to multiply logical units by to get font space coordinates.
Since:
1.8
void Cairo::Win32ScaledFont::select_font ( HDC  hdc)

Selects the font into the given device context and changes the map mode and world transformation of the device context to match that of the font.

This function is intended for use when using layout APIs such as Uniscribe to do text layout with the cairo font. After finishing using the device context, you must call done_font() to release any resources allocated by this function.

See get_metrics_factor() for converting logical coordinates from the device context to font space.

Normally, calls to SaveDC() and RestoreDC() would be made around the use of this function to preserve the original graphics state.

Parameters:
scaled_fontA cairo_scaled_font_t from the Win32 font backend. Such an object can be created with Win32FontFace::create_for_logfontw().
hdca device context
Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/win32_font.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1XlibSurface.html0000644000175000017500000000005011561716354025636 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1XlibSurface.html0000644000175000017500000007733611561716354026072 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::XlibSurface Class Reference

Cairo::XlibSurface Class Reference

An XlibSurface provides a way to render to the X Window System using XLib. More...

Inheritance diagram for Cairo::XlibSurface:

List of all members.

Public Member Functions

 XlibSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~XlibSurface ()
void set_size (int width, int height)
 Informs cairo of the new size of the X Drawable underlying the surface.
void set_drawable (Drawable drawable, int width, int height)
 Informs cairo of a new X Drawable underlying the surface.
Drawable get_drawable () const
 gets the Drawable object associated with this surface
const Display* get_display () const
 Get the X Display for the underlying X Drawable.
Display* get_display ()
 Get the X Display for the underlying X Drawable.
Screen* get_screen ()
 Get the X Screen for the underlying X Drawable.
const Screen* get_screen () const
 Get the X Screen for the underlying X Drawable.
Visual* get_visual ()
 Get the X Visual for the underlying X Drawable.
const Visual* get_visual () const
 Get the X Visual for the underlying X Drawable.
int get_depth () const
 Get the number of bits used to represent each pixel value.
int get_height () const
 Get the height in pixels of the X Drawable underlying the surface.
int get_width () const
 Get the width in pixels of the X Drawable underlying the surface.
XRenderPictFormat* get_xrender_format () const
 Gets the X Render picture format that uses for rendering with the X Render extension.

Static Public Member Functions

static RefPtr< XlibSurfacecreate (Display* dpy, Drawable drawable, Visual* visual, int width, int height)
 Creates an Xlib surface that draws to the given drawable.
static RefPtr< XlibSurfacecreate (Display* dpy, Pixmap bitmap, Screen* screen, int width, int height)
 Creates an Xlib surface that draws to the given bitmap.
static Cairo::RefPtr
< Cairo::XlibSurface
create_with_xrender_format (Display* dpy, Drawable drawable, Screen* screen, XRenderPictFormat* format, int width, int height)
 Creates an Xlib surface that draws to the given drawable.

Detailed Description

An XlibSurface provides a way to render to the X Window System using XLib.

If you want to draw to the screen within an application that uses the X Window system, you should use this Surface type.

Note:
For this surface to be availabe, cairo must have been compiled with support for XLib Surfaces

Constructor & Destructor Documentation

Cairo::XlibSurface::XlibSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::XlibSurface::~XlibSurface ( ) [virtual]

Member Function Documentation

static RefPtr<XlibSurface> Cairo::XlibSurface::create ( Display *  dpy,
Drawable  drawable,
Visual *  visual,
int  width,
int  height 
) [static]

Creates an Xlib surface that draws to the given drawable.

The way that colors are represented in the drawable is specified by the provided visual.

Note:
If drawable is a Window, then the function cairo_xlib_surface_set_size must be called whenever the size of the window changes.
Parameters:
dpyan X Display
drawablean X Drawable, (a Pixmap or a Window)
visualthe visual to use for drawing to drawable. The depth of the visual must match the depth of the drawable. Currently, only TrueColor visuals are fully supported.
widththe current width of drawable.
heightthe current height of drawable.
Returns:
A RefPtr to the newly created surface
static RefPtr<XlibSurface> Cairo::XlibSurface::create ( Display *  dpy,
Pixmap  bitmap,
Screen *  screen,
int  width,
int  height 
) [static]

Creates an Xlib surface that draws to the given bitmap.

This will be drawn to as a CAIRO_FORMAT_A1 object.

Parameters:
dpyan X Display
bitmapan X Drawable, (a depth-1 Pixmap)
screenthe X Screen associated with bitmap
widththe current width of bitmap.
heightthe current height of bitmap.
Returns:
A RefPtr to the newly created surface
static Cairo::RefPtr<Cairo::XlibSurface> Cairo::XlibSurface::create_with_xrender_format ( Display *  dpy,
Drawable  drawable,
Screen *  screen,
XRenderPictFormat *  format,
int  width,
int  height 
) [static]

Creates an Xlib surface that draws to the given drawable.

The way that colors are represented in the drawable is specified by the provided picture format.

Note: If is a Window, then the function set_size() must be called whenever the size of the window changes.

Parameters:
dpyan X Display
drawablean X Drawable, (a Pixmap or a Window)
screenthe X Screen associated with
formatthe picture format to use for drawing to . The depth of must match the depth of the drawable.
widththe current width of .
heightthe current height of .
Returns:
the newly created surface
int Cairo::XlibSurface::get_depth ( ) const

Get the number of bits used to represent each pixel value.

const Display* Cairo::XlibSurface::get_display ( ) const

Get the X Display for the underlying X Drawable.

Display* Cairo::XlibSurface::get_display ( )

Get the X Display for the underlying X Drawable.

Drawable Cairo::XlibSurface::get_drawable ( ) const

gets the Drawable object associated with this surface

int Cairo::XlibSurface::get_height ( ) const

Get the height in pixels of the X Drawable underlying the surface.

Screen* Cairo::XlibSurface::get_screen ( )

Get the X Screen for the underlying X Drawable.

const Screen* Cairo::XlibSurface::get_screen ( ) const

Get the X Screen for the underlying X Drawable.

const Visual* Cairo::XlibSurface::get_visual ( ) const

Get the X Visual for the underlying X Drawable.

Visual* Cairo::XlibSurface::get_visual ( )

Get the X Visual for the underlying X Drawable.

int Cairo::XlibSurface::get_width ( ) const

Get the width in pixels of the X Drawable underlying the surface.

XRenderPictFormat* Cairo::XlibSurface::get_xrender_format ( ) const

Gets the X Render picture format that uses for rendering with the X Render extension.

If the surface was created by cairo_xlib_surface_create_with_xrender_format() originally, the return value is the format passed to that constructor.

Return value: the XRenderPictFormat* associated with , or NULL if the surface is not an xlib surface or if the X Render extension is not available.

Since: 1.6

void Cairo::XlibSurface::set_drawable ( Drawable  drawable,
int  width,
int  height 
)

Informs cairo of a new X Drawable underlying the surface.

The drawable must match the display, screen and format of the existing drawable or the application will get X protocol errors and will probably terminate. No checks are done by this function to ensure this compatibility.

Parameters:
drawablethe new drawable for the surface
widththe width of the new drawable
heightthe height of the new drawable
void Cairo::XlibSurface::set_size ( int  width,
int  height 
)

Informs cairo of the new size of the X Drawable underlying the surface.

For a surface created for a Window (rather than a Pixmap), this function must be called each time the size of the window changes. (For a subwindow, you are normally resizing the window yourself, but for a toplevel window, it is necessary to listen for ConfigureNotify events.)

A Pixmap can never change size, so it is never necessary to call this function on a surface created for a Pixmap.

Parameters:
widththe new width of the surface
heightthe new height of the surface

The documentation for this class was generated from the following file:
  • cairomm/xlib_surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Gradient-members.html0000644000175000017500000000005011561716354026614 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Gradient-members.html0000644000175000017500000001562111561716354027035 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Gradient Member List

This is the complete list of members for Cairo::Gradient, including all inherited members.
add_color_stop_rgb(double offset, double red, double green, double blue)Cairo::Gradient
add_color_stop_rgba(double offset, double red, double green, double blue, double alpha)Cairo::Gradient
cobj()Cairo::Pattern [inline]
cobj() const Cairo::Pattern [inline]
cobject typedefCairo::Pattern
get_color_stops() const Cairo::Gradient
get_matrix(Matrix& matrix) const Cairo::Pattern
get_matrix() const Cairo::Pattern
get_matrix(cairo_matrix_t& matrix) const Cairo::Pattern
get_type() const Cairo::Pattern
Gradient(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Gradient [explicit]
Gradient()Cairo::Gradient [protected]
m_cobjectCairo::Pattern [protected]
Pattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Pattern [explicit]
Pattern()Cairo::Pattern [protected]
reference() const Cairo::Pattern
set_matrix(const Matrix& matrix)Cairo::Pattern
set_matrix(const cairo_matrix_t& matrix)Cairo::Pattern
unreference() const Cairo::Pattern
~Gradient()Cairo::Gradient [virtual]
~Pattern()Cairo::Pattern [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FtScaledFont__inherit__graph.png0000644000175000017500000000005011561716354030764 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FtScaledFont__inherit__graph.png0000644000175000017500000001046511561716354031206 0ustar00murraycmurrayc00000000000000‰PNG  IHDR•{òŽUêbKGDÿÿÿ ½§“êIDATxœíyTWßÇ!ì b‘È"p Т©¡²§XäÔ¥x©b•£Tê*à¡j«¼µZ«¦­ÕZжuƒEÄ#"żÔ`Y‚ ‰ T–²ÌóǼ͛&Š<Ã3Ÿ¿îüæ7÷~ï|sçÞ C†€ à`ƒñ€óRàþaÜ?lƒû‡mpÿ0¢“k×®·Àÿj †nƒ õ©%--m¬…âhóõ×_›£— ã¥ÅàŒ˜ôôôasðùÛàþaÜ?lƒû‡mpÿ°^ëO}Éd,«¬¬ŒD"…††Î;w¨L@pþüù½{÷¾d‹ÏŸ?ÏÉÉáñx!!!þþþFFF#:¼¯¯ï»ï¾KHHÐ'9;;ÛÎÎnÑ¢E?üðCGG‡ú.ŸÀÀÀ5ý y5㯵µuÑ¢E'Nœ077çr¹ÞÞÞ;wî*Y(¦¤¤¼d‹W®\™7o^EE…Í‘#GE"шj …‡Ò39==Ãá“É,((hQC(ލÝÈÈȧOŸŽè]èsÿEw‚ #$$D&“¡›>455åóùÃ8j,XpñâEÕf@@ÀÙ³gGTCss³‰‰‰žÉááá'OžD„J¥¦¦¦Ž¨! ***ôÉd0ÃÞy㯣£###cãÆ††ÿw5¦R©)))­­­PPP°|ùò7ÞxÃÇÇçòåËÐÞÞ¾bÅ ôÀàà`‹eoo_[[Ëçó÷ìÙ3cÆŒmÛ¶ÕÖÖ¢U?~|Æ e™LÆãñTÍÀùóç½¼¼Ð2‡Ã¡ÑhÓ¦MÛ°aÃãÇÑ ¶ ux<^PP••Õ’%KrrrÐ —Ë]¿~ý´iÓÂÃÃÅb±î“ -¾««+((èúõëžžžd2ùàÁƒÖÑÑVTT4šs­n{õ999Ú»”J%…B9wîœ@ `±XÖÖÖ"‘èéÓ§‚477›››^¾|Y"‘Éä„„„§OŸ&''O™2e``Aììl&“‰Ö¦^Þ·o‘H\±bÅùóçÕºB¡ ‘HÉÉÉ---»víZ¹råP2ÔÇFKHHhnnþé§Ÿ&Ož\UUÕ××gfföÅ_444|òÉ' ›7oNý›«W¯¢5h‹omm566^½zuSSSyy¹‰‰IMM@ °³³+,,D{§}Æß+ðïÒ¥K¶¶¶ƒî(++CËõõõFFF<OÝ?¸}û6‚ •••ªçÏŸŸŸŸ¯»ÝÒÒÒÝ»w{zz„àà`‡ Ƚ{÷ÜÜÜБHtìØ1™L6¨ •Ïž=#“É …MX½zuRR‹Å¢ÑhhD&“Mš4I埗—ת¿‰ˆˆJ}z[[Û£GÜÜÜTA6›ÝÝÝZYY¹ÿ~gcc£}¬Á’%KàÎ;‹/VÅýüüòó󃂂†ºf(•JF£Ñ ¦¦fÇŽ›7of³Ùyyy>>>hš¹¹y||Í Ü¿???ÿñãÇ»äryYY™F=2´+,//ñâ…zD"‘‹D"}ôè)^(þþûï`Ø õñ€è|~7---,,LwαfÍîáüþ5¶ÁýÃ6¸Ø÷ÛàþaÜ?lƒû‡mpÿ°Í÷ïÒ¥â‰}óA¯¿-]ºt¬uŒ<ÞÜï¿?bfÖ?ÞBFCuuµ¿¿¿îœaüsttÄî??ôö K¥${ûÞñÖ2üýý½½½uç sÿÓ|öYVJÊÿZ[[VUýa¼åŒ vþ“Ë•,Vtu½àpxã-g¬˜°þÕ …ý`dDÌ̬o9cÅ„õ/+ë‘‘ÈdŠœœŠùx+&¦‰,7·J&S ›b±ô÷߯¤1bbú—Ÿ_#‘üÿ€# 23Œ£ž±cbú—™ù@ýÁ/¹\yûvÍ‹Òq”4FL@ÿz{û ) õ \®ÈË«/IcÇôïæM®öz„ŒŒ²qÑ3¦L@ÿX¬2AóÛº\®,*ªïì|1.’ÆŽ‰æ_GGßýû Å Èrs«^· 1f¢ù—›[9ÔÃÍ ’•5ÑV¡Í¿ììJ€¡îè"eeí혼—=ùþ5ØÛï>{vãÊ•oŽ·±b¢¿ÿ6pÿ° î¶ÁýÃ6¸Ø÷ÛàþaÜ?lƒû‡mpÿ° î¶ÁýÃ6¸Ø÷ÛàþaÜ?lƒû‡mpÿ° î¶ÁýÃ6¸Ø÷ÛàþaÜ?lƒû‡mpÿ° î¶ÁýÃ6¸Ø÷ÛàþaÜ?lƒû‡mpÿ° îÆQ™ú¶±‰„‘ÉÀÀd¼U¼J4ÞH6Èï'£oJÆù$==]#2ˆª÷¾âü§Áf³5"øü‡mpÿ° î¶ÁýÃ6¸ØF¯÷çh#—ËÙlv]]ÝÔ©Sýüüf̘1Tf___nnî‡~8Z…7nÜê///´®®.‡ÓÒÒB§ÓçÍ›gh8²Þ‰Åâß~ûmݺuú$ß»wÏÚÚÚÕÕUOmcÄhÆ_WW×Ö­[ÓÒÒLMM¶mÛÆd2‡J‰D¹¹¹/¡ ##£¼¼ü_jˆD"8~ü8úšu(((Ø´idz²²ºtéÒš5k$ɈZ‰D.\Ð3ùîÝ»>Ô¡MÔ{1RF3þ¾ýö[kkëääd"‘QQQ ÃÎÎN;ÙÖÖö—_~8u‚ƒƒ—-[¦,)) EË×®]Û¾}û»ï¾ k׮ݽ{w~~þŠ+^¾éÑiÓõ^Œ”¿žž6›ŒšNNN{÷îíîî€òòòO?ýtåÊ•;vì(((@°oß>ôÀøøx6›ýÁ455µ¶¶ž9s†Á`œ:uª©© ­êêÕ«GŽÑ.JbbbOOObb"—Ë•Ëåýõ—JÄÅÅÍ™3-×ÔÔDEE­ZµêÈ‘#Ïž=CƒÚRÕiii‰]¾|yLL ‡ÃAƒ|>?99yÕªUIIIRé0¿f¯ÝÁÞÞÞØØX‡³iÓ¦°°°ÔÔT^è®pPFìߣG`áÂ…êÁwÞy‡J¥"rêÔ)ŸË—/¯Y³†ÉdJ¥R©TZQQ2™¬ºº:;;{ëÖ­ööö»ví222úæ›olll¶oß.—Ë€L&S(´Nõ2TWWßú›ÂÂBˆ2eJll¬»»»¡¡ahhèáÇ÷ïߟ››ÛÚÚêàààêê ‚8pÀßß?%%eòäÉçÎCƒÚRÕ{”””äêêšššºlÙ²ääd>Ÿßßß¿mÛ62™|öìY ‹¢¢"Ú@»ƒr¹œËåÞºuëèÑ£IIIW®\ijjRïÅH½€Q\?ÅbñÔ©S'Ož¬½K¡P8p`îܹàââ"‹;;;ÕÇ„T*]·nFkhhP*•ü1„‡‡VUU-\¸pñâŪdõ2ðx<¡Pˆ–'MšhiiI ,--ÑuJdd¤ŸŸ_AAAffæ‰'h4ZLLŒƒƒCmmí”)SÂÃÃÑœ¬¬,…Bšª!ÕØØ­¿££C DFF„ââb‡C&“œœ>úè#ˆŽŽ¾sçŽmƒvÐÙÙY.—‡……‘H$‰äêêÚØØ8sæLõ^Œ”3uêÔîî¦™3gª‚UUU½½½~~~Ož<ùñÇ[ZZ¬¬¬´%o¾ù&Î*ú)svvVÍCÐÜÜìää4Ê@iiiDD„jÓÉÉ)22²ººZ&“‘Édõ՛͖H$º¥:999;;_UcëÖ­³fÍjllT׬CŽj¿Ûàe±èG8##ƒÏç€T*ÍÌÌìééYºt©D"!“É .400(**‹ÅCý¸¶——W[[[uu5ðùüššôjY___ZZŠæ¨—u€6áææÖÝÝ•JeaaáìÙ³ŒŒ¼½½?~Œžú’’’ÔÔTSSSÝR©Tjgg'z³_,oܸ‘ÏçÓéôÊÊJÅÅÅmmm:T ÕAݽ£¹æ®_¿^*•nÙ²ÅÎή§§göìÙ{÷î511ñõõ½pá–-[,,,æÌ™ãäätøðáÏ?ÿ|V cbbŽ?nhh(‹###'Mš·oß®­­}ë­·4ÊCaggwòäɘ˜ …òÙgŸ=zôÂ… 666ííí666‡ ‹¨¨¨}ûöYZZ ‚èèhTjbb"Z-@عsçÅ‹SSSûúú–.]Š.…""",,,Äb±¯¯¯®Ó:XÑ%ºî^èqúÿÁ?~>---,,Lµ‚ÒD"áóùÓ§O·¶¶V744ØÛÛ›™™õôô477{xxôõõ ºÞA¤¡¡ÁÅÅeÔ3X,®««›3gŽ¥¥%Èår'‹I$’£££z¦R©|òäÉìÙ³ÕÛÒêéé©Q?Çstt455UEd2Ç›5k–‰ÉðÖ׳ƒ½ÐAbb¢MZZš*2zÿp^?Úþá÷¯± î¶ÁýÃ6¸Ø÷ÛàþaÜ?lƒû‡mpÿ°Í ÷?ãââ^¿}àóùAAAê‘øçèèÈ`0^¯$œàâââíí­™àïOðàó¶ÁýÃ6¸Ø÷Ûàþa›¦óéb•×K6IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x74.html0000644000175000017500000000005011561716354024570 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x74.html0000644000175000017500000001175411561716354025014 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- t -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ImageSurface-members.html0000644000175000017500000000005011561716354027412 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ImageSurface-members.html0000644000175000017500000003270311561716354027633 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::ImageSurface Member List

This is the complete list of members for Cairo::ImageSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(Format format, int width, int height)Cairo::ImageSurface [static]
create(unsigned char* data, Format format, int width, int height, int stride)Cairo::ImageSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
create_from_png(std::string filename)Cairo::ImageSurface [static]
create_from_png(cairo_read_func_t read_func, void* closure)Cairo::ImageSurface [static]
create_from_png_stream(const SlotReadFunc& read_func)Cairo::ImageSurface [static]
finish()Cairo::Surface
flush()Cairo::Surface
format_stride_for_width(Cairo::Format format, int width)Cairo::ImageSurface [static]
get_content() const Cairo::Surface
get_data()Cairo::ImageSurface
get_data() const Cairo::ImageSurface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_format() const Cairo::ImageSurface
get_height() const Cairo::ImageSurface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_stride() const Cairo::ImageSurface
get_type() const Cairo::Surface
get_width() const Cairo::ImageSurface
has_show_text_glyphs() const Cairo::Surface
ImageSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::ImageSurface [explicit]
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~ImageSurface()Cairo::ImageSurface [virtual]
~Surface()Cairo::Surface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32Surface.html0000644000175000017500000000005011561716354025642 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32Surface.html0000644000175000017500000004720211561716354026063 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Win32Surface Class Reference

Cairo::Win32Surface Class Reference

A Win32Surface provides a way to render within Microsoft Windows. More...

Inheritance diagram for Cairo::Win32Surface:

List of all members.

Public Member Functions

 Win32Surface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~Win32Surface ()
HDC get_dc () const
 Returns the HDC associated with this surface, or NULL if none.
RefPtr< ImageSurfaceget_image ()
 Returns a ImageSurface that refers to the same bits as the DIB of the Win32 surface.

Static Public Member Functions

static RefPtr< Win32Surfacecreate (HDC hdc)
 Creates a cairo surface that targets the given DC.
static RefPtr< Win32Surfacecreate (Format format, int width, int height)
static RefPtr< Win32Surfacecreate_with_dib (Format format, int width, int height)
 Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.
static RefPtr< Win32Surfacecreate_with_ddb (HDC hdc, Format format, int width, int height)
 Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

Detailed Description

A Win32Surface provides a way to render within Microsoft Windows.

If you want to draw to the screen within a Microsoft Windows application, you should use this Surface type.

Note:
For this Surface to be available, cairo must have been compiled with Win32 support

Constructor & Destructor Documentation

Cairo::Win32Surface::Win32Surface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Win32Surface::~Win32Surface ( ) [virtual]

Member Function Documentation

static RefPtr<Win32Surface> Cairo::Win32Surface::create ( HDC  hdc) [static]

Creates a cairo surface that targets the given DC.

The DC will be queried for its initial clip extents, and this will be used as the size of the cairo surface. Also, if the DC is a raster DC, it will be queried for its pixel format and the cairo surface format will be set appropriately.

Parameters:
hdcthe DC to create a surface for.
Returns:
the newly created surface.
static RefPtr<Win32Surface> Cairo::Win32Surface::create ( Format  format,
int  width,
int  height 
) [static]
static RefPtr<Win32Surface> Cairo::Win32Surface::create_with_ddb ( HDC  hdc,
Format  format,
int  width,
int  height 
) [static]

Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

The created bitmap will be uninitialized.

Parameters:
hdcthe DC to create a surface for.
formatformat of pixels in the surface to create,
widthwidth of the surface, in pixels.
heightheight of the surface, in pixels.
Returns:
the newly created surface.
Since:
1.8
static RefPtr<Win32Surface> Cairo::Win32Surface::create_with_dib ( Format  format,
int  width,
int  height 
) [static]

Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

The created bitmap will be unititialized.

Parameters:
formatformat of pixels in the surface to create.
widthwidth of the surface, in pixels.
heightheight of the surface, in pixels.
Returns:
the newly created surface.
Since:
1.8
HDC Cairo::Win32Surface::get_dc ( ) const

Returns the HDC associated with this surface, or NULL if none.

Also returns NULL if the surface is not a win32 surface.

Returns:
HDC or NULL if no HDC available.
RefPtr<ImageSurface> Cairo::Win32Surface::get_image ( )

Returns a ImageSurface that refers to the same bits as the DIB of the Win32 surface.

If the passed-in win32 surface is not a DIB surface, the returned surface will be NULL

Returns:
a ImageSurface (owned by the Win32Surface), or an empty RefPtr if the win32 surface is not a DIB.
Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/win32_surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Pattern-members.html0000644000175000017500000000005011561716354026474 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Pattern-members.html0000644000175000017500000001252011561716354026710 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Pattern Member List

This is the complete list of members for Cairo::Pattern, including all inherited members.
cobj()Cairo::Pattern [inline]
cobj() const Cairo::Pattern [inline]
cobject typedefCairo::Pattern
get_matrix(Matrix& matrix) const Cairo::Pattern
get_matrix() const Cairo::Pattern
get_matrix(cairo_matrix_t& matrix) const Cairo::Pattern
get_type() const Cairo::Pattern
m_cobjectCairo::Pattern [protected]
Pattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Pattern [explicit]
Pattern()Cairo::Pattern [protected]
reference() const Cairo::Pattern
set_matrix(const Matrix& matrix)Cairo::Pattern
set_matrix(const cairo_matrix_t& matrix)Cairo::Pattern
unreference() const Cairo::Pattern
~Pattern()Cairo::Pattern [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/structCairo_1_1ColorStop.html0000644000175000017500000000005011561716354025572 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/structCairo_1_1ColorStop.html0000644000175000017500000001304011561716354026004 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::ColorStop Struct Reference

Cairo::ColorStop Struct Reference

List of all members.

Public Attributes

double offset
double red
double green
double blue
double alpha

Member Data Documentation


The documentation for this struct was generated from the following file:
  • cairomm/pattern.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x73.html0000644000175000017500000000005011561716354024567 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x73.html0000644000175000017500000002465511561716354025017 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- s -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1RefPtr__inherit__graph.png0000644000175000017500000000005011561716354027652 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1RefPtr__inherit__graph.png0000644000175000017500000001362111561716354030071 0ustar00murraycmurrayc00000000000000‰PNG  IHDRÐIÖc bKGDÿÿÿ ½§“FIDATxœí{XWúÇß„D‹àä&"ÅÕR b•ÕÕlÅZ·¥°VQ+]«û“m·¬/õ âeµ¢ ˆ‹Šâ²<DDnZ[ „[%@HÌåüþ˜n6›LÅžÏ_‡3ï9óÎËwΜ33™—‚ †,¨#íæ·†T°à0¤‚‡!,8 ¹ %ÒÓÓGÚÌÛFzzº²Æhê{öì!ß-Ì[ÉÞ½{Uj4.((ˆ _0¿Ô‡çpRÁ‚à †T°à0¤‚‡! «TmJ¥………555–––¶¶¶Yöôôäææ~ðÁúzpóæÍŽŽ¢|x„ 7n”J¥Àd2]\\ˆ>•Ë  [ZZZZZž={–’’bff6gÎØ·oŸ««kZZÚâÅ‹9ΦM›&L˜ëããC´íïï …B¡ðÑ£Géééï½÷ÄÇÇ›››ÇÇÇ»»»«ø¦Øi[[Û±cÇ>ýôS]£¤eÄz{{srr“““çÎûÅ_p¹\•ÇØØxöìÙÊ888ØÚÚÖÕÕ@MM —Ë=xðà¼yóvíÚU__/•Jkkk Kõ(!„víÚõî»ï¦¦¦š™™8qB%&Ê;*))‰‰‰ÉË˺òt¾¤öõõYZZš™™©o’Éd»víš>}:8::öõõutt(Nk‹ÅkÖ¬ñóó«««“ËåŸ}öDFFTUUùúúW:å2¤§§gee€D"éïïß¹sç¸qãÚÛÛù|~TT…B ½ÿ~qqñÚµk)Љ‰ N'Ú=zôرc`nnB¬`LMM)Š©©)FSö B>ÌÊÊjmm]ºté÷߯k”´ŒH¥ÒØØXkkk[[ÛÊÊÊ’’ƒ¡^)•J™L¦âˆ¸¸¸tvv>ÇÅÅYZZÚÚÚVUU‡††6£ÔßßonnN,)¢¢¢²²²d2™JLX[[ggg§¦¦¾ÿþûË–-›8q¢~ÑÐYp–––]]]ŠTUUuwwÔÖÖ¦¤¤p¹\ õ¶ eÖ¬YðèÑ£3f(êgΜYVV¦2¨MÌ-BwîÜùöÛo}}}KKK…Bá‡~H؈Åb+++õ¶ñññŠ9Ü@(|{üøñþýû§NºjÕ*bå1‰F³±±±¶¶&*½½½‹‹‹ †zå’%Kjjjr`e2YYYqþØÚÚZZZ*šÜ»wO!8Q*--Uü _{ÁÍÍÍÍÍM(þóŸÿܲe‹““Ó_þò=¢¡³à<<< {öìáÇ„rYÕi*ÕÔÔT$yxxttt@__ßÇLx¥=꺹¹:u***ª°°0222--Mq P?‰H¥Òëׯ#„ZZZîÝ»GÄA½ÒÚÚúƒ>¸páÂÏ?ÿLtÛÒÒrüøñ÷ßßÕÕ$Inn.BˆËå²X,å ‰Æ(Í;÷çŸ&––¦¥¥)Ô¦ñ¿VYY¹wïÞ7"„>œ _4ô9}×®]+‹£££mll““ÓŽ; ßyç3gÎDGG›˜˜8;;ÛÛÛÿõ¯ݽ{·†½ÒhqqqIII4­¯¯/**jܸqpûöí§OŸScå²:L&óîÝ»þþþ›7o>{ölZZZOOÏÂ… ‰èk‰Íwß}7~üx•Mžžžžžž999Û·oOKKÓ¾[uŠáC^^^vvvww÷âÅ‹===KKKÕ+`ýúõFFF„·4­­­måÊ•Ä<˜p8''çêÕ«mmm®®®|>ŸØD¡P4F)&&æË/¿455åóù±±±*1Q# ¯^½ºbÅŠ]»v)OÊõ€¢,çË—/¯^½º  @›–"‘ˆÃáLš4IeÚTWW7eÊ”±cÇ ‚æææ3fôôôhœ2#„êêê©Ô¡>ac³Ùvvvº>Bèëë«©©qvv655ÄL.—ÝCбû÷ïŸ9sæû￯­­e0ÄY§±RD"ihhJ¥ŽŽŽŠ[$Ä²ÔØØ˜¸.wuu…‡‡7§Ô£$—Ëkkkœœ¨1&zG 888===""BQ£ÿÅÈÈHeñL0mÚ4¢`aaAÌpZ Q('''½Pfð']allìííýZ3-cÝÙÙIÜSÁÑÑ‘ˆÉ@£Ñhê³ÆJ Óé¬r‰DRVVfnn®l ÞJ¥whŒÉ°œo¿89\ah4šÊ?˜@eRÆÄÄ„Á`hS©+·oߎ‹‹b?ÃܰannN܋֞™3gª?ÓX©+NNNÿû߇ØÉ›¿ž„!,8 ©`ÁaH C*XpRÁ‚à œ>Œ‘ èrÁH{1*ÑpnÛ¶mäû1ºøÐ§!¸T¡ç;a¿eþGpvvvááá#åÊ(b¹W=(:Ž´#¿víìì”k(½A„6\Ÿ@eµ`Š5§x§;Í™@¥Åš®Œ´+£,8Ý©M¹jSFÚ•ÑœŽð«àeÝ/å—µ ¨Ô£ œŽ4þ”ÿütŠJ‡†FԛќN ¨? è?¿Í”K þ,^uéœ.ðŠ ÿùÿÔô·¯x„¼•`ÁéBÃ@ýߟ"SéЈ¯ª:€ïÃi\™A¢öD‹n«x@ÁïNká´æÅ] j‰žßÕPÑœÖÔ_Ð<ŒQiÐx‘toF+XpÚ!As ©†Mr)4e‚LDºO£,8íhÍYï€[¥½ÐzƒDoF1xÑ =lèUúPá“ÿ˜ñÕkL¦Â8}~Œý[ N/îE¼sy¤ý}àK*†T°à0¤‚‡!,8 ©`ÁaH C*ø¶†Tð‡!,8 ©`ÁaH C*ø=Õ7Ëñãlj¼" ÅÑÑ100P9yœ6ðùüS§NíØ±ãÍ8H6x•úfquue0ÎÎÎ"‘(;;[.—Ÿ?~ùòåÚ÷ÐÐаhÑ¢ššš7ç$© Ì›ÄÅÅåüùóD¹§§ç«¯¾277ïêêY¯F<‡Ó‹{¿¼¡¤„X,¼‘©©iBB‚H$ºpá°Ùì ‹ÀÀ@"WøŸþô'Ezçžž??¿†††/^(ºûùùY[[¯[·N‘tK½¼",¸a€ÃálÛ¶ÍËËëµ–cÇŽ?>‘’zÍš5³gÏ~òäÉúõë×®][]]íéé™’òË÷J²³³e2™½½}?‘ŒJ.—‡……­X±¢ªªÊÊÊê‹/¾ ,ÕûQÞcnn®ŸŸßÙ³g-Êé!vt G¬p¹\~óæÍ%K–¸ººîß¿¿³³SÝPù’JðÉ'Ÿ¬[·®©©‰ÉdÊd2¢rÅŠûöíkoo§Óé¡ÐÐÐC‡!„êëëMLLBEEEnnn„}ooï·ß~+‘H4ö£âCIIÉG}dkk›ÐÔÔ4œqмJÕ“{ÕÑÑîîî[¶lY°`öyZÿýïGFFÞºu«££ÃÑñ—ÏËõ÷÷ÛØØL˜0aÁ‚™™™}ô‹ÅúÇ?þ¡Ü0//oþüùDÙØØxûöí ±•=úûûûûûwttœ:u*((ÈËËëêÕ«zøÁ‚Ó:jhhÈãñººº¤R©zrpp8‡hddäááQZZJÔ÷÷÷’]³fÍñãÇÇŽûûßÿ^%©¦‹‹KQQ‘âÏŒŒŒÐÐPwwwý¨CŒ‚4mðÔ‰oœ‘`G+¬pÄ G±X¬ˆˆ&“¹{÷n.—«nèâârâÄ >ŸßÖÖ–””Äd2CBBB2™ŒÁ`\¹r!$ §NúàÁ„POO‰‰‰»»û­[·ˆ—T@0nܸ'Ož „nÞ¼éîî>H?ÊDDD888Wí7­À‚Ó‹ÿŽ µµu÷îÝê†Êin6oÞÜßßOlÊÈÈðôôtwwŸF°à0¤‚‡!,8 ©`ÁaH C*XpRÁ‚à ~C*x„à †T°à0¤‚‡!,8 ©`ÁaH C*Xpz߇Ó,8 ©`ÁaH C*XpRÁ‚ÃÊ0|“Ãáäç罟QÄ|C==9ÒŽJHHˆâÛ®ú3ôOÌ¥§§Çá`~í¤§§]-Ãö_„ß«{«Ñþ«ÙƒƒçpRÁ‚à †T°à0¤‚‡!,8 ©šúH"‘ddd”••Mœ81,,lúôéYKäÓ§O·¶¶e##£ x{{bÏãñ®\¹èáá‘’’òüùs¢ÞÙÙyéÒ¥ƒ¤RМ š¼®­­mΜ9û÷ï766®®®ž;wîæÍ›2 …©©©CÜãÑ£Góòò¸\.—Ë-//_²dÉœ9s±ß¸qãÉ“'©T*9r$??Ÿh{àÀI“&)R‘FEEÕ××ëçRrrrAA—Ëe³Ù6lpuu½víšN= KdF’¡ß;&ž4¼Ö,<<<44T‘€çÉ“'FFFgè „¯¯ïáǶ´´dïääTTTD”½¼¼N:¥Ø´mÛ¶ÐÐP¢Ì`0***ôsiô&ˆ†azÒ@Ò×ÞÞž™™ùñÇÓh¿\Ä=<}ú´™™YUU•@ ppp¸uë–H$Byyy}÷Ýw<ÇãݹsÇËË+..!Äçómll ^½z¥â›âˆêêêâãã]\\ÔV=_ï{ï½·yóf.9rdöìلٹsçfÍš…”r½Éd²‰'&&&r¹Ü-[¶,[¶Œ°TïGyw™™™¾¾¾gΜQvX`˜F8’wáÂ…É“'kÜôêÕ«²²2¢üìÙ3:Îf³•·oßFUVV2 EC//¯;wî ²S___++++++"Iè™3gBeQž6mÚýû÷S©TƒI“&mݺµ­­Ø¤¸¤*û†z»D—àHZ¥Nš4éùóç?ýô“›››¢²°°°««+,,¬²²òÏþ3›Íž0a‚z[*•ùùùóæÍSÔܹs'$$dý~óÍ7›6m¹\~áÂ…O>ù$$$D›,Êpâĉ¨¨¨ÁKáÛ½{÷¢££q‚è×B’àæÍ›gll|ãÆ …àB111ñññ999±±±×®] 600077WiK¡PÆŒ3fÌ8w¾¦¦&22RK¨Têš5k6nÜX[[«}å×¢ðN§ãÑZ1ôARËUêž={˜L&1¥èëëKNN¶´´ìííýá‡|||›ÌÌL¨©©Q¾¤[Åb±™™‹ÅBUUU™šš—­²²2Eþdå²Ê*!Äd2oܸ1Pe•Kªò*UƒñèÑ#ßÞâÑ0ºæp¡W¯^mß¾F£MŸ>ÝÂÂ"(((++ !Ôßßïâââãã´uëV‚C;wÎÅÅeÆŒS§NU,âââüýýÕËê‚[¸páÚµkÑY”µÜ;ï¼ãïïÿðáCuÁ¼• ¢GŸà^¾|yÿþýÖÖV•úÊÊÊžž„Ћ/X,–L&Ó¸¤EÉåòŠŠ ©T:Ÿ ÊËË_¾|©k+¡Pø¯ý‹Ïçn¦Ÿ‡¯uI%2R©´¬¬L}_õ£w܆KpÃðÌË—/¯^½zèý`~ÍP(”ôôôˆˆ¡~o?¼Ç †T°à0¤‚‡!,8 ©`ÁaH C*XpRÁ‚Ãʰ½-2\ßžÀ¼Ý ã­æææ’’’añókfîܹvvvCìgÄ žÃaH C*XpRÁ‚ÃÊÿó¹¥cû3éIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Region.html0000644000175000017500000000005011561716354024652 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Region.html0000644000175000017500000011360611561716354025075 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Region Class Reference

A simple graphical data type representing an area of integer-aligned rectangles. More...

List of all members.

Public Types

typedef cairo_region_t cobject

Public Member Functions

 Region (cairo_region_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
RefPtr< Regioncopy () const
 allocates a new region object copied from the original
virtual ~Region ()
RectangleInt get_extents () const
 Gets the bounding rectangle of the region.
int get_num_rectangles () const
 Gets the number of rectangles contained in the region.
RectangleInt get_rectangle (int nth_rectangle) const
 Gets the nth rectangle from the region.
bool empty () const
 Checks whether the region is empty.
RegionOverlap contains_rectangle (const RectangleInt& rectangle) const
 Checks whether rectangle is inside, outside, or partially contained in the region.
bool contains_point (int x, int y) const
 Checks whether (x,y) is contained in the region.
void translate (int dx, int dy)
 Translates the region by (dx,dy)
void subtract (const RefPtr< Region >& other)
 Subtracts other from this region.
void subtract (const RectangleInt& rectangle)
 Subtracts rectangle from this region.
void intersect (const RefPtr< Region >& other)
 Sets the region to the intersection of this region with other.
void intersect (const RectangleInt& rectangle)
 Sets the region to the intersection of this region with rectangle.
void do_union (const RefPtr< Region >& other)
 Sets this region to the union of the region with other.
void do_union (const RectangleInt& rectangle)
 Sets this region to the union of the region with rectangle.
void do_xor (const RefPtr< Region >& other)
 Sets this region to the exclusive difference of the region with other.
void do_xor (const RectangleInt& rectangle)
 Sets this region to the exclusive difference of the region with rectangle.
cobjectcobj ()
const cobjectcobj () const
void reference () const
void unreference () const

Static Public Member Functions

static RefPtr< Regioncreate ()
 Creates an empty Region object.
static RefPtr< Regioncreate (const RectangleInt& rectangle)
 Creates a Region object containing rectangle.
static RefPtr< Regioncreate (const std::vector< RectangleInt >& rects)
 Creates a Region object containing the union of all given rects.
static RefPtr< Regioncreate (const RectangleInt* rects, int count)
 Creates a Region object containing the union of all given rects.

Protected Attributes

cobjectm_cobject

Detailed Description

A simple graphical data type representing an area of integer-aligned rectangles.

They are often used on raster surfaces to track areas of interest, such as change or clip areas

It allows set-theoretical operations like union and intersect to be performed on them.

Since:
: 1.10

Member Typedef Documentation

typedef cairo_region_t Cairo::Region::cobject

Constructor & Destructor Documentation

Cairo::Region::Region ( cairo_region_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Region::~Region ( ) [virtual]

Member Function Documentation

cobject* Cairo::Region::cobj ( ) [inline]
const cobject* Cairo::Region::cobj ( ) const [inline]
bool Cairo::Region::contains_point ( int  x,
int  y 
) const

Checks whether (x,y) is contained in the region.

RegionOverlap Cairo::Region::contains_rectangle ( const RectangleInt rectangle) const

Checks whether rectangle is inside, outside, or partially contained in the region.

RefPtr<Region> Cairo::Region::copy ( ) const

allocates a new region object copied from the original

static RefPtr<Region> Cairo::Region::create ( const RectangleInt rects,
int  count 
) [static]

Creates a Region object containing the union of all given rects.

static RefPtr<Region> Cairo::Region::create ( const RectangleInt rectangle) [static]

Creates a Region object containing rectangle.

static RefPtr<Region> Cairo::Region::create ( ) [static]

Creates an empty Region object.

static RefPtr<Region> Cairo::Region::create ( const std::vector< RectangleInt >&  rects) [static]

Creates a Region object containing the union of all given rects.

void Cairo::Region::do_union ( const RefPtr< Region >&  other)

Sets this region to the union of the region with other.

void Cairo::Region::do_union ( const RectangleInt rectangle)

Sets this region to the union of the region with rectangle.

void Cairo::Region::do_xor ( const RefPtr< Region >&  other)

Sets this region to the exclusive difference of the region with other.

That is, the region will contain all areas that are in the original region or in other, but not in both

void Cairo::Region::do_xor ( const RectangleInt rectangle)

Sets this region to the exclusive difference of the region with rectangle.

That is, the region will contain all areas that are in the original region or in rectangle, but not in both

bool Cairo::Region::empty ( ) const

Checks whether the region is empty.

RectangleInt Cairo::Region::get_extents ( ) const

Gets the bounding rectangle of the region.

int Cairo::Region::get_num_rectangles ( ) const

Gets the number of rectangles contained in the region.

RectangleInt Cairo::Region::get_rectangle ( int  nth_rectangle) const

Gets the nth rectangle from the region.

void Cairo::Region::intersect ( const RectangleInt rectangle)

Sets the region to the intersection of this region with rectangle.

void Cairo::Region::intersect ( const RefPtr< Region >&  other)

Sets the region to the intersection of this region with other.

void Cairo::Region::reference ( ) const
void Cairo::Region::subtract ( const RefPtr< Region >&  other)

Subtracts other from this region.

void Cairo::Region::subtract ( const RectangleInt rectangle)

Subtracts rectangle from this region.

void Cairo::Region::translate ( int  dx,
int  dy 
)

Translates the region by (dx,dy)

void Cairo::Region::unreference ( ) const

Member Data Documentation


The documentation for this class was generated from the following file:
  • cairomm/region.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x72.html0000644000175000017500000000005011561716354023553 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x72.html0000644000175000017500000001444111561716354023773 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- r -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x77.html0000644000175000017500000000005011561716354023560 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x77.html0000644000175000017500000001053111561716354023774 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- w -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/user-font_8cc-example.html0000644000175000017500000000005011561716354025073 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/user-font_8cc-example.html0000644000175000017500000003274511561716354025322 0ustar00murraycmurrayc00000000000000 cairomm: user-font.cc

user-font.cc

A relatively simple example of using Cairo::UserFontFace

#include <cairomm/cairomm.h>
#include <iostream>
#include <map>

const double HEIGHT = 200.0;
const double WIDTH = 400.0;
const double FONT_SIZE = 64.0;
const double TEXT_ORIGIN_Y = (HEIGHT / 2.0) + (FONT_SIZE / 2.0);
const double TEXT_ORIGIN_X = 50.0; // arbitrary
const double GLYPH_SPACING = 0.1;

struct GlyphBounds
{
  unsigned long glyph;
  double width;
  double height;
};

// an array that stores the bounds of the glyphs that we're going to draw
static const GlyphBounds glyphs[] =
{
  { 'c', 0.45, 0.5 },
  { 'a', 0.45, 0.5 },
  { 'i', 0.2, 0.75 },
  { 'r', 0.4, 0.5 },
  { 'o', 0.44, 0.5 },
  { 'm', 0.75, 0.5 },
  { '!', 0.2, 0.75 }
};

// A *very* simple font that just draws a box for every glyph
class BoxFontFace : public Cairo::UserFontFace
{
public:
  // Derived user font classes should have a factory method to create an object
  // and return it with a RefPtr
  static Cairo::RefPtr<BoxFontFace> create()
  {
    return Cairo::RefPtr<BoxFontFace>(new BoxFontFace());
  }

  virtual Cairo::ErrorStatus
    init(const Cairo::RefPtr<Cairo::ScaledFont>& /*scaled_font*/,
         const Cairo::RefPtr<Cairo::Context>& /*cr*/,
         Cairo::FontExtents &extents)
  {
    double max = 0;
    for (unsigned int i = 0; i < sizeof (glyphs) / sizeof (GlyphBounds); ++i) {
      if (glyphs[i].width > max)
        max = glyphs[i].width;
    }
    // add some spacing between characters
    max += GLYPH_SPACING;
    extents.max_x_advance = max;
    return CAIRO_STATUS_SUCCESS;
  }

  virtual Cairo::ErrorStatus
  unicode_to_glyph (const Cairo::RefPtr<Cairo::ScaledFont>& /*scaled_font*/,
                    unsigned long unicode, unsigned long& glyph)
  {
    glyph = 0;
    // yes this is a stupid an ineffienct way to do this but we only have a few
    // glyphs and this is just demonstration code
    for (unsigned int i = 0; i < sizeof (glyphs) / sizeof (GlyphBounds); ++i) {
      if (glyphs[i].glyph == unicode) {
        // glyph 0 is often a special glyph-not-found value, so offset it by 1
        glyph = i+1;
        break;
      }
    }
    return CAIRO_STATUS_SUCCESS;
  }

  virtual Cairo::ErrorStatus
  render_glyph(const Cairo::RefPtr<Cairo::ScaledFont>& /*scaled_font*/,
               unsigned long glyph,
               const Cairo::RefPtr<Cairo::Context>& cr,
               Cairo::TextExtents& metrics)
  {
    // check that the glyph is in our table
    if (glyph >= 1 && glyph <= sizeof(glyphs)/sizeof(GlyphBounds)) {
      cr->set_line_width(0.05);
      // Need a negative Y value since the text origin is at the bottom left point
      // and cairo's positive Y axis is down and we want to draw up
      cr->rectangle(0.0, 0.0, glyphs[glyph-1].width, -glyphs[glyph-1].height);
      cr->stroke();
      metrics.x_advance = glyphs[glyph-1].width + GLYPH_SPACING;
    }
    return CAIRO_STATUS_SUCCESS;
  }

protected:
  // FontFace is a ref-counted object, so the constructor should be protected so
  // it is not created without a refptr to manage it. See the create() method
  BoxFontFace() : UserFontFace() { }
};

int main(int, char**)
{
  Cairo::RefPtr<Cairo::ImageSurface> surface =
    Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, WIDTH, HEIGHT);
  Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);
  // fill background in white
  cr->set_source_rgb(1.0, 1.0, 1.0);
  cr->paint();

  // draw a little dot at the point where text will be drawn
  cr->arc(TEXT_ORIGIN_X, TEXT_ORIGIN_Y, FONT_SIZE / 4.0, 0, 2*M_PI);
  cr->set_source_rgba(0.0, 1.0, 0.0, 0.5);
  cr->fill();

  // draw the text
  cr->move_to(TEXT_ORIGIN_X, TEXT_ORIGIN_Y);
  cr->set_source_rgb(0.8, 0.2, 0.2);
  Cairo::RefPtr<BoxFontFace> font = BoxFontFace::create();
  cr->set_font_face(font);
  cr->set_font_size(FONT_SIZE);
  cr->show_text("cairomm!");

  // Now show it with the toy text API to demonstrate how the glyphs match up
  cr->move_to(TEXT_ORIGIN_X, TEXT_ORIGIN_Y);
  cr->set_source_rgba(0.2, 0.2, 0.2, 0.3);
  Cairo::RefPtr<Cairo::ToyFontFace> toy_font =
    Cairo::ToyFontFace::create("Bitstream Charter",
                               Cairo::FONT_SLANT_NORMAL,
                               Cairo::FONT_WEIGHT_BOLD);
  cr->set_font_face(toy_font);
  cr->set_font_size(FONT_SIZE);
  cr->show_text("cairomm!");

  const char* filename = "user-font.png";
  try {
    surface->write_to_png(filename);
    std::cout << "Wrote Image " << filename << std::endl;
    return 0;
  } catch (const std::exception& e)
  {
    std::cout << "** Unable to write Image " << filename << std::endl;
    return 1;
  }
}
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1QuartzFontFace-members.html0000644000175000017500000000005011561716354027753 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1QuartzFontFace-members.html0000644000175000017500000001207711561716354030176 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::QuartzFontFace Member List

This is the complete list of members for Cairo::QuartzFontFace, including all inherited members.
cobj()Cairo::FontFace [inline]
cobj() const Cairo::FontFace [inline]
cobject typedefCairo::FontFace
create(CGFontRef font)Cairo::QuartzFontFace [static]
create(ATSUFontID font_id)Cairo::QuartzFontFace [static]
FontFace(cairo_font_face_t* cobject, bool has_reference=false)Cairo::FontFace [explicit]
get_type() const Cairo::FontFace
m_cobjectCairo::FontFace [protected]
QuartzFontFace(CGFontRef font)Cairo::QuartzFontFace [protected]
QuartzFontFace(ATSUFontID font_id)Cairo::QuartzFontFace [protected]
reference() const Cairo::FontFace
unreference() const Cairo::FontFace
~FontFace()Cairo::FontFace [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x63.html0000644000175000017500000000005011561716354023553 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x63.html0000644000175000017500000003171211561716354023773 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- c -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1UserFontFace__inherit__graph.png0000644000175000017500000000005011561716354030774 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1UserFontFace__inherit__graph.png0000644000175000017500000000743611561716354031222 0ustar00murraycmurrayc00000000000000‰PNG  IHDR˜{pÞZbKGDÿÿÿ ½§“ÓIDATxœíyPSÇÀ÷%ANE¤A Ç( $ØR¨ ‡ˆÅAG«ƒi¥£NKeð ¨uê8Ú‘::±££-¥Ç´&PP¯B†*""„Êa \‰Æï÷dz™4’@D÷·Ÿ¿Ëîw¿ì'owßKxÁpˆ7ÒL'€˜HH@"!‰„$(¦5Ã0lzó@¨1í:ÂD‘€/¾øbÙ²e&7GèR]]}âÄ ÓÚš.2888..Îäæ]¦rMÖHH@"!‰„$HH0}×:är9‡Ã©­­urrЉ‰ñöö6TS,÷Ýw™™™Séîܹsš%¡¡¡‘‘‘¯C4scÆ3²··wéҥǷ±±ill Þ½{·¡Ê###¹¹¹Sì‘Ífߺu«Gƒ‘‘£"$&&vttLW´W n€ .L\'..nÍš5r¹œøñþýûVVVB¡Ð´'“ÉÌËË›J„ Ô××OW4c¹pá‚ÉFÌuF p¹Ü­[·R(/fo&“™››ÛÛÛ ¸uëÖºuëæÍ›šŸŸèïïÿàƒˆ†ÑÑÑÇÕÕµ¥¥E(¦¥¥¹¹¹íر£¥¥…•““³eËÝcC茊Š*))ñóó£Ñh‡ÄÇÇ ÄÇÇWVVNM7y@UUU``à[o½µeË–ÖÖV¢P DEEÍ;7""âÒ¥K¦Œãä1Í?xÙyéÒ%‰$‰t¥R©ètúÙ³gÅb1‡Ãqtt”H$¶¶¶8ŽwwwÛØØDFFæçç?{öŒF£íÛ·¯££#;;ÛÞÞþùóç8޳Ùl"šæ1“Éüì³ÏòþåüùóD¹nÞÞÞY³fmܸ±«««®®ÎÒÒ²¹¹Y,S©Ôòòr¢½Ñô&¯T*œœ²³³{zzöìÙ³~ýz¢ßÀÀÀ}ûöuwwÿðÃsæÌihh˜xT§rFšK䯿þêââ¢÷WÏŸ?¯­­%ŽÛÚÚ,,,¦HÀõë×q¿wïÞ‚ Ô ß~ûí7nLÐ)“Éô÷÷ßð/Û¶m3„˜ªªªˆÂ°°°‹/â:S«n4½Éÿõ×_>>>D¡D"9vì˜\.ôèFS*•DùƳ²²&HŸšHsíZûúú‚yC6Ó‰¼ƒaZ[ÏÈ7…Û·…11§¿ÿ¾{éR¯™NÇŒ@¾Fr¹µd 2—{w¦s1/0‹”Ë•¿ÿ^/—+åreQQ\®œéŒÌÌ"+*ZÇÇ_,ã㲊ŠÖ™ÍǬÀ,²°ð.…òâ¤PHEE0ϮЊ”HdW¯6)/¦S…Byõj“Dòì]MZ‘7n4«-ÈåÊ›7[f*s­H.·–DúÏ£G0 ãrkg*s§H±XÂãñŠÿ|°Q©TUT´ŠÅ’™ÊʬÀ)²´´Qï§Sq\¹bΗÎpŠäpj1LÏ+œ³+„"ûûGjk;”J="U*Õ;ýý£¯>+s¡ÈË—T*ƒ7U*¼´´áUæój€ü¦9 )é'ÀÙ³[g:óáùÿ  H$$ ‘€DB H$$ ‘€DB H$$ ‘€DB H$$ ‘€DB H$$ ‘€DB H$$ ‘€DB H$$ ‘€DB H$$ ‘€DB H$$üç†MPõ …L¶(•¯ñ7Ï›Š¦;íGaÇÅř𭩈WLKKËÅ‹5K´Eúúú®X±âÕe„˜&Ð H$$ ‘€DB ¦|B¡àñx|>ßÁÁ!<<ÜÍÍÍPͱ±±ÒÒÒ>úh ‚ÂÂÂ¥K—jörùòeƒ±hÑ"Ó^¾|Y,k–°X,ÿ×!šÉ}F&''ÿöÛoVVVííí;vì`³Ù†*K$’ÒÒÒ©e :;;5K¸\.ŸÏ79 —Ë­««{¢DbÜc•srrz{{§+Ú´`ôùí·ß:::fgg“Éd@gggRRR\\•JÕ­ìââòË/¿LCšÓMttôêÕ«Mn^SS3]ѦãÎÈááaMXxxxdff êêêöïß¿~ýú]»vݺu ‹8@4ÌÈÈàñx±±±]]]½½½§OŸŽ‹‹;yòdWWêüùóGÕ=ž€’’’ää䨨ØcÇŽ…===éééëÖ­KMM­ªªÒíÝP4ݬFGGÓÓÓ«ªª>ýôÓøøø¼¼<ÀáLJ‡‡>ÜØ8ÑSµuGÐÜÜœ””´aÆ£G>zôÈPÂ&`œÈ4 ßÿ}&“‰ãøÉ“'CCCóóó7mÚÄf³e2™L&«¯¯Èåò¦¦¦âââäädWW×={öXXXœ:ujþüù;wîT(F§Ó‰˜šÇ†èííÍÍÍMKK;wî\__ßÕ«W‰ò¬¬,ƒ‘——·zõêììl¡P¨Õ; ©©©ì_ÊËˉ†ºY)ŠÆÆÆ²²²¯¿þ:++«   ««+==ÝÞÞ>==]}/S7šÞÑÀqüàÁƒË—/ÏÍÍ3gÎÙ³g %l”ã¦V©Têàà0gÎÝ_)•ʃz{{¼¼¼¤R©H$RŸ¸™L¶yóæÀÀÀööv•JõùçŸÊËËBBBÔ•5 AL€yóæ9r„x5 ˆÅâÄÄD ÃÖ¬YS]]]UU­îh"FF^ÜFŸ={vdd¤Þ¬<== E||¼“““““ƒÁèììtwwÇ0ÌÎÎŽB¡Цw4†‡‡íí퉉‰EEEJ¥rppP7a//£¿XÏ8‘CCC]]]îîîꆆ†ÑÑÑððð‡~ÿý÷===sçÎÕm‹aØ;X{÷.‹ÅR—/Y²¤¶¶Vë,Ÿ L&366vÿþýd2yåÊ•ÄWZÖÔÔŒŒŒ|üñÇD™Læèè¨Ù;ÁƵV5½YyzzÔg‰¤ÓF¡PtG£¦¦FÝ…¥¥%±™7”°±'’ÉdZZZÞ¾}[-ÇñãÇoÚ´©ªªŠÍfgggûûû“H¤µk×jµÅ0Œx {zz^»vM]ÞÝÝ5A§nnnÿüóúG™L&‰.\¨T*7oÞœÀçó Ž=š““ãáááééyæÌue ÃFFFÔ½b‚¬LxwOïhÐh´û÷ï«ëðx¼   ½ Û0v$^G\.—˜Çe2YaaáðððªU«ž={F£ÑH$Ree¥T*5ô´tÿ¾¾¾¦¦&€P(lnn&&Ò¶¶¶;wîu47lØP\\Ü××GôXPP@¥R—,YÂãñ’’’0 óññY¹r%±Ùa2™"‘ˆÇã¤RéÖ­['¹äÊÊ? ^ïh·¶¶—R555yyyVVV&'¬…Ñ—Ÿ|ò‰L&Û¾};•J^´hQff¦¥¥eXXØ?þ¸}ûv[[ÛÅ‹{xx9r䫯¾ÒÓ%…’ššš““C¡P¤RibbâìÙ³ׯ_oiiyï½÷´ŽÃÃÃëêêvîÜicc344D§ÓwíÚX¾|ùÅ‹?üðC*•*‰222†íÞ½û§Ÿ~ÊËË[µjƒÁxòäÉËB_VêeX *•zâĉÔÔTC;2½£qúô餤¤ØÙÙ‰Åâ””C OÒ…&ÚŸ8tèÐdÞ|öì™P(tvvÖšÐÛÛÛ]]]­­­‡‡‡»»»Y,ÖØØ˜ÞÍŽãííí^^^†Ýú€J¥ÖÕ\´h‘VF%\QQqøðáÿ¸3M$bfщnšC H$$ ‘€DB H$$ ‘€DB‚ö///‡L1Äb±P(4øO<Ä[zˆ7­wpáÿjÞÿÐ H$$ ‘€DB ÿrl¡J‰»IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SurfacePattern-members.html0000644000175000017500000000005011561716354030005 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SurfacePattern-members.html0000644000175000017500000001777311561716354030240 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::SurfacePattern Member List

This is the complete list of members for Cairo::SurfacePattern, including all inherited members.
cobj()Cairo::Pattern [inline]
cobj() const Cairo::Pattern [inline]
cobject typedefCairo::Pattern
create(const RefPtr< Surface >& surface)Cairo::SurfacePattern [static]
get_extend() const Cairo::SurfacePattern
get_filter() const Cairo::SurfacePattern
get_matrix(Matrix& matrix) const Cairo::Pattern
get_matrix() const Cairo::Pattern
get_matrix(cairo_matrix_t& matrix) const Cairo::Pattern
get_surface() const Cairo::SurfacePattern
get_surface()Cairo::SurfacePattern
get_type() const Cairo::Pattern
m_cobjectCairo::Pattern [protected]
Pattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Pattern [explicit]
Pattern()Cairo::Pattern [protected]
reference() const Cairo::Pattern
set_extend(Extend extend)Cairo::SurfacePattern
set_filter(Filter filter)Cairo::SurfacePattern
set_matrix(const Matrix& matrix)Cairo::Pattern
set_matrix(const cairo_matrix_t& matrix)Cairo::Pattern
SurfacePattern(const RefPtr< Surface >& surface)Cairo::SurfacePattern [explicit, protected]
SurfacePattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::SurfacePattern [explicit]
unreference() const Cairo::Pattern
~Pattern()Cairo::Pattern [virtual]
~SurfacePattern()Cairo::SurfacePattern [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1QuartzFontFace.html0000644000175000017500000000005011561716354026323 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1QuartzFontFace.html0000644000175000017500000002200311561716354026534 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::QuartzFontFace Class Reference

Cairo::QuartzFontFace Class Reference

Font support for Quartz (CGFont) fonts on OS X. More...

Inheritance diagram for Cairo::QuartzFontFace:

List of all members.

Static Public Member Functions

static RefPtr< QuartzFontFacecreate (CGFontRef font)
 Creates a new font for the Quartz font backend based on a CGFontRef.
static RefPtr< QuartzFontFacecreate (ATSUFontID font_id)
 Creates a new font for the Quartz font backend based on an ATSUFontID.

Protected Member Functions

 QuartzFontFace (CGFontRef font)
 QuartzFontFace (ATSUFontID font_id)

Detailed Description

Font support for Quartz (CGFont) fonts on OS X.

Since:
1.8

Constructor & Destructor Documentation

Cairo::QuartzFontFace::QuartzFontFace ( CGFontRef  font) [protected]
Cairo::QuartzFontFace::QuartzFontFace ( ATSUFontID  font_id) [protected]

Member Function Documentation

static RefPtr<QuartzFontFace> Cairo::QuartzFontFace::create ( CGFontRef  font) [static]

Creates a new font for the Quartz font backend based on a CGFontRef.

This font can then be used with Context::set_font_face() or ScaledFont::create().

Parameters:
fonta CGFontRef obtained through a method external to cairo.
Since:
1.8
static RefPtr<QuartzFontFace> Cairo::QuartzFontFace::create ( ATSUFontID  font_id) [static]

Creates a new font for the Quartz font backend based on an ATSUFontID.

This font can then be used with Context::set_font_face() or ScaledFont::create().

Parameters:
font_idan ATSUFontID for the font.
Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/quartz_font.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FtFontFace.html0000644000175000017500000000005011561716354025406 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FtFontFace.html0000644000175000017500000003051011561716354025621 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::FtFontFace Class Reference

Cairo::FtFontFace Class Reference

Inheritance diagram for Cairo::FtFontFace:

List of all members.

Static Public Member Functions

static RefPtr< FtFontFacecreate (FT_Face face, int load_flags)
 Creates a new font face for the FreeType font backend from a pre-opened FreeType face.
static RefPtr< FtFontFacecreate (FcPattern* pattern)
 Creates a new font face for the FreeType font backend based on a fontconfig pattern.

Protected Member Functions

 FtFontFace (FT_Face face, int load_flags)
 FtFontFace (FcPattern* pattern)

Constructor & Destructor Documentation

Cairo::FtFontFace::FtFontFace ( FT_Face  face,
int  load_flags 
) [protected]
Cairo::FtFontFace::FtFontFace ( FcPattern *  pattern) [protected]

Member Function Documentation

static RefPtr<FtFontFace> Cairo::FtFontFace::create ( FT_Face  face,
int  load_flags 
) [static]

Creates a new font face for the FreeType font backend from a pre-opened FreeType face.

This font can then be used with Context::set_font_face() or FtScaledFont::create().

As an example, here is how one might correctly couple the lifetime of the FreeType face object to the FtFontFace:

 static const cairo_user_data_key_t key;

 font_face = cairo_ft_font_face_create_for_ft_face (ft_face, 0);
 status = cairo_font_face_set_user_data (font_face, &key,
                                ft_face, (cairo_destroy_func_t) FT_Done_Face);
 if (status) {
    cairo_font_face_destroy (font_face);
    FT_Done_Face (ft_face);
    return ERROR;
 }
Parameters:
faceA FreeType face object, already opened. This must be kept around until the face's ref_count drops to zero and it is freed. Since the face may be referenced internally to Cairo, the best way to determine when it is safe to free the face is to pass a cairo_destroy_func_t to cairo_font_face_set_user_data().
load_flagsflags to pass to FT_Load_Glyph when loading glyphs from the font. These flags are OR'ed together with the flags derived from the cairo_font_options_t passed to cairo_scaled_font_create(), so only a few values such as FT_LOAD_VERTICAL_LAYOUT, and FT_LOAD_FORCE_AUTOHINT are useful. You should not pass any of the flags affecting the load target, such as FT_LOAD_TARGET_LIGHT.
Since:
1.8
static RefPtr<FtFontFace> Cairo::FtFontFace::create ( FcPattern *  pattern) [static]

Creates a new font face for the FreeType font backend based on a fontconfig pattern.

This font can then be used with Context::set_font_face() or FtScaledFont::create().

Font rendering options are represented both here and when you call FtScaledFont::create(). Font options that have a representation in a FcPattern must be passed in here; to modify FcPattern appropriately to reflect the options in a FontOptions, call FontOptions::substitute().

The pattern's FC_FT_FACE element is inspected first and if that is set, that will be the FreeType font face associated with the returned cairo font face. Otherwise the FC_FILE and FC_INDEX elements of pattern are used to load a font face from file.

If the FC_FT_FACE element of pattern is set, the user is responsible for making sure that the referenced FT_Face remains valid for the life time of the returned FtFontFace. See FtFontFace::create() for an exmaple of how to couple the life time of the FT_Face to that of the cairo font-face.

Parameters:
patternA fully resolved fontconfig pattern. A pattern can be resolved, by, among other things, calling FcConfigSubstitute(), FcDefaultSubstitute(), then FcFontMatch(). Cairo will call FcPatternReference() on this pattern, so you should not further modify the pattern, but you can release your reference to the pattern with FcPatternDestroy() if you no longer need to access it.
Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/fontface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/namespacemembers_enum.html0000644000175000017500000000005011561716354025316 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/namespacemembers_enum.html0000644000175000017500000001015411561716354025533 0ustar00murraycmurrayc00000000000000 cairomm: Namespace Members
 
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1UserFontFace.html0000644000175000017500000000005011561716354025753 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1UserFontFace.html0000644000175000017500000007025711561716354026202 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::UserFontFace Class Reference

Cairo::UserFontFace Class Reference

Font support with font data provided by the user. More...

Inheritance diagram for Cairo::UserFontFace:

List of all members.

Public Member Functions

virtual ~UserFontFace ()

Protected Member Functions

virtual ErrorStatus init (const RefPtr< ScaledFont >& scaled_font, const RefPtr< Context >& cr, FontExtents& extents)
 This function is called when a scaled-font needs to be created for a user font-face.
virtual ErrorStatus unicode_to_glyph (const RefPtr< ScaledFont >& scaled_font, unsigned long unicode, unsigned long& glyph)
 This function is called to convert an input Unicode character to a single glyph.
virtual ErrorStatus render_glyph (const RefPtr< ScaledFont >& scaled_font, unsigned long glyph, const RefPtr< Context >& cr, TextExtents& metrics)=0
 This function is called when a user scaled-font needs to render a glyph.
virtual ErrorStatus text_to_glyphs (const RefPtr< ScaledFont >& scaled_font, const std::string& utf8, std::vector< Glyph >& glyphs, std::vector< TextCluster >& clusters, TextClusterFlags& cluster_flags)
 This function is called to convert input text to an array of glyphs.
 UserFontFace ()

Detailed Description

Font support with font data provided by the user.

The user-font feature allows the cairo user to provide drawings for glyphs in a font. This is most useful in implementing fonts in non-standard formats, like SVG fonts and Flash fonts, but can also be used by games and other application to draw "funky" fonts.

To use user fonts, you must derive from this class and implement the virtual functions below. The only virtual function that absolutely must be implemented is render_glyph(). You should make the constructor protected and provide a factory function that returns a new object in a RefPtr since it is a refcounted object

 class MyUserFont : public UserFontFace {

 public:
   static Cairo::RefPtr<MyUserFont> create() {
     return Cairo::RefPtr<MyUserFont>(new MyUserFont);

 protected:
   // implement render_glyph() and any other virtual functions you want to override
   ErrorStatus render_glyph(const RefPtr<ScaledFont>& scaled_font,
                            unsigned long glyph,
                            const RefPtr<Context>& cr,
                            TextExtents& metrics) {
     // render the glyph into cr here
   }

   MyUserFont() : UserFontFace() {
     // constructor implementation
   }
 };
Warning:
Because of a design flaw in cairomm, it is currently necessary to keep the the UserFontFace object around until as long as you are rendering text with the user font. The following code illustrates the issue:
 {
   Cairo::RefPtr<MyUserFont> face = MyUserFont::create();
   cr->set_font_face(face);
 } // scope for demonstration purposes

 // the following call will cause a crash because your user font is no longer
 // in scope but it needs to call the virtual functions in face
 cr->show_text("hello, world");

The preceding is obviously a very contrived example, but the important thing to know is that you *must* cache all userfont objects yourself as long as you intend to render text with that font. A future release of cairomm will fix this requirement, but that will require ABI-incompatible changes.

Since:
1.8

Constructor & Destructor Documentation

virtual Cairo::UserFontFace::~UserFontFace ( ) [virtual]
Cairo::UserFontFace::UserFontFace ( ) [protected]

Member Function Documentation

virtual ErrorStatus Cairo::UserFontFace::init ( const RefPtr< ScaledFont >&  scaled_font,
const RefPtr< Context >&  cr,
FontExtents extents 
) [protected, virtual]

This function is called when a scaled-font needs to be created for a user font-face.

The Context cr is not used by the caller, but is prepared in font space, similar to what the cairo contexts passed to the render_glyph method will look like. The callback can use this context for extents computation for example. After the callback is called, cr is checked for any error status.

The extents argument is where the user font sets the font extents for scaled_font. It is in font space, which means that for most cases its ascent and descent members should add to 1.0. extents is preset to hold a value of 1.0 for ascent, height, and max_x_advance, and 0.0 for descent and max_y_advance members.

The default implementation sets the font extents as described in the previous paragraph. If you need different extents, you can override this function in your derived class.

Note that scaled_font is not fully initialized at this point and trying to use it for text operations in the callback will result in deadlock.

Parameters:
scaled_fontthe scaled-font being created
crcairo context, in font space
extentsextents to fill in, in font space
Returns:
CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
Since:
1.8
virtual ErrorStatus Cairo::UserFontFace::render_glyph ( const RefPtr< ScaledFont >&  scaled_font,
unsigned long  glyph,
const RefPtr< Context >&  cr,
TextExtents metrics 
) [protected, pure virtual]

This function is called when a user scaled-font needs to render a glyph.

You must implement this in your derived class, and it is expected to draw the glyph with code glyph to the Context cr. cr is prepared such that the glyph drawing is done in font space. That is, the matrix set on cr is the scale matrix of scaled_font, The extents argument is where the user font sets the font extents for scaled_font. However, if user prefers to draw in user space, they can achieve that by changing the matrix on cr. All cairo rendering operations to cr are permitted, however, the result is undefined if any source other than the default source on cr is used. That means, glyph bitmaps should be rendered using Context::mask() instead of Context::paint().

Other non-default settings on cr include a font size of 1.0 (given that it is set up to be in font space), and font options corresponding to scaled_font.

The extents argument is preset to have x_bearing, width, and y_advance of zero, y_bearing set to -font_extents.ascent, height to font_extents.ascent+font_extents.descent, and x_advance to font_extents.max_x_advance. The only field user needs to set in majority of cases is x_advance. If the width field is zero upon this function returning (which is its preset value), the glyph extents are automatically computed based on the drawings done to cr. This is in most cases exactly what the desired behavior is. However, if for any reason this function sets the extents, it must be ink extents, and include the extents of all drawing done to cr.

Parameters:
scaled_fontuser scaled-font
glyphglyph code to render
crContext to draw to, in font space
extentsglyph extents to fill in, in font space
Returns:
CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
Since:
1.8
virtual ErrorStatus Cairo::UserFontFace::text_to_glyphs ( const RefPtr< ScaledFont >&  scaled_font,
const std::string utf8,
std::vector< Glyph >&  glyphs,
std::vector< TextCluster >&  clusters,
TextClusterFlags cluster_flags 
) [protected, virtual]

This function is called to convert input text to an array of glyphs.

This is used by the Context::show_text() operation.

Using this function, the user-font has full control on glyphs and their positions. That means, it allows for features like ligatures and kerning, as well as complex shaping required for scripts like Arabic and Indic.

This function should populate the glyph indices and positions (in font space) assuming that the text is to be shown at the origin.

If clusters is not empty, cluster mapping should be computed.

If you do not override this virtual function in your derived class, the unicode_to_glyph function is used instead.

Note: While cairo does not impose any limitation on glyph indices, some applications may assume that a glyph index fits in a 16-bit unsigned integer. As such, it is advised that user-fonts keep their glyphs in the 0 to 65535 range. Furthermore, some applications may assume that glyph 0 is a special glyph-not-found glyph. User-fonts are advised to use glyph 0 for such purposes and do not use that glyph value for other purposes.

Parameters:
scaled_fontthe scaled-font being created
utf8a string of text encoded in UTF-8
glyphsarray of glyphs to fill, in font space
clustersarray of cluster mapping information to fill
cluster_flagsa variable to set the cluster flags corresponding to the output clusters
Returns:
CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
Since:
1.8
virtual ErrorStatus Cairo::UserFontFace::unicode_to_glyph ( const RefPtr< ScaledFont >&  scaled_font,
unsigned long  unicode,
unsigned long &  glyph 
) [protected, virtual]

This function is called to convert an input Unicode character to a single glyph.

This is used by the Context::show_text() operation.

This function is used to provide the same functionality as the text_to_glyphs callback does but has much less control on the output, in exchange for increased ease of use. The inherent assumption to using this callback is that each character maps to one glyph, and that the mapping is context independent. It also assumes that glyphs are positioned according to their advance width. These mean no ligatures, kerning, or complex scripts can be implemented using this callback.

The default implementation of this function is an identity mapping from Unicode code-points to glyph indices. If you need different behavior, you may override this virtual function in your derived class.

Note: While cairo does not impose any limitation on glyph indices, some applications may assume that a glyph index fits in a 16-bit unsigned integer. As such, it is advised that user-fonts keep their glyphs in the 0 to 65535 range. Furthermore, some applications may assume that glyph 0 is a special glyph-not-found glyph. User-fonts are advised to use glyph 0 for such purposes and do not use that glyph value for other purposes.

Parameters:
scaled_fontthe scaled-font being created
unicodeinput unicode character code-point
glyph_indexoutput glyph index
Returns:
CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/fontface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x68.html0000644000175000017500000000005011561716354024573 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x68.html0000644000175000017500000000765111561716354025020 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- h -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/doxygen.png0000644000175000017500000000005011561716353022257 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/doxygen.png0000644000175000017500000000754611561716353022507 0ustar00murraycmurrayc00000000000000‰PNG  IHDRh ;ˆØ-IDATxí]{XŒyÿ¾sZ%Ê”NF:¨´FåЪքbÝè@;~ÓŽÃ"DH‘ÚZ•ð–m_Œéè4ÄÙÚ!ë-‡2«U«Ce[Š"§š_ñÌ3óLSìõ¾ï¾öº|®««y>§ïý¹ïïá_ ™L†öþZ·¼ß¦ajëñ®¹L•oñúþ}«.Íë2Þãû$Zöå);*.d¥~Ûìß³wˆ—·'ˆâ0³Ëâþ@áû!ZZeÊÿÁÞͺwÓøÏÔÚ‰ù?ØO =\Lâ[òg²dxr0Ð —€¤Rrj·Jž€‘*í.WJN5¨äÉqÈMªÔ[mºÞ•’Sb58™Ä¼RB5½¥•’SRus[2<ÙÄ %·˜˜•²V'˜ê+%§$fv˜ØÄºR»«Kó$ ¡¥C 4ã+xº˜£½sQÙ}f¶ðÀ[²vôZ €ç6c}”½!,Lt×ï<ÂÅ«µ°dx†H)/ÎÙfí襧¥C«1¶v£ôº[~– ÏÑåÅ9%DÏDKgžrN}M9úY««3*/Îi謷%ÓU^œ#¶vôr'p²=]ÌÑ_§7®ßy„ìS¸ª½ëkÊaÉð´-/Î!E²vôâà902œíÁÉ–FæŸ*¸Å,ý­– O!1k>QÓÓ³¦°dx¦X:ûð¼=GÃÂD×ï<ÂþÃ'¸fvRªKó‚UZjbóièþ¤`èõýˆtº9cùœ‘xÕÚªV W­­°sžabóièw1ó1x%îæhŒ¹Þ¶¸9׉>oÕ®hkG¯~¥—Nl°sž"^™ÀdŽ2%sw…ø¨•¼W­­‹ìœ§D¸z¯àí W †Æç˜8c>‚í1”ô‡m·Bvêî«ÖÖ8܉ÞAˆZò þT…u—r­½ª´th9kÂÖRêåŸSfÛþ/d§–°‰¾äœ1kçb„A.ܸ@ø“+;:j ÛÚÑË«ôÒ‰|#­Ýp4i®â¨]¼â߯óV~éØÇŒ…xfv$Õ¥y| S[ö;BOK‡V“ÅßÖàÎÌa 4x0¶Ï:ÂßDN54>Çgœõxp÷ªo;Z:´¬œÃÉ”º€ÕÇðë™ïbÛ‡ªöü|Ñ^TŠ7=$4)L!Ü/åuü’#)9/rqÃ%îØÅï¬~a”çŽÅ-à¸poE ‚”®,|gŽ¥m /9/ŠsÃâ˜Ø|šœ±c Ó/åu¨ü Êë€P\…aÁÂ’ó¢‡1,¦¥Ó¢Ã;ueòyªKó\ä…°üÃ"7-K!3>õ2ÊËËamm åÚÈr7M.(~[2ÓÝÉ„Œ]©¨C<¿í»b9Ç[)v[~Ñ,_º@\|î8ËqÜ´{· Ð}QÞ”ugr7àÛÈJ]|Úe¤ïÚ`ƒ–­æçÿ¤à™4s5Ü+µÕÒ¡•©Æ\§áéãû¶Ù•ýxàJ,ûÌudùùs&@yŽõI…eD…Ÿ;ç8nZÁž={ʘfóQU|X ÞØÚ)ض˜"ÞtîVÜ-ÏwÐo¨ãç¢ý‰œöJy>¶6è°¹ ÌFrÊf¥ÑÍú’ KbÏà¼(!@~»ó³) F¹{€í€Ave'3£Hÿ£¦˜î»Íu @³¯Aò±¬$èj÷"s&û…½&ób~¶t”»w¢ÿ¼¼¥þŠ·öQÓ J~Iå âJÚö½˜Ÿ]=ÊÝ;=|S{ºû™Éç‘“nçÊÜ9ôË¿ÈõË„.{ù®‰Ü´`Œb³ßÅÊå ÅâÚž)†j\Þ€ÔΕ›ÞY_ÂE_¸â.gÚ0uõ‹‘Ÿ‰2ݪiDàWËÐÜX'ÖìkÀÌÿº©ü–ñqýòV¶gDO³¯Ý„¦âÁÔôçE 6È ä1cZŒ¦ÄÄ—n£¹±NXxú(¿] ±ãgL_ºM!ÓÐb4Ü+e´´Ê¤âŽdüƒç62[é£]Am­ž,b÷@Jáé£Õ„ÿð‘Ü_Ù,Wºˆr€‘®Îèr_g8ÕÕ&(ÁQAäÛ4·­Ÿò.«ö—¯­ajëAïghS–öÝFJËÛhheg©‹³;Lýcs é/¼RƒÈõËÄ¢ì,‘—¾84†íõ‰9™óõ:n–œ`‰²³Ä,o_ï~†6YIqaÐÑî¥vÊèã¸v>=V”E¹æXÞ¾5™é=uu›^À/ °A”eD䆸ÍX¹j®S¬‘#§Ï^Ëžç3œŒÇì-ÂÙ£[Ã@µövmæÏ ’X ÊÎÊW¤×vú9šÚúѽµõQ_{ͽ3žäW\ø¦æØ:p¤ajëeIÉ)tšâîŽåáܱ8Iû£>xødÆöEóöëd:ÛŒ4µõk¾OŽƒNI¼‰¨½q>m•á1!)[©›Vàb47ýa @æšṉ̃ p…%5Pþ~üä¾Z‚æ¦?| 3³•0DN  á}® Unû¬@ú® » 3¹ÌÁÃ'‹Tç(,©ÁÏ—ïÂÁÊ^.ŠM¤ÄA8a?šUÙ¾äJ<§à2S÷ þ~…@=hjë3-GÍÄ|ŸÈ8Y.¯—¨®]XRƒèËIT9X²A€›¿ž$ÚéÇÛÈõ™hIPvã!ÀvHÿ°}Úo)Ͷ‡8rŠßš ¶=…Ч*^÷˜éiEïŸÂ«8‘"<˜Ìö Ht™¶œ·"Б²æ–͘á¿Êx.üZ‹˜M!b~ƒé Ã!c ’bwÀ·zëqT\È L*a.ˆŒÙÁP7:Û*(FÁñøpáÁô8¶O@â¿5<å9•17>yö“1z¸a‡zs{/Q†9æ‘ ´j}S¹vYD*n]Í!rÐhyakÔj ™Ê„«úgúÍ‘ d¦©­_¾*llé]^&}ˆ˜¨ÍhnúÃÛpȨèí[¨ä.Y»µ7..ÐÔÖOŽÚ²ÆµÉX|Úeœ%¤ÈL%äL¿9e ‰Étå¼ÇO^ (ˆÛp 3U±%ßär ‡ŒJŽ ›§vÎ2éCÊ Äzá2SãfúÍ1êÃ]Ïõ™@ÝÈ™¼€ÄÜn’èÛp%®Ö"nËJR µß2GÛ+Z™Š[¥?’@„½[PèâÙcÐWKþÂÕZìÛó=’â×Q÷ŸšiøÏäôîÓ?yê¬E`3‡ª+Wá‡ý;ñìÉÃŽöîÓ¿fóæHŠÛÒ%¸x2!%#Mì?;p)î°™*à²u;p_zÉ%#M !pˆ‚WÇR†Š«phϦÝi‚Eª8ügFôîÓ?ÔÁíKÈïü²ëp)_+Ç©XÀPÅž‘&ˆ#jðÌí&q=˜n˜0ÚLí¬×n>Dá•\Ê¢á÷J[ts»I¢è5³)¼&~J ¤:Úè´µAB„î@‹PKÆ´×doCú)ñÑaSteLgÓ.㦶襩›Àÿ?MàÙ¿|Ö¸bÙšs+s’¤Ÿ¸†ÑtïÙ›À@€<öòyÓ¶_=ï ‡žok®Ô‡Û¶½ÚžŸ¿x¾Œª¢Ã=ä_C?ÝlÐßB™«WŠp·òœ‰ÙcK3=hh(b%ùÐ7u@}mEû»ÃtØxØØØâRÁ)ÔUÿ¢%“2™ ݺ)©Ø™¢;¸œŸnÝ{†®ÃÆÎ†‰¡î_2Ÿ´úªŠ ý‘ýLKϲַÆöEe÷¡A(ô¤ù%ž?iÀÓÆßÓ¸›`N·zýàëÑ,ñðÞo´w¯ÊNõ{elЧ‡òÉ«}ð·êq¥ì&ªKsñüÉÃän=>º`á°±³Ýÿ*q:½âht§¿Õw_Z”ÞòòÙ^š:cå¾nÝ{âùÓ†‹Ýº÷Ì`N£;‘×›Üj*ÿµ½¥å¥K¯Þ}^4?&ý=zi¡—¦zkõCcýPBht'×ÿÑ|UE‡ä1 ý;ž&5v›øßõëÛµ]@kS}ðÿpŽªª¢ÃâÕ¥y &þ>Ø{fÝ>Pð~ÛÿÞžk˜^œIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ScaledFont__inherit__graph.png0000644000175000017500000000005011561716354030472 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ScaledFont__inherit__graph.png0000644000175000017500000001542711561716354030717 0ustar00murraycmurrayc00000000000000‰PNG  IHDRP{­–OÏbKGDÿÿÿ ½§“ÌIDATxœíÝ{@Lyûðï™M)]ŒRÒ¨H—It¡VE½é]!¶ZåRhÂën-a×kÙöu_r-%—ÄþX’Þ(*颒¡&ÑM5]4šær~œ÷w¶Ë(M31Ïç¯3ß9óý>gÎyæÌ9ç™3Žã Hò ;ð(Hx$<  ÿq>>>Ÿ¸¸8yo_мø|xWs677ß¼yó»ï¾ëåˆuuuiiioÞ¼±···²²¢Pz¶B9εk×üüüº3óÇi4š™™Ù7Øl¶øS–––ÖÖÖ=Èìᥦ®®nùòåqqqÊÊʯ^½Z±bEdddW3·´´Ü¼y³—#&%%-^¼˜Édjjj^¸pÁÇǧµµµG=´´´œ>}º›3ß¿ÿÙ³g¡Ë—/ggg¿ÓÒÒÒ£q÷íÛWYYÙ£—©€=¼Ôüë_ÿ¢Ñhd2!Äb±‚ƒƒ½½½õôô:ά««{îܹ^Ž2uêT„ÐܹsW¯^}çÎOOÏ^vÛîîîÓ¦Mûä—gddxyyI1ÐM°‡—ކ††””www"ÛB†††ëׯ¯¯¯GeggoܸqÆŒßÿ}RRBˆÍfoÚ´‰xáºuëRRR¾ýöÛ²²²ÊÊÊÇ{{{}zXXXZZÑXRR1sæÌ]»vq¹\ÉoBÇà›ššÂÃÃÓÒÒ/^ìëë…Ú±cGCCÃŽ;òòò>å½½ /EEE![[[ñƯ¿þšÁ`à8~ðàAGGÇèèhŸÈÈH.—ËårŸ>}Šâñxùùù Ë—/6lتU« ðÛo¿ikk‡„„ðù|„N755%úMS(//¯Ý»woÞ¼ùæÍ›•••úúúfff!Ç·lÙ2iÒ¤“'Oª««;vŒhì†x´»ví233‹ŠŠš6mZDDDIIɇV¬XA§Ó=ªªªššš*š9??ÿÖ%''ƒçóùyyy·nÝÚ»wï®]»bbbÊÊÊÂÃÃ544ÂÃÃ-,,úl…€ÎÁWzéàp8ZZZêêêŸ[¶l=z4BÈØØ˜ÃáÔÖ֊\®ŸŸŸÝ«W¯„BáÒ¥KBþþþÉÉɹ¹¹¶¶¶'NÍ,>èì윔”tåÊ•ýû÷ÛÙÙ………éëëjhhøûûó\½zU ŸíÂPRR"ºª©©a³Ù†yxx¤§§§¥¥ÑétCCÃùóç#„BCCïÞ½+šÉd666Óƒ ruuí4x###>Ÿïëë«£££££cffÆb±FŒa˜ššZOO1‚Þƒw\:´´´êëëËÊÊFŒ!jÌÍÍmjjrvv~ùòåï¿ÿþæÍMMÍŽ¯Å0lܸq¡'OžXZZŠÚ­¬¬²²²Ú}kÁqÇqSSSb‡Ïb±~ýõןþù×_ÍÈÈõC¥RE×$„‘‘‘ÑØØ8wî\â!—Ë¥ÑhuuuD`!2™Ì`0DóÏž=»Ý1|§Á!„D{r ¾Qʬé`0T*õñãÇ¢Ç÷ïßßØØ˜––éëë{þüùÇ‹vª"†û:###Ññ6B¨¼¼ÜÐа«333D óóóy<N?ž’’ÒÚÚ*9 CCC##£‹b–/_>räH‹%„w@Bð†Ix!%Hxé v¤—/_.))Aq¹Ü+W®444L™2¥µµ•N§ÛÚÚ’H¤ÔÔT‡ÓÕ‚­­­«ªªòóóB%%%Äø/^dffóˆ¦ÍÍÍëëëˆv¡P˜œœ­­­]]]­­­ýÃ? „TUUƒƒƒ7mÚ¤¦¦Æf³CCCB†!úñ)†a+W®ŸÉdr8ñ§„BáË—/G%ÞO»0ƌӮC&“i`` ¬¬,jáñxL&säÈ‘T*õ£ñt3x‡S\\lbb¢¦¦&¹CWWרØXŸ ºþãz”ð@º ᥠŽáP ð(Hx$<  €„@@ @ á?Kµµ>»žAµôÝ’››»víZyGpãr‡¼¯¯¬\«¦ö¦/†hj2âñÔTUß*+³‚*Ì/ $üÇ988È;Ä瓪ªVT¨µµ‘•”––TɸÊÌÔ¨¯×¤Rzzïuu9а/ê&ccãv¿½µôýÝË—5'NÜÍ„!´¿ïܹ}øtèPRDÄ „‰D¢PHsæØ:››ë»Ì@Â÷S|¾ðÿþ/ïØ±ûÙÙeJJ”¶6>BˆDÂFŽÔINþ‰Ô‡·”àrù;kjšˆMƒB!ñùB ý€Ço¿µSVÐwCƒ¾ ßï46rΟO?uêAUU#™LâóbOb§O/ž:Õ²ËKI\\æêÕ1âÛ‰DÂq\]]yÞ¼‰ŽúúZ}è ðýÈË—5ÇßÏâñÞL²²~óæjD"'Oþ‰Åª ÛÀ“H$ C³fY/]:ÙÊ Ž®?3ðýÅÍ›¹Ë–Å0Äçwy’,.n…““‰lâ¹}ûÙ¢E§º:QO"aB!ìâb&›x€TÀuøþÂÃÃjÆŒq]}üR(d''™e;BÈÝÝÒÆ†N¡t¹…¬_ïÙþÙ„ï/H$,2ÒÚ´1æ˜@ رCÖÿÍ´k×l “O  š¼jÕTÇz¾!“I‡Ï?ÞˆLþËz¡PH3gÚ˜›wòu}jÜ8º‡Ç …,ÞH"‘<=ÇmÝ:CÆÁ©€„ï_Þ¿omiiSR"‹§Ž£¿‘K<›6M?ËC¡ÔÕ•Ÿ?¯¬®n’K< — áû«ÖÃã@SÓ‡«WWh @FQ(¤ùó¿20,—ŒµýüˆO …li9üÖ­p …ìáñKAÁ[¹„z¾¿(,¬˜5+RMzíZ¨••Atô2  Ã0,,lŠ[µj ‰„‘H˜žžÆéÓtúàË—C ‡Ì™sèñã9>$|¿™Y:gÎ!CCí+W¾×Ñ„1‚»\EE)(ÈeèP 9Ʀ§§¹tédMͱ±Ë‰ØÔÕUbc—Oš4Ú×÷ȹrŒ ô\‡—¿ääçQ_}5òĉ•¿üåÛ“'eÆÆC´´Tå¡©©õíÛúvåôpãÆø˜˜Ç{÷~ëïÿ•¼b=B&þœÈKBÂÓàà3³fÙ>¼€JmÿãÅaÃ4Û}È•JÑÖÔ®‘DÂÜÜ,pÿñÇD„ð‰GÉ%6Ð#ðóXy:q"凖.´}ûÌÏñ/V1 Ÿ6x°êÖ­Wëë9;wzõé¯z@ïAÂËMDÄC‡’6ožòµ¼cé•E‹œ‡Õ 9×ÐÐrð qqôOp /B!¾uëÕ3gìÜ9{Ñ"IÉúyð€¹dÉ©±c Nž\WTô¿"y:&ïpdDI‰räÈoïñË–½p!]Þá€ÿ€J»¾••UúÝwÇFŽÔ‰]>x°œ+deŒD¦LR¼þ oúPròó¥K£:)’Wâ¥xl6çÇ¡OÎ áûÊõëOW®¼ð÷¿[EFú+xñÙ¢EΚšª«VE³ÙPŠ'gp–¾Oœ=›¶iS|`àçZ$ß<`.^|rܸ§N-VS£Ê; /}_L‘¼Ôåæ–Ï›w|øp(Å“Hxiú"‹ä¥‹Åªõó;† ON á¥æ .’—®êê&ÿcuuï¡Oö á¥ã‹/’—.(Å“Hx)P"yéjk㇄œ¿s§àСyß|3VÞá( HøÞ"ŠäÙlÎÅ‹_~‘¼t  â/^„»âÉTÚõ ‹Uûí·‡áåË!#GêÈ;œÏ ”âÉÞ|º¢¢ ?¿c4šZtô2âþÍ §ˆR<--ÕmÛ O á?QVVéüù¿=ôܹ¥êê*òçó¶x±³–”âÉà (’ï ¼X¼ø”âõ)Høƒ"ù¾C”â >wn)”âõø=|Ïœ;—r> ÀéðáùíR7v¬AbbXCÇËë··oÙòç {ø€"yÙ€R¼¾ ß-P$/c¢R¼³g'L€R<©„ÿ8O°fÍÅëןB‘¼,A)^_€„ÿ¢H>5õÅñãP$/cPŠ'up^¢H¾°ðmLÌ2ø‡ì‘ɤŸöÖÕU_¿þRUUcxø4yGôÙƒ„ï’¨HþÚµP33=y‡£  Oº á;ÇbÕÎ{ð„„•Šsoé~KTŠ×ÐÀ9p`.\ýdp ß (’¯÷ áÛÉŸ=¨¡1PÞဿÈÉy=þ (ÅûdðñòeÍôé,-‡GE-?9Š*ýüŽ ¢öÇ«á»}ábbccåŽÜaªª6ÖOmx{{ã½æíí-ïåè2Y]EÅ\ÞQ|bccÅW}'[v\\œìÃÝñË/¿H«+‡5kÖH«7Ð?ùøø´ké$á?÷ÿ/Ø¥K—¤Õ•¬h¿–@@ @ áP ð(HxÈ'^pæñxñññYYY:::^^^£GîjN6›}âĉõë×j„!tüøñššñGGGWW×v³UTT$&&2™LI“& 0 G£477:thÆ Ý™9!!AOOo„ ÝŒí3%Ë}õêU'º’tïÞ½gÏž…††‹ŠŠ®^½têÔ©ŽRRRbddÔîº_¿~­¯¯O&ÿ¯VG7˜OÙÃWVVN˜0aÿþýÌËËsppX¹reW3766ž|ˆºÿ¾¹¹¹ŸŸßíÛ·BB¡0##ÃÕÕU4J§of~~þ´iÓìííB&L999ùùùl6›‚N§{zzÆÇÇ+î#žýÝÙÃ'&&’H¤ÚÚÚŽO …BSSÓcÇŽ±ÙìøøxÖÒÒRZZªªªŠãxyyùÀ]]]£££[[[étú† JKK#""444ÚÚÚpOHHˆŒŒ$zŸf0K–,‰ú¯‹/â8Îf³õôô’““‰×nÚ´‰L&{zzž8qB|/$ttt"""Þ¼y³jÕª3ftªø¶Ý† ÊËËO:¥®®ž››ÛÜܬ¢¢²sçÎW¯^-[¶ !$úÀîŽã°²²RIIiöìÙeeeÙÙÙT*µ   ÝRH&Ë=¼\V´§§çªU«p [¿~}ffæàÁƒù|~nn.†auuu¢Q:}3‰N¸\nBBBPP¥¥ekk«xäõõõÆÆÆ—/_ÆcƒAöð=Nø .èêêvúT[[[VV1ýâÅ‹0™Lñí!ôçŸâ8ž““£¯¯/záØ±cïܹ#aPƒamm=ó¿ˆövßm233W¯^=fÌ ÃÜÝÝ™L&Žã>477'fhiiùùçŸy<^§¡ŠÖßëׯétº@ f˜={ö®]»âããíììˆ7hÐ Ñúë[§ HìÓÒÒˆF''§K—.u\ d™ðrYÑ?~<ŽãæææwïÞ …ÚÚÚiiiGŽ7nŽãâ ß雉ãxEE…µµ5™LŽˆˆ­DÇïÝ»gbb²bÅ ÑAÊ¿ÁtLøŸ¥:thUUUQQ‘¹ùÿ~®”’’R__ïåå•““³yóf&“©­­Ýñµ$iòäÉ¡»wïNœ8QÔîìì|çÎ777 ㆆ†tõ,ŽãB¡ÐÎÎÎÎÎ!TPPðý÷ß/Y²$%%åöíÛŽŽŽÄl\·n1-!Ô[·nÕÖÖÿç&v>|ÐÓÓ«¬¬tqq!Z(Šxücët---BÄN„øéâ~H.+ÚÕÕuݺu/^¼`±XNNN†M:õöíÛ¥¥¥žÇîôÍÔÓÓËÎή««3555553gŽP(üÇ?þ·gÏ???¤ÀLá'Nœ8pàÀ?þøCÔ‚ãxpppmmíõë×CCC×®]ûâÅ‹G©¨´ÿ‹E Ô””B–––ÅÅÅ¢öââb ‹^ÝööíÛ CôÁ`ìÞ½;55•ËåšššŠŸÒŒoii‘ª……ƒÁ`‰ùç?ÿ9vìØ‚‚ñ˜%Ä#aI¤Ï£öA.+ÚÊÊJSSsçÎÎÎÎT*!4mÚ´[·n¥¥¥ušðíÞÌÄÄÄ}ûöÓ4ÍÉÉ©¨¨!4cÆŒšššÂÂB"Û‘o0=îKEEeݺu‘‘‘yyy¡>DFFÖÔÔ§%ÌÌÌÜÜÜÈdò•+Wššš„Ba§¸ºº²X¬ „òòòÒÓÓ‰31Ožåóùݱ£ÆÆÆ{÷î±Ùlâa[[Û£Gîܹóüùóvsòùü¬¬¬vcµ µcÿÙÙÙïß¿oimmMOO'®î~T7°ÝRH ã„'ô‡-"a‘ÖÖÖÇ‹ÎÌIðÅo0þ/÷´‹‹‹óõõÅá.wýQvÚû[I«ÐÏa+~ß›Ïã@* áP ð(Hx$<  €„@@ @:ùyì”)SdèŽüüüîü†¤;þýïÊV@Ixø¿±~nÒ¤I½ïG*€þÏÛÛÛÀÀ@¼þÇð(Hx$<  €ù5ÃÛþ?‘ÂIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FontFace.html0000644000175000017500000000005011561716354025114 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FontFace.html0000644000175000017500000003217011561716354025333 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::FontFace Class Reference

Cairo::FontFace Class Reference

A FontFace represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size. More...

Inheritance diagram for Cairo::FontFace:

List of all members.

Public Types

typedef cairo_font_face_t cobject

Public Member Functions

 FontFace (cairo_font_face_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~FontFace ()
FontType get_type () const
cobjectcobj ()
const cobjectcobj () const
void reference () const
void unreference () const

Protected Attributes

cobjectm_cobject

Detailed Description

A FontFace represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size.

Font faces are created using font-backend-specific constructors or implicitly using the toy text API by way of Context::select_font_face(). The resulting face can be accessed using Context::get_font_face().


Member Typedef Documentation

typedef cairo_font_face_t Cairo::FontFace::cobject

Constructor & Destructor Documentation

Cairo::FontFace::FontFace ( cairo_font_face_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::FontFace::~FontFace ( ) [virtual]

Member Function Documentation

cobject* Cairo::FontFace::cobj ( ) [inline]
const cobject* Cairo::FontFace::cobj ( ) const [inline]
FontType Cairo::FontFace::get_type ( ) const
void Cairo::FontFace::reference ( ) const
void Cairo::FontFace::unreference ( ) const

Member Data Documentation


The documentation for this class was generated from the following file:
  • cairomm/fontface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x78.html0000644000175000017500000000005011561716354024574 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x78.html0000644000175000017500000000724311561716354025016 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- x -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1RadialGradient.html0000644000175000017500000000005011561716354026301 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1RadialGradient.html0000644000175000017500000003226211561716354026522 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::RadialGradient Class Reference
Inheritance diagram for Cairo::RadialGradient:

List of all members.

Public Member Functions

 RadialGradient (cairo_pattern_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
void get_radial_circles (double& x0, double& y0, double& r0, double& x1, double& y1, double& r1) const
virtual ~RadialGradient ()

Static Public Member Functions

static RefPtr< RadialGradientcreate (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)

Protected Member Functions

 RadialGradient (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)

Constructor & Destructor Documentation

Cairo::RadialGradient::RadialGradient ( double  cx0,
double  cy0,
double  radius0,
double  cx1,
double  cy1,
double  radius1 
) [protected]
Cairo::RadialGradient::RadialGradient ( cairo_pattern_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::RadialGradient::~RadialGradient ( ) [virtual]

Member Function Documentation

static RefPtr<RadialGradient> Cairo::RadialGradient::create ( double  cx0,
double  cy0,
double  radius0,
double  cx1,
double  cy1,
double  radius1 
) [static]
void Cairo::RadialGradient::get_radial_circles ( double &  x0,
double &  y0,
double &  r0,
double &  x1,
double &  y1,
double &  r1 
) const
Parameters:
x0return value for the x coordinate of the center of the first (inner) circle
y0return value for the y coordinate of the center of the first (inner) circle
r0return value for the radius of the first (inner) circle
x1return value for the x coordinate of the center of the second (outer) circle
y1return value for the y coordinate of the center of the second (outer) circle
r1return value for the radius of the second (outer) circle

Gets the gradient endpoint circles for a radial gradient, each specified as a center coordinate and a radius.

Since:
1.4

The documentation for this class was generated from the following file:
  • cairomm/pattern.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/open.png0000644000175000017500000000005011561716353021543 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/open.png0000644000175000017500000000016611561716353021762 0ustar00murraycmurrayc00000000000000‰PNG  IHDR à‘=IDATxí1 “ت¦@@   ]01ÀQXY~Jr?D>„¥¶þ’n¼ áFÍ  }ÈúÂéãÏ\ ÄáÿòIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/structCairo_1_1ColorStop-members.html0000644000175000017500000000005011561716354027222 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/structCairo_1_1ColorStop-members.html0000644000175000017500000000562311561716354027444 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::ColorStop Member List

This is the complete list of members for Cairo::ColorStop, including all inherited members.
alphaCairo::ColorStop
blueCairo::ColorStop
greenCairo::ColorStop
offsetCairo::ColorStop
redCairo::ColorStop
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SurfacePattern.html0000644000175000017500000000005011561716354026355 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SurfacePattern.html0000644000175000017500000003514411561716354026600 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::SurfacePattern Class Reference
Inheritance diagram for Cairo::SurfacePattern:

List of all members.

Public Member Functions

 SurfacePattern (cairo_pattern_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
RefPtr< const Surfaceget_surface () const
 Gets the surface associated with this pattern.
RefPtr< Surfaceget_surface ()
 Gets the surface associated with this pattern.
virtual ~SurfacePattern ()
void set_extend (Extend extend)
Extend get_extend () const
void set_filter (Filter filter)
Filter get_filter () const

Static Public Member Functions

static RefPtr< SurfacePatterncreate (const RefPtr< Surface >& surface)

Protected Member Functions

 SurfacePattern (const RefPtr< Surface >& surface)

Constructor & Destructor Documentation

Cairo::SurfacePattern::SurfacePattern ( const RefPtr< Surface >&  surface) [explicit, protected]
Cairo::SurfacePattern::SurfacePattern ( cairo_pattern_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::SurfacePattern::~SurfacePattern ( ) [virtual]

Member Function Documentation

static RefPtr<SurfacePattern> Cairo::SurfacePattern::create ( const RefPtr< Surface >&  surface) [static]
Extend Cairo::SurfacePattern::get_extend ( ) const
Filter Cairo::SurfacePattern::get_filter ( ) const
RefPtr<Surface> Cairo::SurfacePattern::get_surface ( )

Gets the surface associated with this pattern.

Since:
1.4
RefPtr<const Surface> Cairo::SurfacePattern::get_surface ( ) const

Gets the surface associated with this pattern.

Since:
1.4
void Cairo::SurfacePattern::set_extend ( Extend  extend)
void Cairo::SurfacePattern::set_filter ( Filter  filter)

The documentation for this class was generated from the following file:
  • cairomm/pattern.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1LinearGradient__inherit__graph.png0000644000175000017500000000005011561716354031340 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1LinearGradient__inherit__graph.png0000644000175000017500000001336411561716354031563 0ustar00murraycmurrayc00000000000000‰PNG  IHDR›Ëöv,bKGDÿÿÿ ½§“©IDATxœí{PSgþÿŸ\¸F…Êr hDZ vqA¦éºìR·0²»´u§ÃV˪l¹ »vÚÑ…î:®Ò²®]G‘ÕNQ$¶*‘ WÃ]p%%€0\Ò”@€ÜsÎ÷Ó_~iPCHìãóúëÉ“ç|žwòÊ9çÉárH8ŽDacQØ@Fa… d:p›âèWóÃÃáØVÕæßÿýíÛ·Û¼,”œ8qÂæ5mo4::šÃáØ¼,”TVVÚ¼&:Â2 È(l £°ŒÂ†í׺O‚V«åñxB¡ÐÇÇ'%%eÓ¦M‹”ÉdgΜÉÏÏ_ÎtgÏžœœ$ÚÁÁÁÉÉÉ4m9Ÿe°NLLlÛ¶íøñãîîî===ÑÑÑXlðììliié2gŸo܈D"6›íéé™@ìâÆ‘ø|>›Í®­­ g0}ôÑJ¾‹KbÛxÜ>ZWWG&“¥R©ùS†1™ÌÓ§OËd2çååµ°°044D£ÑpuwwOLL,//W©T £  `hh¨¨¨ÈÃÃC£Ñà8^SSSRRBT3nGDDóÍ7ß|óMCCCDDDVV–Åéd2NonnÖh4ÆmÇ·nÝZPP0::zîܹ5kÖtwwGvvvNMMéèèpqqéëë{ìÛµû¨½~ñÅ~~~ŸÒh4B¡h 899‰D"c£€úúzÇ»ºº FDD444,1iDD™L¦P( Å××7;;{bbÂâtø"GÝG1 ½^Oô§¦¦G"Ž1mmmÄ€¸¸¸ÊÊÊ%ß*_£ö^ëúúúNNN>xð`óæÍ†Î–––ééé”””®®®C‡‰D"oooómÉdrBB ±±1&&ÆÐ¿cÇŽ††6›½Ä¼§OŸÎÈÈ0é\z:c®_¿.•Jƒ‚‚ˆ‡J¥’N§G"ˆŠŠ" eé‚+‡½ÆÄĸ»»õÕW£8ŽïÝ»7''§¶¶öàÁƒ555‰‰‰ ÅÃÃÃd[‰äìì  »pá‚¡ÿáÇéééO›ä±ÓÊb±îÞ½K>>Îãñr¹|óæÍDþg|¦:Äår###™L¦¿¿ÿþóŸsçι»»¿ñÆ ‘‘‘‰‰‰·oßf±X‹-VOž<™‘‘¾{÷î?þxíÚµ€Ï?ÿܰÈ4n[d±é6nܘ™™) Ûd2ùÓO?=rä‹Åb2™gÛ¶m6~_l…mOËà ¾ÌÏÏ ‚ññq“þ®®®¹¹9ǧ¦¦ø|¾^¯·¸0ÆqðÎÎNN·œÀ&Óá8>;;{óæM™LfÒ&èè蘟Ÿ_ΌƬÄʈ„ÛôWIH$REEEZZš kB ñF]¾|Ù†5&GØd6QØ@Fa… d6QØ@Faã¹0ŠãxyùG§°¶¿fîëëkÚËG©t[<àè ¦ôööÆÇÇÛöš‘šölþÅËÌŒ‡FãL¥ú®^­qt–ïmÛš6ÞGŸA0 ß²åÃééùŒŒø#GRgÅÿ^ìè öÎ}ôy… d6QØ@Fa… d6QØ@Fa… d6QØ@Fa… d6QØ@Fa… d6QØ@Fa… d6QØ@Fa… d6QØ@Fa… d6QØ@Fa… d:–3=G¿‚ÇC&»89ù8:Åã±É}mó_ÍßÿýíÛ·Û¤Ôsˉ'lRÇ6F£££ŸÍÿPÿ¢²²Ò&uÐy6QØ@Fa… d6l|O¦%Ðjµ<O(úøø¤¤¤lÚ´i±‘2™ìÌ™3ùùùËœðÚÚZ¡PˆaXrrrtt4™lÍ'¸¦¦†N§Û$ÕJc§}tbbbÛ¶mÇwwwïé鉎Ž>pàÀbƒgggKKK—9£D"‰ÍÍÍ]XXP©Tï¼óƒÁÉdV”ª¬¬lkk³.UFFÆÐГZM®UTT,=†Ãá$%%iµZâáýû÷]]]Åbñòg_ŒÔÔÔØØØùùyCÏOúÓýû÷[Q*==½¸¸ØºO2’ÃáØäš‘=öQ‰DråÊ•={öP©ßäY,ViiéÄÄ ©©)99yíÚµ±±±åå倩©©×_Øp×®]<Ïßß¿¿¿_,ggg¯[·.33³¿ÿ»›|;vìí·ß6iŽŽVWWïÛ·F£b”••mݺÇq“²æ===o¾ùæ~ô£ôôt…Baœ ‰Øl¶§§gBBB]]àÛo¿e³Ùµµµááá ã£>p¹\‰DÂårù|þJ¿ÉÿŸå(ÀãöѺº:2™,•JÍŸÂ0ŒÉdž>}Z&“ñxj£_|ñ…ŸŸŸÅ§4P($ÚNNN"‘ÈØ( ¾¾Çñ®®®€€Ã† ‹ÍXZZºeËÃÃW_}Õð Æe-àñxÄÞŒã¸V«]½zµ±ÑG1 ½^O HMM-,,$Ž7mmmDg\\\ee%®=Öº¾¾¾“““<ؼy³¡³¥¥ezz:%%¥««ëСC"‘ÈÛÛÛ|[2™œhllŒ‰‰1ôïØ±£¡¡Íf[œ1((èÑ£Gz½ž¸!SMMV«ÕétL&Ó¤¬“““y€æææ;wm*•jøàÀÄx Ã9BX4Æb€¤¤¤[·nutt®^½:<8xÀÑA–¢··7>>~ù׌lðóÑgÿ/^ff<4g*Õwõj£³,J|||ttôòëÀ×g ÷lùpzz>##þÈ‘GÇYqà?Þ¾-šžžTV u:ûþ¨ÒÀo´ªªÃɉË•­­Ïô©Ô&@nT­ÖÕÕujµz•J®®nwt¢r£7o>P*¿[ iµú«W»U*­c#­4­ªj7þµ<•JרØïÀÀb—¬ñÚÚN»²#ð_©ÔÖvíÛw~|¼ØÑAìœûèó 2 È(l £°ŒÂ2 È(l £°ŒÂ2 È(l £°ŒÂ2 È(l £°ŒÂ2 È(l £°ŒÂ2 È(l £°ŒÂ2 È(l £°ŒÂ2 È(l £°ŒÂ2 È(t߯¢¢ÂÑqV2ÙÅÉÉÇÑ)V “{Zø¯æÄ}âÏ>ýýý•••&Œnaø!‚Σ°ŒÂ2 È(l £°a¥QN×ÔÔtêÔ©‹/Ž-1rnnîÒ¥KÖÍbàÒ¥KSSS6/kÇ[[[KKKÏž=Û××gõÿM¼}ûöÿþ÷¿•˹ÖýöÛoß{ï½Ë—/»ººfff–””,6xaaáË/¿\FB8þüÄÄ„ÍËš333³ÿþÏ>ûL¥Ri4š£G¦¥¥ÍÍYóÏxoݺuÿþ}ër;vÌäõ>9ÖÜ7íäÉ“^^^EEEÄm†‡‡÷îÝËápètºù`??¿Ï?ÿܺpK°BeOœ8A&“KKK]]]™™™yyyeee´® u9ïÞ½›’bå Ážz™™iiiÙµk—á®ùùùÓÓÓ€ŽŽŽ?ýéO»wïÞ¿SS@&“ýùÏ&6ÌËËkiiùÕ¯~522211qêÔ)‡óÉ'ŸŒŒŒ¥.]ºô׿þÕ¼mŽ¡¬\.ÏÉÉikk{çw¸\nYY1`ll,'''999++«­­è4gœêÞ½{­­­»wï&t0™LÇMò›—ˆÅ⢢¢_þò—………jµÚ8§ÅHÃ>|xffæðáÃ===OkXaôÁƒ€ÈÈHãÎW_}•Åbá8þÉ'ŸÄÆÆ–——§¥¥•””¨ÕjµZÝÙÙ Ðjµ½½½555ï½÷ž¿¿ÿÿøG''§üãÞÞÞøÃt:€Á`0™L¢¦qÛCYN×ÓÓsýúõ¿ýío………/^$>………!!!eee?ûÙÏŠŠŠÄb±ÅxÆ©¦§§)JLLŒñD^^^»ví"‘HÆ#étºy)¥R™™™É`0þõ¯Ñh4>ŸoœÓb$‹ásrr<<_¡P,öeî•W^™œœìííˆÅâ¾¾>â;00pïÞ=bŒq T*çÿ …bé,K*•¶´´ Åž={Äbñcã­Zµê­·ÞúôÓO‰`8Ž···_¸pÁüèg±TTTTWW—H$‚ÉÉÉÇFZâ%Xý=Øš#õ›o¾©V«ß}÷]:>33óÒK/åç绸¸ÄÅÅýûßÿ~÷Ýwi4Zppp``àÇüá‡Z˜•JÍÊÊ:vì•JU(«W¯Ô××÷÷÷ÿä'?1i +FÀš5kNŸ>½DB‰tàÀóçÏ—••ÍÍͽöÚk!!!AAAæñ>l¼!—Ëdgg{zz«¡üüük×®™Ô·øJO:õ»ßý®  €F£)Џ¸¸ÇF"¾ ˜C§Ó‹‹‹³²²–X.úÚ? —/_ær¹ÍÍÍO²¥J¥‹Å¾¾¾†óÁàà ¿¿¿››ÛÌÌÌèèhXXØÜܜŕŽãƒƒƒAAAVœ?p_¬¬1"‘hýúõÆßFLâ…‡‡›o¥V«Åb±««k`` ‰DÒét ÅüØh±”V«‰D/¾ø¢‹‹‹Åœæ‘ÌQ(> ^µjÕÃnݺuøða“½Ùz£‡cÑ(ºRÈ(l £°ŒÂ2 È(l £°ŒÂ2 ®ëæææÚ? d2™yç÷Œ®_¿žÃáØ+˜ÿPù¹¸ëós:Â2 È(l £°ŒÂÆÿ°¢àY=IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Matrix-members.html0000644000175000017500000000005011561716354026323 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Matrix-members.html0000644000175000017500000001227511561716354026546 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Matrix Member List

This is the complete list of members for Cairo::Matrix, including all inherited members.
identity_matrix()Cairo::Matrix [related]
invert()Cairo::Matrix
Matrix()Cairo::Matrix
Matrix(double xx, double yx, double xy, double yy, double x0, double y0)Cairo::Matrix
multiply(Matrix& a, Matrix& b)Cairo::Matrix
operator*(const Matrix& a, const Matrix& b)Cairo::Matrix [related]
rotate(double radians)Cairo::Matrix
rotation_matrix(double radians)Cairo::Matrix [related]
scale(double sx, double sy)Cairo::Matrix
scaling_matrix(double sx, double sy)Cairo::Matrix [related]
transform_distance(double& dx, double& dy) const Cairo::Matrix
transform_point(double& x, double& y) const Cairo::Matrix
translate(double tx, double ty)Cairo::Matrix
translation_matrix(double tx, double ty)Cairo::Matrix [related]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x7e.html0000644000175000017500000000005011561716354024651 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x7e.html0000644000175000017500000001611611561716354025072 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- ~ -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/namespacemembers_type.html0000644000175000017500000000005011561716354025333 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/namespacemembers_type.html0000644000175000017500000000452011561716354025550 0ustar00murraycmurrayc00000000000000 cairomm: Namespace Members
 
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SvgSurface.html0000644000175000017500000000005011561716354025477 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SvgSurface.html0000644000175000017500000005130511561716354025717 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::SvgSurface Class Reference

Cairo::SvgSurface Class Reference

A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo. More...

Inheritance diagram for Cairo::SvgSurface:

List of all members.

Public Member Functions

 SvgSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~SvgSurface ()
void restrict_to_version (SvgVersion version)
 Restricts the generated SVG file to the given version.

Static Public Member Functions

static RefPtr< SvgSurfacecreate (std::string filename, double width_in_points, double height_in_points)
 Creates a SvgSurface with a specified dimensions that will be saved as the given filename.
static RefPtr< SvgSurfacecreate_for_stream (const SlotWriteFunc& write_func, double width_in_points, double height_in_points)
 Creates a SvgSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.
static RefPtr< SvgSurfacecreate (cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)
static const std::vector
< SvgVersion
get_versions ()
 Retrieves the list of SVG versions supported by cairo.
static std::string version_to_string (SvgVersion version)
 Get the string representation of the given version id.

Detailed Description

A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo.

This surface is not rendered to the screen but instead renders the drawing to an SVG file on disk.

Note:
For this Surface to be available, cairo must have been compiled with SVG support

Constructor & Destructor Documentation

Cairo::SvgSurface::SvgSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::SvgSurface::~SvgSurface ( ) [virtual]

Member Function Documentation

static RefPtr<SvgSurface> Cairo::SvgSurface::create ( std::string  filename,
double  width_in_points,
double  height_in_points 
) [static]

Creates a SvgSurface with a specified dimensions that will be saved as the given filename.

Parameters:
filenameThe name of the SVG file to save the surface to
width_in_pointsThe width of the SVG document in points
height_in_pointsThe height of the SVG document in points
Examples:
svg-surface.cc.
static RefPtr<SvgSurface> Cairo::SvgSurface::create ( cairo_write_func_t  write_func,
void *  closure,
double  width_in_points,
double  height_in_points 
) [static]
static RefPtr<SvgSurface> Cairo::SvgSurface::create_for_stream ( const SlotWriteFunc write_func,
double  width_in_points,
double  height_in_points 
) [static]

Creates a SvgSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.

Parameters:
write_funcThe function to be called when the backend needs to write data to an output stream
width_in_pointsThe width of the SVG document in points
height_in_pointsThe height of the SVG document in points
Since:
1.8
static const std::vector<SvgVersion> Cairo::SvgSurface::get_versions ( ) [static]

Retrieves the list of SVG versions supported by cairo.

See restrict_to_version().

Since:
1.2
void Cairo::SvgSurface::restrict_to_version ( SvgVersion  version)

Restricts the generated SVG file to the given version.

See get_versions() for a list of available version values that can be used here.

This function should only be called before any drawing operations have been performed on the given surface. The simplest way to do this is to call this function immediately after creating the surface.

Since:
1.2
static std::string Cairo::SvgSurface::version_to_string ( SvgVersion  version) [static]

Get the string representation of the given version id.

The returned string will be empty if version isn't valid. See get_versions() for a way to get the list of valid version ids.

since: 1.2


The documentation for this class was generated from the following file:
  • cairomm/surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FontOptions-members.html0000644000175000017500000000005011561716354027341 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FontOptions-members.html0000644000175000017500000001601711561716354027562 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::FontOptions Member List

This is the complete list of members for Cairo::FontOptions, including all inherited members.
cobj()Cairo::FontOptions [inline]
cobj() const Cairo::FontOptions [inline]
cobject typedefCairo::FontOptions
FontOptions()Cairo::FontOptions
FontOptions(cairo_font_options_t* cobject, bool take_ownership=false)Cairo::FontOptions [explicit]
FontOptions(const FontOptions& src)Cairo::FontOptions
get_antialias() const Cairo::FontOptions
get_hint_metrics() const Cairo::FontOptions
get_hint_style() const Cairo::FontOptions
get_subpixel_order() const Cairo::FontOptions
hash() const Cairo::FontOptions
m_cobjectCairo::FontOptions [protected]
merge(const FontOptions& other)Cairo::FontOptions
operator=(const FontOptions& src)Cairo::FontOptions
operator==(const FontOptions& src) const Cairo::FontOptions
set_antialias(Antialias antialias)Cairo::FontOptions
set_hint_metrics(HintMetrics hint_metrics)Cairo::FontOptions
set_hint_style(HintStyle hint_style)Cairo::FontOptions
set_subpixel_order(SubpixelOrder subpixel_order)Cairo::FontOptions
substitute(FcPattern* pattern)Cairo::FontOptions
~FontOptions()Cairo::FontOptions [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x68.html0000644000175000017500000000005011561716354023560 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x68.html0000644000175000017500000000762311561716354024004 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- h -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ImageSurface.html0000644000175000017500000000005011561716354025762 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ImageSurface.html0000644000175000017500000010205111561716354026175 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::ImageSurface Class Reference

Cairo::ImageSurface Class Reference

Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. More...

Inheritance diagram for Cairo::ImageSurface:

List of all members.

Public Member Functions

 ImageSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~ImageSurface ()
int get_width () const
 Gets the width of the ImageSurface in pixels.
int get_height () const
 Gets the height of the ImageSurface in pixels.
unsigned char* get_data ()
 Get a pointer to the data of the image surface, for direct inspection or modification.
const unsigned char* get_data () const
Format get_format () const
 gets the format of the surface
int get_stride () const
 Return value: the stride of the image surface in bytes (or 0 if is not an image surface).

Static Public Member Functions

static int format_stride_for_width (Cairo::Format format, int width)
 This function provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo.
static RefPtr< ImageSurfacecreate (Format format, int width, int height)
 Creates an image surface of the specified format and dimensions.
static RefPtr< ImageSurfacecreate (unsigned char* data, Format format, int width, int height, int stride)
 Creates an image surface for the provided pixel data.
static RefPtr< ImageSurfacecreate_from_png (std::string filename)
 Creates a new image surface and initializes the contents to the given PNG file.
static RefPtr< ImageSurfacecreate_from_png_stream (const SlotReadFunc& read_func)
 Creates a new image surface from PNG data read incrementally via the read_func function.
static RefPtr< ImageSurfacecreate_from_png (cairo_read_func_t read_func, void* closure)

Detailed Description

Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code.

The supported image formats are those defined in Cairo::Format

An ImageSurface is the most generic type of Surface and the only one that is available by default. You can either create an ImageSurface whose data is managed by Cairo, or you can create an ImageSurface with a data buffer that you allocated yourself so that you can have full access to the data.

When you create an ImageSurface with your own data buffer, you are free to examine the results at any point and do whatever you want with it. Note that if you modify anything and later want to continue to draw to the surface with cairo, you must let cairo know via Cairo::Surface::mark_dirty()

Note that like all surfaces, an ImageSurface is a reference-counted object that should be used via Cairo::RefPtr.


Constructor & Destructor Documentation

Cairo::ImageSurface::ImageSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::ImageSurface::~ImageSurface ( ) [virtual]

Member Function Documentation

static RefPtr<ImageSurface> Cairo::ImageSurface::create ( Format  format,
int  width,
int  height 
) [static]

Creates an image surface of the specified format and dimensions.

Initially the surface contents are all 0. (Specifically, within each pixel, each color or alpha channel belonging to format will be 0. The contents of bits within a pixel, but not belonging to the given format are undefined).

Parameters:
formatformat of pixels in the surface to create
widthwidth of the surface, in pixels
heightheight of the surface, in pixels
Returns:
a RefPtr to the newly created surface.
Examples:
image-surface.cc, toy-text.cc, and user-font.cc.
static RefPtr<ImageSurface> Cairo::ImageSurface::create ( unsigned char *  data,
Format  format,
int  width,
int  height,
int  stride 
) [static]

Creates an image surface for the provided pixel data.

The output buffer must be kept around until the surface is destroyed or finish() is called on the surface. The initial contents of buffer will be used as the initial image contents; you must explicitly clear the buffer, using, for example, Context::rectangle() and Context::fill() if you want it cleared.

Note that the stride may be larger than width* bytes_per_pixel to provide proper alignment for each pixel and row. This alignment is required to allow high-performance rendering within cairo. The correct way to obtain a legal stride value is to call format_stride_for_width() with the desired format and maximum image width value, and the use the resulting stride value to allocate the data and to create the image surface. See format_stride_for_width() for example code.

Parameters:
dataa pointer to a buffer supplied by the application in which to write contents. This pointer must be suitably aligned for any kind of variable, (for example, a pointer returned by malloc).
formatthe format of pixels in the buffer
widththe width of the image to be stored in the buffer
heightthe height of the image to be stored in the buffer
stridethe number of bytes between the start of rows in the buffer as allocated. This value should always be computed by cairo_format_stride_for_width() before allocating the data buffer.
Returns:
a RefPtr to the newly created surface.
static RefPtr<ImageSurface> Cairo::ImageSurface::create_from_png ( std::string  filename) [static]

Creates a new image surface and initializes the contents to the given PNG file.

Note:
For this function to be available, cairo must have been compiled with PNG support.
Parameters:
filenamename of PNG file to load
Returns:
a RefPtr to the new cairo_surface_t initialized with the contents of the PNG image file.
static RefPtr<ImageSurface> Cairo::ImageSurface::create_from_png ( cairo_read_func_t  read_func,
void *  closure 
) [static]
Deprecated:
Use create_from_png_stream instead
static RefPtr<ImageSurface> Cairo::ImageSurface::create_from_png_stream ( const SlotReadFunc read_func) [static]

Creates a new image surface from PNG data read incrementally via the read_func function.

Note:
For this function to be available, cairo must have been compiled with PNG support.
Parameters:
read_funcfunction called to read the data of the file
Returns:
a RefPtr to the new cairo_surface_t initialized with the contents of the PNG image file.
static int Cairo::ImageSurface::format_stride_for_width ( Cairo::Format  format,
int  width 
) [static]

This function provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo.

Typical usage will be of the form:

 int stride;
 unsigned char *data;
 Cairo::RefPtr<Cairo::ImageSurface> surface;

 stride = Cairo::ImageSurface::format_stride_for_width (format, width);
 data = malloc (stride * height);
 surface = Cairo::ImageSurface::create (data, format, width, height);
Parameters:
formatA Cairo::Format value
widthThe desired width of an image surface to be created.
Returns:
the appropriate stride to use given the desired format and width, or -1 if either the format is invalid or the width too large.
Since:
1.6
const unsigned char* Cairo::ImageSurface::get_data ( ) const
unsigned char* Cairo::ImageSurface::get_data ( )

Get a pointer to the data of the image surface, for direct inspection or modification.

Return value: a pointer to the image data of this surface or NULL if is not an image surface.

Format Cairo::ImageSurface::get_format ( ) const

gets the format of the surface

int Cairo::ImageSurface::get_height ( ) const

Gets the height of the ImageSurface in pixels.

int Cairo::ImageSurface::get_stride ( ) const

Return value: the stride of the image surface in bytes (or 0 if is not an image surface).

The stride is the distance in bytes from the beginning of one row of the image data to the beginning of the next row.

int Cairo::ImageSurface::get_width ( ) const

Gets the width of the ImageSurface in pixels.


The documentation for this class was generated from the following file:
  • cairomm/surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x69.html0000644000175000017500000000005011561716354023561 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x69.html0000644000175000017500000001077111561716354024003 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- i -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FtFontFace__inherit__graph.png0000644000175000017500000000005011561716354030427 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FtFontFace__inherit__graph.png0000644000175000017500000000701211561716354030643 0ustar00murraycmurrayc00000000000000‰PNG  IHDRˆ{ Þ_²bKGDÿÿÿ ½§“ ¿IDATxœí{LS×À¿·”7*Œ§+(¯–m &¨`Ã0£sXÙ†Q³1‰:Á‰¦f„ÄÎeŒhpѸͱGfd¶âTœ/& L¬<yH!òømJ÷÷ÇuMGèàÀÎç¯Ëé¹ßó=÷ùçp[z’$ƒ´…N£,Q°DÁb‹Aºñ— ‚˜Ÿ<þƒ_O#>þøãµkך/ TVVž8qÂxéÅDDD°Ùl3¥„˜n¬Pà9Q°DÁb‹A,Q¦_•™‚B¡àr¹ÀÅÅ%!!ÁÏÏÏPM‘HôÍ7ßdeeÍ¥¹¯¿þz``@»dýúõ±±±(D3f1½½½kÖ¬ÉÏÏ·³³«¯¯ˆˆØ¿¿¡Ê‰äܹssl±   ´´´G ‰D2£)))æŠö¯@ŠŠŠŒ×a³Ù7nT(Ô>´±± …ÆÏš L&³°°p.<==kjjÌm¦M{åç:bx<ÞÎ;éôgwE&“yîܹÞÞ^(--ݼyósÏ=·~ýúóçÏ@ÿ[o½EÏår=<<ššš„BáÁƒW®\¹wïÞ¦¦&*T^^ÞŽ;t ¡dhh(..îÊ•+ÁÁÁ #''’’’’’’ÊËËDÓM***žþù;v477S…mmmqqqŽŽŽÑÑÑW¯^ÍuÔŸ7˜nÄ\½z•F£ 꾤V«ýýýÏž=+‰¸\®³³³T*íèè°··'I²»»ÛÎÎ.66öüùó #;;»££ƒÃá¬X±brr’$É_ýµ  €Š¦}Ìd2?øàƒÂ¿¹páU®¤··×ÊÊ*11±«««ººÚÚÚº±±Q$¹»»ß½{—jEo4½É«T*‡ÓÓÓsàÀ-[¶P톅…eggwww÷ÝwË—/¯««3~UM1sóóÏ?»¹¹é}irrR PÇ­­­–––mmmÚbàÖ­[$IÖÖÖzzzjN|ùå—oß¾m¤Q&“òößìÚµËPjàVTTP…‘‘‘/^$uneºÑô&ÿçŸR…R©ô‹/¾P(Ož>>îîîn$s™ë³nÝ:;;»ëׯkJH’LMM¼råJZZÚ¡C‡Z[[ÿúë/[[Û)çaee,«¥¥ESÞÒÒ4ÓLŒ¡ÑfÜM½ÉûûûkÖrÀår¥RiPP“ÉìÔâË/¿œisºÌUŒ­­mfffAAA}}=Œ $''Ëd²€€€¸¸8 ‹K—.ŒŒ¨Õj½Abcc;;;ÿøã¨¯¯¯¬¬¤<¸yó&UGûxFA a( ½ÉoÚ´©ªªª±±nܸ‘““coo¿víÚ§OŸr¹\ ¤.Å\1~§–Ë“““™™™t:ÝÏÏÏÑÑ1&&¦¸¸˜$ÉññqÿW_}5&&æàÁƒL&3<<\{ޱ°°ÐùñÇýýýY,–———f’OOO×=6´ÀÕ BÍ1š ÑÑÑÔ~ÿþ}CÑô&O’ä™3g|||BBB<==y<U™Ëå¹¹¹:tÈøå"çgò×066VYYùôéÓ)åµµµ£££$Iö÷÷———«T*½K8’$ÕjuMMR©4¥9C˜D"‘üþûï"‘Èxµ)ÉS…J¥R è6Q]]=66fJ’ó*c:óñ&æ_‹A,Q°DÁb‹A,Q°DY:bêë»z: ³AF?®IDpp°««ë¼%4kúú\ ‚puí[èD¦§¿¿¿¡¡Áø•Ÿæý˜Eô©å¶¶ç @¾Ð‰L““S@@€ñ:ÓŒ˜Å½{„„Spùòþ5k|:3°DæO`iiaiiÁã=Xè\ÌÃR£P¨._®Q(T …ª¸¸Z¡P-tFf`)ˆ)+k{6µŒÉËÊš6³°Ä\ºô€NÖ:V\¼îf‹^ŒT*ÿí·¥òÙíK©Týö[ƒTºÖfÆYôbnßnÔX¡P(Twî4-T>æbÑ‹áñ4Ú?þµš O°Pù˜‹Å-F$’òù-Jå?>ˆ¤R©ËÊšE"éBee·˜’’z½Ÿ#I¸~ÝîZ8·.W@zž\$p¹‹ûn¶ˆÅô÷K‚•JµZ}ÿ~GÿÈüge.±˜k×êÔjƒúÔj²¤¤n>ó1/Kä!&¤¦þgÏî\èDÌÃ"1K,Q°DÁb‹A,Q°DÁb‹A,Q°DÁb‹A,Q°DÁb‹A,Q°DÁb‹A,Q°DÁb‹A,Q°DÁb‹A,Q°DÁb‹A,Q°DùÇÿ`a¤*âXX¬• g‹¶‹©_½Èf³g±ÛfŽ455]¼xQ»dª˜   ˜˜˜ùËc<Ç ƒ(X ¢`1ˆ‚Å ÊlvŽU*•|>¿¥¥ÅÉÉ)**jåÊ•†jŽŽŽ–””¼óÎ;sÈ®]»&‰´KX,VHHÈL똷Å›˜¡¡¡={öüòË/666ííí{÷î-((0TY*•–””Ì-CàñxÕÕÕÿÓB*•@^^µÍ¥‘:¦cÞhsgÆ#櫯¾rvvæp8Ծũ©©l6[ïÃnnn?ýôÓܳŒóÍ7§VUU%$$¯c:æ6wf6bÄb1ŸÏ×ì&ííí••5<< ÕÕÕŸ|òÉ–-[>úè£ÒÒR‰D‡¦NÌÌÌäóù[·níêêêíí=}ú4›Í>yòdWWêÂ… Ç×=ÖKnn®X,ÎÍÍ5¾®nC###ï¿ÿ~RRRaa¡éÑt;©©©o¿ýöñãÇŸ?<<ÜÛÛÛÇÇçÌ™3T¡\.ŸEs3›ü©_ ' ©&/]º$‹7lØ011Á`0BCCi4Zyy¹L&3ôm›!!!}}}ÔM\(666R7®ÖÖÖû÷ïSu´`ü = 54»hz;ÑÜÜÜÙÙ UUU………666L&sppÏç€L&Û¹s'u¹fÄŒ—ËÛ·o—Ëå»wïvww‹Å«V­ÊÊʲ¶¶ŽŒŒüþûïwïÞmoo¿zõjooïÏ>ûìÓO?ÕÓ$žžžž——G§Óe2YJJʲeËàÖ­[MMM¯½öÚ”cC¸»»Ÿ8q"==Ýßß_ßô5D- gMoOŸ>ššzøða‘H”––Aìß¿ÿ‡~(,,ݰaô_é2õÌœœSÞ™˜˜ …®®®Sîžííí¶¶¶b±¸»»›ÅbŽŽê],$ÙÞÞîëëkè.?-2™¬¥¥eõêÕFª™Ø‰Ñ¦t088ÔjõãÇW­Z5¥‰¶¶¶_|ÑÆÆfÚ¾”••åææþÃÅìÄ`Ì‹®üQ°DÁb‹A,Q°DÁb‹A,Q¦þåïëëëää´€ ý7‰DB¡Ðà‡ÊÙlö¼§„yÆ”w¤–ÎVXK <Ç ƒ(X ¢`1ˆ‚Å Êÿª‘¬/¡ˆOIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1PsSurface-members.html0000644000175000017500000000005011561716354026752 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1PsSurface-members.html0000644000175000017500000003255611561716354027201 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::PsSurface Member List

This is the complete list of members for Cairo::PsSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(std::string filename, double width_in_points, double height_in_points)Cairo::PsSurface [static]
create(cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)Cairo::PsSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points)Cairo::PsSurface [static]
dsc_begin_page_setup()Cairo::PsSurface
dsc_begin_setup()Cairo::PsSurface
dsc_comment(std::string comment)Cairo::PsSurface
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_eps() const Cairo::PsSurface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_levels()Cairo::PsSurface [static]
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
has_show_text_glyphs() const Cairo::Surface
level_to_string(PsLevel level)Cairo::PsSurface [static]
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
PsSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::PsSurface [explicit]
restrict_to_level(PsLevel level)Cairo::PsSurface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_eps(bool eps)Cairo::PsSurface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
set_size(double width_in_points, double height_in_points)Cairo::PsSurface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~PsSurface()Cairo::PsSurface [virtual]
~Surface()Cairo::Surface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ToyFontFace__inherit__graph.png0000644000175000017500000000005011561716354030631 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ToyFontFace__inherit__graph.png0000644000175000017500000000745611561716354031061 0ustar00murraycmurrayc00000000000000‰PNG  IHDR“{ÿ%­bKGDÿÿÿ ½§“ãIDATxœíkPS×ÞÆÿ A.¢@©("×rOÐ"Z¨€˜)­´¶8ê´N/Ša¨õ­ã©m©SK;2¶¥iëEŒ =€ MQh1Üä&Œ(Er$ûý°OsÒÜdGbÜéú}Z¬¬ý¬gåaíµ²“Ù›‚a HÕØz‚’#+(9²‚’#+(9Ò‚ÅbÛ¯ÉRXXH( ÑBCCÓÒÒ aýŸL||<ÑC'çââ‚fÞ“ZçÈ Jެ äÈ Jެ äÈ á½å<™››ãp8<ÏÑÑ166ÖÇÇG[K>Ÿÿí·ßfff>Jwß|óÍèè¨rMXX“É|Ô „AæÜÈÈÈsÏ=wüøqkkë¶¶¶ÐÐн{÷jk, óóó±ÇÜÜÜêêêa%„B!!…¤¤¤þþþ…R{½†Âb±æÓlË–-sssøŸ7nܰ´´ìëë#Ô!èt:›Í~ggçæææ…R# ¿†²ðsntt´¨¨h÷îÝ4ÚOÅt:=??ddª««·mÛöÔSO………Àýû÷_zé%üÀ˜˜‡³råÊÎÎξ¾¾´´´U«V½óÎ;¸TNNή]»ÔËÚPyðàATTTiii`` ««ëáÇ !!att4!!¡¶¶V‡šºy¨««[·nÝÓO?½k×®[·ná•===QQQvvv‘‘‘eeeú¼…PÎó™seeeT*ullLý%¹\îëë{êÔ)>ŸÏáp¦¦¦úûû/^ŒaØÐеµ5“É,((˜™™quuÍÊÊêïïÏÎζµµÅ0ìÂ… ¹¹¹¸šr™N§¿ùæ›ì¿8{ö,^¯.222²hÑ¢¸¸¸ÁÁÁ¦¦& ‹ŽŽ>ŸïääTSSƒ÷¢QM£y™Læèè˜=<<¼ÿþíÛ·ãý®[·.++khhèûï¿_ºtikk«î7 ˆÏ¹…OîçŸ^±b…Æ—fggy<^îîî677ïééQN*++1 kiiqvvV¸f͚˗/ëè”N§íø‹={öhÁ§~]]^~þüyLíl©®¦Ñüµk×üýýñÊ©©©Ï>ûlnnîÎ;®®®2™ ¯‹‹;zô¨î7Mä~o¹|ùò{÷îݼyÓßß_QÉårÇÇÇccc[ZZ>üðÞžžeË–©K¥R### ªªjÆ ŠúˆˆˆË—/GEEéèwß¾}{öìQ®Ñ(Â`0 $$¯433›§š¹¹¹ºùŠŠŠ°°0¼lmm‘‘åååcccžžžxýôô´“““çú±ðë܆ ¬­­ùåE †a)))ccc¥¥¥ûöí;pà@ww÷ï¿ÿnee¥r,…BY´h0Œ®®.E}WWW@@Q':D¨TÂ×hÞ××W±#‡355@§Ó”øüóωv÷P>9++«ŒŒŒÜÜܶ¶6˜žžÎÍÍMLL‹Å~~~QQQfffÅÅÅ"‘H.—ka2™W¯^€¶¶¶úúz|ÓØØXQQ·Q.ц638Íoݺµ¡¡¡££ÊËË>¼xñâçŸþîÝ»D"‘¿¿?þV,0„έóüT0;;›‘‘A£Ñ|||ììì6mÚTRR‚aØôô´¯¯ïÚµk7mÚ”––F§ÓCBB”×9333…ÈO?ýäëëË`0ÜÜÜ;‘ÔÔÔõ²¶}¼º¾Î)DFFâë\xxxHHÈõë×µ©i4aX^^ž‡‡GPP³³sQQÞ˜Ãá¬X±âÀ}ÇàIØ¡(˜œœ¬¯¯¿{÷®J}KKËÄĆa÷ï߯­­•Éd7¢†Éåòææf©TJȤ~"B¡ðÊ•+|>_w3óx¥T*åñxê]455MNNÎǤÉQ0"¿”Å¿º=wîÜÂÏý6 ¥°°Ð7ãèŠ3YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘“Mð‚‚ßí€þ–ç·ß~‹ŽŽ6„•…ezÚjxØ…Íþ?c1Ä’ 5G °]D£-_²dÖØ^‹Årqq!t±ë–dA.ÇV¯þh||2)iã¿ÿkl;Á4×¹k×zÆÇ'àüyžTªë[7òbšÉ7™››€H4}õj·±íLN"‘–•5ÏÍÉ€F£–”4Û‘A0Áä®\¹9=ýß]ÉÜœìâÅÖ™™9ãZ2&˜\qq£ò/ºff¤UUFôc L-9‘h¦²ò†T*SÔ˜™Q‹‹Mð„ijÉUVÞÉþ¶™”JeÕÕ"Ñ´±,SK®¨ˆG¡PT*e2ùþÓn?†Ã¤’›¼zµ[eÎ…ÃáÁ!1©ä.^lPp —ËëëoŽN<~K†Ã¤’+)áÉdš/æÉåpéRëcöcPL'¹û÷…ƒÚ.Ãb¥¥ÍÕ1Í+ÎPZÚò¯ýx÷îÆ6b(LgÎýÓ@É‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”YAÉ‘”iQ~¼Raa¡±í,Tª…¹¹£±],$*ÏÂÒp7`üq¿ˆ'‡ÎÎÎóçÏ«TjHnÓ¦MÃâÑ@ëYAÉ‘”YAÉ‘”Y!üt©TÊår»ººìíí#""V­Z¥­åÄÄÄ¥K—^}õU}BUUþ(ieV­ZÅd2ç©pñâE>Ÿ¯\Ã`0‚‚‚ôó³°jz£Or<ÈÊÊ¢R©!!!½½½gΜ‰ŠŠÚ·oŸÆÆSSS˜œP(üóÏ? µµÖ¬YK—.¿BQQ‘òãS¦¦¦yÈÉÉÙ¹s§““Ó‚¨-ú$÷õ×_;88dggã·(HIIa±XøÀTX±bÅéÓ§ÅâË/¿Œrrr --M‘˜˜˜Í›7ëí¡¡¡!6öO‰yDµð:'¸\nLLŒâÎòîîî™™™ãããÐÔÔôÁlß¾ý½÷Þ«®®>ŸðàAüÀŒŒ .—ûÊ+¯ ŽŒŒœ>>77W"‘H$’ææf˜››koo¿páÂÛo¿½råÊýû÷›››õÕWË–-{÷Ýw¥R)¸ººúúúâšÊe¨+xyy•••á¯ÖÔÔØØØØØØà¶··—ÿEMM6©TÚÖÖV^^þÉ'Ÿ=zôÌ™3ƒƒƒééé¶¶¶éééÚÔ4ŽðC‡mܸ1??éÒ¥§NÂ?zô¨ŸŸ›ÍÞ¼ysvvv__Ñ@³¥X,¶··×¸ÌÈd²C‡ùøø€§§§X,S~èƒD"yýõ××­[×ÛÛ+—Ëßzë-HLL¬©©imm Þ°aƒ¢±rY ëׯ}}}žžžUUU;vìP´ïéé …xyÉ’%L&S£‚‡‡‡T*MHHptttttôóópss£P(6664M›šÆ± [[ÛÄÄDHJJ*))‘Éd<àóùIII eË–-õõõuuužžžDƒ œœ½½ýøøøàà ›››¢²µµU$EDDܾ}û»ï¾¶³³S?–B¡<ûì³ÐØØÈ`0õ«W¯æñx*óX7Ú¸\®¥¥eÿÆ âââTV&  ˜[Tªæs’ºFS{CCƒ¢ |›ÖÐÐ  _{í5¼^"‘888Ìàÿë‘èt:ÝÂÂâ?þP$‡aØñãÇãããëêêrss³³³ƒ‚‚¨TêÖ­[UŽ¥P(ø¿­‡‡GEE…¢~hh(**Š m L&3//ÏÌÌ,""ÂÒÒRÜ'!3 qì®®®7nÜP´ár¹!!!îîîyyyx¥D"Ñ£;ÐcÃÿwŠŠŠð³³D")..ÑÑÑ333®®®ÁÁÁT*µ¶¶V,k»ItPPн{÷ÚÛÛ ¯¯¯££?7vww_¿~o£\ž¿Bppðøøxqqñ‹/¾¨{ Ú´¡û†×ÇzëÖ­hhh`³Ù–––t:}llŒËå€X,Þ½{÷cZç`çΉ$99ÙÉÉI xyyeffZXX„‡‡ÿðÃÉÉÉ‹/ööövwwÿøã?úè# ½Òh©©©9994M,'%%-Y²*++;;;ׯ_¯Rž¿F çñxk×®}ÈÈ5)à;duœœœ¾øâ‹ÔÔTm›&c?yòdJJÊÁƒmllø|>þ‘—B¡ìÝ»÷Çd³ÙÑÑÑ~~~º­jäo÷N?wî\BB‚b륛™™™¾¾¾åË—«œ¦{{{W®\iee%††† ÆÄÄ„Æ †a½½½žžžÚ–“‡¢QáÓO?µ··ONNÖ[A±XÜÕÕåíí­Ø¬jDeì —Ëoß¾íåå¥ÒEOO‹‹‹îS:ί¿þzäÈ•I¯çÕ/°´´T¬äÊ<óÌ3xÁÎÎ_«µ]ï P(^^^zPW---µµµŠý7QmX[[Ïçú–úØ€J¥â{N¼½½çiR#&uÅùÞ½{%%%ï¿ÿ¾³³³±½ýç܈ŸŸß—_~il “šsÿ(Prd%GVPrd%GVPrd%GV4|ž;pàÀã÷ÐÊ–pþ–œ‹‹ ‹Åz\~PÿòÒdŸÖiò uެ äÈ Jެ äÈ Jެü?g¢g²ã*jMIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Surface-members.html0000644000175000017500000000005011561716354026447 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Surface-members.html0000644000175000017500000002326411561716354026672 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Surface Member List

This is the complete list of members for Cairo::Surface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~Surface()Cairo::Surface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x64.html0000644000175000017500000000005011561716354024567 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x64.html0000644000175000017500000001126611561716354025011 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- d -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x62.html0000644000175000017500000000005011561716354024565 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x62.html0000644000175000017500000000744411561716354025012 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- b -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/hierarchy.html0000644000175000017500000000005011561716354022741 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/hierarchy.html0000644000175000017500000001211311561716354023153 0ustar00murraycmurrayc00000000000000 cairomm: Class Hierarchy

Class Hierarchy

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/namespaceCairo.html0000644000175000017500000000005011561716354023675 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/namespaceCairo.html0000644000175000017500000027357111561716354024130 0ustar00murraycmurrayc00000000000000 cairomm: Cairo Namespace Reference

Cairo Namespace Reference

Classes

class  Context
 Context is the main class used to draw in cairomm. More...
class  Device
 Devices are the abstraction Cairo employs for the rendering system used by a cairo_surface_t. More...
class  logic_error
class  FontFace
 A FontFace represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size. More...
class  ToyFontFace
 A simple font face used for the cairo 'toy' font API. More...
class  UserFontFace
 Font support with font data provided by the user. More...
class  FtFontFace
class  FontOptions
 How a font should be rendered. More...
class  Matrix
 A Transformation matrix. More...
class  Path
 A data structure for holding a path. More...
struct  ColorStop
class  Pattern
 This is a reference-counted object that should be used via Cairo::RefPtr. More...
class  SolidPattern
class  SurfacePattern
class  Gradient
class  LinearGradient
class  RadialGradient
class  QuartzFontFace
 Font support for Quartz (CGFont) fonts on OS X. More...
class  QuartzSurface
 A QuartzSurface provides a way to render within Apple Mac OS X. More...
class  RefPtr
 RefPtr<> is a reference-counting shared smartpointer. More...
class  Region
 A simple graphical data type representing an area of integer-aligned rectangles. More...
class  ScaledFont
 A ScaledFont is a font scaled to a particular size and device resolution. More...
class  FtScaledFont
class  Surface
 A cairo surface represents an image, either as the destination of a drawing operation or as source when drawing onto another surface. More...
class  ImageSurface
 Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. More...
class  PdfSurface
 A PdfSurface provides a way to render PDF documents from cairo. More...
class  PsSurface
 A PsSurface provides a way to render PostScript documents from cairo. More...
class  SvgSurface
 A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo. More...
class  GlitzSurface
 A GlitzSurface provides a way to render to the X Window System using Glitz. More...
class  Win32FontFace
 Font support for Microsoft Windows. More...
class  Win32ScaledFont
 Scaled Font implementation for Microsoft Windows fonts. More...
class  Win32Surface
 A Win32Surface provides a way to render within Microsoft Windows. More...
class  Win32PrintingSurface
 A multi-page vector surface type for printing on Microsoft Windows. More...
class  XlibSurface
 An XlibSurface provides a way to render to the X Window System using XLib. More...

Typedefs

typedef cairo_rectangle_t Rectangle
 See the cairo_rectangle_t reference in the cairo manual for more information.
typedef cairo_rectangle_int_t RectangleInt
 See the cairo_rectangle_int_t reference in the cairo manual for more information.
typedef cairo_font_extents_t FontExtents
 See the cairo_font_extents_t reference in the cairo manual for more information.
typedef cairo_text_extents_t TextExtents
 See the cairo_text_extents_t reference in the cairo manual for more information.
typedef cairo_text_cluster_t TextCluster
 See the cairo_text_cluster_t reference in the cairo manual for more information.
typedef cairo_glyph_t Glyph
 See the cairo_glyph_t reference in the cairo manual for more information.

Enumerations

enum  Operator {
  OPERATOR_CLEAR = CAIRO_OPERATOR_CLEAR,
  OPERATOR_SOURCE = CAIRO_OPERATOR_SOURCE,
  OPERATOR_OVER = CAIRO_OPERATOR_OVER,
  OPERATOR_IN = CAIRO_OPERATOR_IN,
  OPERATOR_OUT = CAIRO_OPERATOR_OUT,
  OPERATOR_ATOP = CAIRO_OPERATOR_ATOP,
  OPERATOR_DEST = CAIRO_OPERATOR_DEST,
  OPERATOR_DEST_OVER = CAIRO_OPERATOR_DEST_OVER,
  OPERATOR_DEST_IN = CAIRO_OPERATOR_DEST_IN,
  OPERATOR_DEST_OUT = CAIRO_OPERATOR_DEST_OUT,
  OPERATOR_DEST_ATOP = CAIRO_OPERATOR_DEST_ATOP,
  OPERATOR_XOR = CAIRO_OPERATOR_XOR,
  OPERATOR_ADD = CAIRO_OPERATOR_ADD,
  OPERATOR_SATURATE = CAIRO_OPERATOR_SATURATE
}
enum  Antialias {
  ANTIALIAS_DEFAULT = CAIRO_ANTIALIAS_DEFAULT,
  ANTIALIAS_NONE = CAIRO_ANTIALIAS_NONE,
  ANTIALIAS_GRAY = CAIRO_ANTIALIAS_GRAY,
  ANTIALIAS_SUBPIXEL = CAIRO_ANTIALIAS_SUBPIXEL
}
enum  FillRule {
  FILL_RULE_WINDING = CAIRO_FILL_RULE_WINDING,
  FILL_RULE_EVEN_ODD = CAIRO_FILL_RULE_EVEN_ODD
}
enum  LineCap {
  LINE_CAP_BUTT = CAIRO_LINE_CAP_BUTT,
  LINE_CAP_ROUND = CAIRO_LINE_CAP_ROUND,
  LINE_CAP_SQUARE = CAIRO_LINE_CAP_SQUARE
}
enum  LineJoin {
  LINE_JOIN_MITER = CAIRO_LINE_JOIN_MITER,
  LINE_JOIN_ROUND = CAIRO_LINE_JOIN_ROUND,
  LINE_JOIN_BEVEL = CAIRO_LINE_JOIN_BEVEL
}
enum  FontSlant {
  FONT_SLANT_NORMAL = CAIRO_FONT_SLANT_NORMAL,
  FONT_SLANT_ITALIC = CAIRO_FONT_SLANT_ITALIC,
  FONT_SLANT_OBLIQUE = CAIRO_FONT_SLANT_OBLIQUE
}
enum  FontWeight {
  FONT_WEIGHT_NORMAL = CAIRO_FONT_WEIGHT_NORMAL,
  FONT_WEIGHT_BOLD = CAIRO_FONT_WEIGHT_BOLD
}
enum  Content {
  CONTENT_COLOR = CAIRO_CONTENT_COLOR,
  CONTENT_ALPHA = CAIRO_CONTENT_ALPHA,
  CONTENT_COLOR_ALPHA = CAIRO_CONTENT_COLOR_ALPHA
}
enum  DeviceType {
  DEVICE_TYPE_DRM = CAIRO_DEVICE_TYPE_DRM,
  DEVICE_TYPE_GL = CAIRO_DEVICE_TYPE_GL,
  DEVICE_TYPE_SCRIPT = CAIRO_DEVICE_TYPE_SCRIPT,
  DEVICE_TYPE_XCB = CAIRO_DEVICE_TYPE_XCB,
  DEVICE_TYPE_XLIB = CAIRO_DEVICE_TYPE_XLIB,
  DEVICE_TYPE_XML = CAIRO_DEVICE_TYPE_XML
}
enum  Format {
  FORMAT_ARGB32 = CAIRO_FORMAT_ARGB32,
  FORMAT_RGB24 = CAIRO_FORMAT_RGB24,
  FORMAT_A8 = CAIRO_FORMAT_A8,
  FORMAT_A1 = CAIRO_FORMAT_A1,
  FORMAT_RGB16_565 = CAIRO_FORMAT_RGB16_565
}
enum  Extend {
  EXTEND_NONE = CAIRO_EXTEND_NONE,
  EXTEND_REPEAT = CAIRO_EXTEND_REPEAT,
  EXTEND_REFLECT = CAIRO_EXTEND_REFLECT,
  EXTEND_PAD = CAIRO_EXTEND_PAD
}
enum  Filter {
  FILTER_FAST = CAIRO_FILTER_FAST,
  FILTER_GOOD = CAIRO_FILTER_GOOD,
  FILTER_BEST = CAIRO_FILTER_BEST,
  FILTER_NEAREST = CAIRO_FILTER_NEAREST,
  FILTER_BILINEAR = CAIRO_FILTER_BILINEAR,
  FILTER_GAUSSIAN = CAIRO_FILTER_GAUSSIAN
}
enum  SubpixelOrder {
  SUBPIXEL_ORDER_DEFAULT = CAIRO_SUBPIXEL_ORDER_DEFAULT,
  SUBPIXEL_ORDER_RGB = CAIRO_SUBPIXEL_ORDER_RGB,
  SUBPIXEL_ORDER_BGR = CAIRO_SUBPIXEL_ORDER_BGR,
  SUBPIXEL_ORDER_VRGB = CAIRO_SUBPIXEL_ORDER_VRGB,
  SUBPIXEL_ORDER_VBGR = CAIRO_SUBPIXEL_ORDER_VBGR
}
 

The subpixel order specifies the order of color elements within each pixel on the display device when rendering with an antialiasing mode of ANTIALIAS_SUBPIXEL.

More...
enum  HintStyle {
  HINT_STYLE_DEFAULT = CAIRO_HINT_STYLE_DEFAULT,
  HINT_STYLE_NONE = CAIRO_HINT_STYLE_NONE,
  HINT_STYLE_SLIGHT = CAIRO_HINT_STYLE_SLIGHT,
  HINT_STYLE_MEDIUM = CAIRO_HINT_STYLE_MEDIUM,
  HINT_STYLE_FULL = CAIRO_HINT_STYLE_FULL
}
 

Specifies the type of hinting to do on font outlines.

More...
enum  HintMetrics {
  HINT_METRICS_DEFAULT = CAIRO_HINT_METRICS_DEFAULT,
  HINT_METRICS_OFF = CAIRO_HINT_METRICS_OFF,
  HINT_METRICS_ON = CAIRO_HINT_METRICS_ON
}
 

Specifies whether to hint font metrics; hinting font metrics means quantizing them so that they are integer values in device space.

More...
enum  SurfaceType {
  SURFACE_TYPE_IMAGE = CAIRO_SURFACE_TYPE_IMAGE,
  SURFACE_TYPE_PDF = CAIRO_SURFACE_TYPE_PDF,
  SURFACE_TYPE_PS = CAIRO_SURFACE_TYPE_PS,
  SURFACE_TYPE_XLIB = CAIRO_SURFACE_TYPE_XLIB,
  SURFACE_TYPE_XCB = CAIRO_SURFACE_TYPE_XCB,
  SURFACE_TYPE_GLITZ = CAIRO_SURFACE_TYPE_GLITZ,
  SURFACE_TYPE_QUARTZ = CAIRO_SURFACE_TYPE_QUARTZ,
  SURFACE_TYPE_WIN32 = CAIRO_SURFACE_TYPE_WIN32,
  SURFACE_TYPE_BEOS = CAIRO_SURFACE_TYPE_BEOS,
  SURFACE_TYPE_DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB,
  SURFACE_TYPE_SVG = CAIRO_SURFACE_TYPE_SVG,
  SURFACE_TYPE_OS2 = CAIRO_SURFACE_TYPE_OS2,
  SURFACE_TYPE_WIN32_PRINTING = CAIRO_SURFACE_TYPE_WIN32_PRINTING,
  SURFACE_TYPE_QUARTZ_IMAGE = CAIRO_SURFACE_TYPE_QUARTZ_IMAGE,
  SURFACE_TYPE_SCRIPT = CAIRO_SURFACE_TYPE_SCRIPT,
  SURFACE_TYPE_QT = CAIRO_SURFACE_TYPE_QT,
  SURFACE_TYPE_RECORDING = CAIRO_SURFACE_TYPE_RECORDING,
  SURFACE_TYPE_VG = CAIRO_SURFACE_TYPE_VG,
  SURFACE_TYPE_GL = CAIRO_SURFACE_TYPE_GL,
  SURFACE_TYPE_DRM = CAIRO_SURFACE_TYPE_DRM,
  SURFACE_TYPE_TEE = CAIRO_SURFACE_TYPE_TEE,
  SURFACE_TYPE_XML = CAIRO_SURFACE_TYPE_XML,
  SURFACE_TYPE_SKIA = CAIRO_SURFACE_TYPE_SKIA,
  SURFACE_TYPE_SUBSURFACE = CAIRO_SURFACE_TYPE_SUBSURFACE
}
enum  PatternType {
  PATTERN_TYPE_SOLID = CAIRO_PATTERN_TYPE_SOLID,
  PATTERN_TYPE_SURFACE = CAIRO_PATTERN_TYPE_SURFACE,
  PATTERN_TYPE_LINEAR = CAIRO_PATTERN_TYPE_LINEAR,
  PATTERN_TYPE_RADIAL = CAIRO_PATTERN_TYPE_RADIAL
}
enum  FontType {
  FONT_TYPE_TOY = CAIRO_FONT_TYPE_TOY,
  FONT_TYPE_FT = CAIRO_FONT_TYPE_FT,
  FONT_TYPE_WIN32 = CAIRO_FONT_TYPE_WIN32,
  FONT_TYPE_ATSUI = CAIRO_FONT_TYPE_QUARTZ,
  FONT_TYPE_QUARTZ = CAIRO_FONT_TYPE_QUARTZ,
  FONT_TYPE_USER = CAIRO_FONT_TYPE_USER
}
enum  TextClusterFlags { TEXT_CLUSTER_FLAG_BACKWARD = CAIRO_TEXT_CLUSTER_FLAG_BACKWARD }
 

Specifies properties of a text cluster mapping.

More...
enum  RegionOverlap {
  REGION_OVERLAP_IN = CAIRO_REGION_OVERLAP_IN,
  REGION_OVERLAP_OUT = CAIRO_REGION_OVERLAP_OUT,
  REGION_OVERLAP_PART = CAIRO_REGION_OVERLAP_PART
}
enum  PdfVersion {
  PDF_VERSION_1_4 = CAIRO_PDF_VERSION_1_4,
  PDF_VERSION_1_5 = CAIRO_PDF_VERSION_1_5
}
enum  PsLevel {
  PS_LEVEL_2 = CAIRO_PS_LEVEL_2,
  PS_LEVEL_3 = CAIRO_PS_LEVEL_3
}
 

describes the language level of the PostScript Language Reference that a generated PostScript file will conform to.

More...
enum  SvgVersion {
  SVG_VERSION_1_1 = CAIRO_SVG_VERSION_1_1,
  SVG_VERSION_1_2 = CAIRO_SVG_VERSION_1_2
}

Typedef Documentation

typedef cairo_font_extents_t Cairo::FontExtents

See the cairo_font_extents_t reference in the cairo manual for more information.

typedef cairo_glyph_t Cairo::Glyph

See the cairo_glyph_t reference in the cairo manual for more information.

typedef cairo_rectangle_t Cairo::Rectangle

See the cairo_rectangle_t reference in the cairo manual for more information.

typedef cairo_rectangle_int_t Cairo::RectangleInt

See the cairo_rectangle_int_t reference in the cairo manual for more information.

typedef cairo_text_cluster_t Cairo::TextCluster

See the cairo_text_cluster_t reference in the cairo manual for more information.

typedef cairo_text_extents_t Cairo::TextExtents

See the cairo_text_extents_t reference in the cairo manual for more information.


Enumeration Type Documentation

Enumerator:
ANTIALIAS_DEFAULT 
ANTIALIAS_NONE 
ANTIALIAS_GRAY 
ANTIALIAS_SUBPIXEL 
Enumerator:
CONTENT_COLOR 
CONTENT_ALPHA 
CONTENT_COLOR_ALPHA 
Enumerator:
DEVICE_TYPE_DRM 
DEVICE_TYPE_GL 
DEVICE_TYPE_SCRIPT 
DEVICE_TYPE_XCB 
DEVICE_TYPE_XLIB 
DEVICE_TYPE_XML 
Enumerator:
EXTEND_NONE 
EXTEND_REPEAT 
EXTEND_REFLECT 
EXTEND_PAD 
Enumerator:
FILL_RULE_WINDING 
FILL_RULE_EVEN_ODD 
Enumerator:
FILTER_FAST 
FILTER_GOOD 
FILTER_BEST 
FILTER_NEAREST 
FILTER_BILINEAR 
FILTER_GAUSSIAN 
Enumerator:
FONT_SLANT_NORMAL 
FONT_SLANT_ITALIC 
FONT_SLANT_OBLIQUE 
Enumerator:
FONT_TYPE_TOY 
FONT_TYPE_FT 
FONT_TYPE_WIN32 
FONT_TYPE_ATSUI 
Deprecated:
Use FONT_TYPE_QUARTZ instead.
FONT_TYPE_QUARTZ 
FONT_TYPE_USER 
Enumerator:
FONT_WEIGHT_NORMAL 
FONT_WEIGHT_BOLD 
Enumerator:
FORMAT_ARGB32 
FORMAT_RGB24 
FORMAT_A8 
FORMAT_A1 
FORMAT_RGB16_565 

Specifies whether to hint font metrics; hinting font metrics means quantizing them so that they are integer values in device space.

Doing this improves the consistency of letter and line spacing, however it also means that text will be laid out differently at different zoom factors.

Enumerator:
HINT_METRICS_DEFAULT 

Hint metrics in the default manner for the font backend and target device.

HINT_METRICS_OFF 

Do not hint font metrics.

HINT_METRICS_ON 

Hint font metrics.

Specifies the type of hinting to do on font outlines.

Hinting is the process of fitting outlines to the pixel grid in order to improve the appearance of the result. Since hinting outlines involves distorting them, it also reduces the faithfulness to the original outline shapes. Not all of the outline hinting styles are supported by all font backends.

New entries may be added in future versions.

Enumerator:
HINT_STYLE_DEFAULT 

Use the default hint style for font backend and target device.

HINT_STYLE_NONE 

Do not hint outlines.

HINT_STYLE_SLIGHT 

Hint outlines slightly to improve contrast while retaining good fidelity to the original shapes.

HINT_STYLE_MEDIUM 

Hint outlines with medium strength giving a compromise between fidelity to the original shapes and contrast.

HINT_STYLE_FULL 

Hint outlines to maximize contrast.

Enumerator:
LINE_CAP_BUTT 
LINE_CAP_ROUND 
LINE_CAP_SQUARE 
Enumerator:
LINE_JOIN_MITER 
LINE_JOIN_ROUND 
LINE_JOIN_BEVEL 
Enumerator:
OPERATOR_CLEAR 
OPERATOR_SOURCE 
OPERATOR_OVER 
OPERATOR_IN 
OPERATOR_OUT 
OPERATOR_ATOP 
OPERATOR_DEST 
OPERATOR_DEST_OVER 
OPERATOR_DEST_IN 
OPERATOR_DEST_OUT 
OPERATOR_DEST_ATOP 
OPERATOR_XOR 
OPERATOR_ADD 
OPERATOR_SATURATE 
Enumerator:
PATTERN_TYPE_SOLID 
PATTERN_TYPE_SURFACE 
PATTERN_TYPE_LINEAR 
PATTERN_TYPE_RADIAL 
Enumerator:
PDF_VERSION_1_4 
PDF_VERSION_1_5 

describes the language level of the PostScript Language Reference that a generated PostScript file will conform to.

Enumerator:
PS_LEVEL_2 
PS_LEVEL_3 
Enumerator:
REGION_OVERLAP_IN 

completely inside region

REGION_OVERLAP_OUT 

completely outside region

REGION_OVERLAP_PART 

partly inside region

The subpixel order specifies the order of color elements within each pixel on the display device when rendering with an antialiasing mode of ANTIALIAS_SUBPIXEL.

Enumerator:
SUBPIXEL_ORDER_DEFAULT 

Use the default subpixel order for for the target device.

SUBPIXEL_ORDER_RGB 

Subpixel elements are arranged horizontally with red at the left.

SUBPIXEL_ORDER_BGR 

Subpixel elements are arranged horizontally with blue at the left.

SUBPIXEL_ORDER_VRGB 

Subpixel elements are arranged vertically with red at the top.

SUBPIXEL_ORDER_VBGR 

Subpixel elements are arranged vertically with blue at the top.

Enumerator:
SURFACE_TYPE_IMAGE 
SURFACE_TYPE_PDF 
SURFACE_TYPE_PS 
SURFACE_TYPE_XLIB 
SURFACE_TYPE_XCB 
SURFACE_TYPE_GLITZ 
SURFACE_TYPE_QUARTZ 
SURFACE_TYPE_WIN32 
SURFACE_TYPE_BEOS 
SURFACE_TYPE_DIRECTFB 
SURFACE_TYPE_SVG 
SURFACE_TYPE_OS2 
SURFACE_TYPE_WIN32_PRINTING 
SURFACE_TYPE_QUARTZ_IMAGE 
SURFACE_TYPE_SCRIPT 
Since:
: 1.10
SURFACE_TYPE_QT 
Since:
: 1.10
SURFACE_TYPE_RECORDING 
Since:
: 1.10
SURFACE_TYPE_VG 
Since:
: 1.10
SURFACE_TYPE_GL 
Since:
: 1.10
SURFACE_TYPE_DRM 
Since:
: 1.10
SURFACE_TYPE_TEE 
Since:
: 1.10
SURFACE_TYPE_XML 
Since:
: 1.10
SURFACE_TYPE_SKIA 
Since:
: 1.10
SURFACE_TYPE_SUBSURFACE 
Since:
: 1.10
Enumerator:
SVG_VERSION_1_1 
SVG_VERSION_1_2 

Specifies properties of a text cluster mapping.

Since:
1.8
Enumerator:
TEXT_CLUSTER_FLAG_BACKWARD 

The clusters in the cluster array map to glyphs in the glyph array from end to start.

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SvgSurface-members.html0000644000175000017500000000005011561716354027127 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SvgSurface-members.html0000644000175000017500000002777611561716354027366 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::SvgSurface Member List

This is the complete list of members for Cairo::SvgSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(std::string filename, double width_in_points, double height_in_points)Cairo::SvgSurface [static]
create(cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)Cairo::SvgSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points)Cairo::SvgSurface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
get_versions()Cairo::SvgSurface [static]
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
restrict_to_version(SvgVersion version)Cairo::SvgSurface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
SvgSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::SvgSurface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
version_to_string(SvgVersion version)Cairo::SvgSurface [static]
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~Surface()Cairo::Surface [virtual]
~SvgSurface()Cairo::SvgSurface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Device_1_1Lock.html0000644000175000017500000000005011561716354026077 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Device_1_1Lock.html0000644000175000017500000001634611561716354026325 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Device::Lock Class Reference

Cairo::Device::Lock Class Reference

A convenience class for acquiring a Device object in an exception-safe manner. More...

List of all members.

Public Member Functions

 Lock (const RefPtr< Device >& device)
 Create a new Device lock for device.
 Lock (const Lock& other)
 ~Lock ()

Detailed Description

A convenience class for acquiring a Device object in an exception-safe manner.

The device is automatically acquired when a Lock object is created and released when the Lock object is destroyed. For example:

 void
 my_device_modifying_function (const RefPtr<Device>& device)
 {
   // Ensure the device is properly reset
   device->flush();

   Device::Lock lock(device);
   // Do the custom operations on the device here.
   // But do not call any Cairo functions that might acquire devices.

 } // device is automatically released at the end of the function scope

Constructor & Destructor Documentation

Cairo::Device::Lock::Lock ( const RefPtr< Device >&  device)

Create a new Device lock for device.

Cairo::Device::Lock::Lock ( const Lock other)
Cairo::Device::Lock::~Lock ( )

The documentation for this class was generated from the following file:
  • cairomm/device.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_11.png0000644000175000017500000000005011561716354023727 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_11.png0000644000175000017500000010561311561716354024151 0ustar00murraycmurrayc00000000000000‰PNG  IHDR`Ó–]UÀbKGDÿÿÿ ½§“ IDATxœìw\GÃÇç =Š€tA変ôP¤EÔð(&𠉨Q"&&ö5±¢¢‚‡(‚‡DŠ‚€(õ¤#©G¹¶ï›÷r®p0ßìÎÎÎüönîÇ´Á  „Xa €@ chdP A@ AÁ [D”(++KJJ¶ È?lß¾¯éc`'%døDFF:99 [äøýû…5Ègÿ©ŒcÖ° 42(Ð È @ƒ€@ ƒ  42(Ð |N§‡‡‡ïÛ·ïÔ©S%%%CÄlmm=}úôèsd±X÷ïß?xðàÒÒÒX,ÞÙÙyòäÉdT[[àííýäÉ:>ü›šš.]º”ŸŸÿYúÇ&Ð ¼§®®nþüùgÏž•––ÎËË377www,r{{{ppð(slll´°°ðöö¦R©½½½›7oÖÔÔlmmEÓÿõ×_ûe´uëÖòòò! Ÿ3gNNNŽ¢¢â‰'444¨Tê0Ÿ¹¹b±ãâÇ…@ Ã&""b8eÆÑÑÑÞÞžN§£§ïÞ½“””,++㟰իW[XXtuu±C–.]º{÷nAª««%$$úÅWSSËÉÉ"ASSÓö©Í•+W†)fæÌ™©©©Ã•>R†ù]Œ’qar±DcccTT”‹‹ ÿ÷<]ƒàà຺:À“'OV¬X1eÊ ‹°°0@CCƒƒƒzã²eËH$’ªªjAAAYY™———ººú®]» ФΜ9³aÆ~ÇÕÕÕÑÑÑ;vì‘‘a˸~ýº™™Â1é“‘““Scc£““SJJJRRÒ\6mÚ Óé …­dbb¨¨¨°µµe‡;99½|ù’S9‘H¬ªªÚ¸qc||<×礥¥™™™M:uÆ EEEh …B±³³“——·¶¶Ž‹‹ãÝ2:øí@ñÄpþkÅÅÅa±Øæææ—X,@hmm%‘H T*µ¼¼\FFAêêjiii[[Û°°°ÞÞ^MMM__ßòòòcÇŽÉÉÉÑh4AbbbüýýÑÔØÇáááâââmmm\õ°kìŒZ[[UTTž={F£Ñººº( …BÉËËÓÖÖ>qâz×p8œƒƒCPPgݧ°°PAA}jllL&“9•744hkk'$$ôöör}^&“©¤¤tìØ±šš•+W¢I™™™ùúúVWW_»vMVVöÍ›7£ÿ.F4Èg0œB:mÚ4®—h4ZVVz\RR"&&F¡P8 ðøñcArssÕÔÔØ7¢¿ÃÁr ž3gûtñâÅìÿééé áÖÄprrZ·ngHff¦§§§‘‘ƒY¶l…BA7¶rAf̘‘žž>Øó¦¦¦êéé¡T*õôéÓt:½ªªJSS“Éd¢á«W¯>zôè`Ï‹"ƒ€/kAxŒ²²r}}}aa¡žž;099ùãÇ«V­ÊÍÍõóó£P(ŠŠŠïÅb±ÖÖÖ€¤¤¤… ²Ã---Éd²×uttªªª˜L&‡ÄÄÄÐétƒA †©ùðáÃeeeÏŸ?GOa±Xffffff€üüüÝ»woÙ²%99y°ØÊ9ø¼‰‰‰è±´´´ !!¡¹¹YGG ïééQQQ¦x¾û cñ5ˆ¨ ƒõèQÞíÛé©©”É“e6n´X¿~Áóç‰ÏŸ× [Dp@ƒ€ô‡ÅBâârÏŸ\RRod¤~úôšo¿5•–þçÅ' #DyA ò,òàAî¹sKK¿ùÆäÿûÁØXƒ3‚ "##…%"xà»`0Xwî¼üóÏ¤ÆÆgç…;vب©M¶(ˆð5ˆ‰‚ qqoΟO,+kúþûy{öØii)[d¬ bB“]ùë¯199•k×oÝÚ®®k  b‚ÒÐÐ~øpìýû9––ºd²÷ìÙcbDÈXÄ„ƒÅBBB^œ<¯ ðEHÈV;»A×z„@ AL,òó?ìßùî݇;l==—JJŠ [dL b¢Àd².^|zöl‚‘‘zbâ>ئ€ h‚²²¦½{Ãòòª==—îÞm‡Ç×ô ÃÄøçáÃ7žžáS<ð02R¶ˆ( bkÖß¼©¶1tGGG{{{:Žž¾{÷NRR²¬¬Œª–/_îççÇ¿ô9155 aŸÚØØ\¹re˜÷Μ9355•?ºþ…£££££#Ï“Yc×üö[Ì“'…wïºÍ™£!l-Ÿ¦±±1**ÊÅÅÿ»—ÄÀÀ 88¸®®ðäÉ“+VL™2ÅÂÂ",, ÐÐÐààà€Þ¸lÙ2‰¤ªªZPPPVVæå奮®¾k×®‚‚4©3gÎlذaà1›––;;»ÀÀÀéÓ§kiiEDDüòË/ªªª&&&?Fã Ô€M:ÕÝÝÝ××7>>@¡Pìììäåå­­­ãâât:B¡° dbb¨¨¨°µµe‡;99½|ù’ó¡ˆDbUUÕÆÑĹÊHKK333›:uê† ŠŠŠÐÀ2„Ï-2J®]{®¦æ—+l!>Uƒˆ‹‹Ãb±ÍÍÍ/±X,ÐÚÚJ"‘¨Tjyy¹ŒŒ ‚ ÕÕÕÒÒÒ¶¶¶aaa½½½ššš¾¾¾åååÇŽ“““£Ñh‚ÄÄÄøûû£©q³kuuuX,ÖÕÕµ­­í·ß~xxx´··ïß¿ßÒÒr0 4MNNîäÉ“¥¥¥[¶lÁãñ·nÝBÄÌÌÌ××·ººúÚµk²²²oÞ¼AäÀ8ÎÁÁ!((ˆ³ZTXX¨  À>566&“ÉœÕÐР­­ÐÛÛËU“ÉTRR:vìXMM‡‡ÇÊ•+Ѥ¸Ê>Õ  AŒ-ߪ«{ùû“…-ä>i¡¡¡Ó¦Mãz‰F£eee¡Ç%%%bbb …Ó ?F$77WMM}#úc"SNƒÔÕÕ!RXXˆÇã[[[ÉÌÌTVVL™Lž;w.ØÞÞŽÃánݺUUU¥©©Éd2ÑðÕ«W=z=ÎÌÌôôô422Â`0Ë–-£P(ÈàÁ~(Af̘‘žž>˜ŒÔÔT===4J¥ž>}šN§!cødpäl QRR¿gOØ7ߘìÞ½XØZ>eeåúúúÂÂB===v`rròÇW­Z•››ëççG¡PÞ‹Åb­­­III .d‡[ZZ’Éd;;»aj˜6mÇKHHÈËË£Çè%11±Èd2;;YYY}}}@BBBss³ŽŽÞÓÓ£¢¢‚ ‹Å233333äççïÞ½{Ë–-CŒ¡°Š®2-,þ^\ZZÚÇÇg0Ãüx4ˆ±Bk+uÆ«³g«œ;·V´^µX¸p¡´´t||<Û quuÝ·o_llìž={bbblmmq8œœ\ÿEñ0Œ¸¸8ÀÐÐðæÍ›ìðâââõë×óDW ºººáááhƒQQQÐ××700xõêÞÓÓƒÁ`=<<ؽÇ·°°èëëãÌ…Á`TVVö{¨OÊ ©©©ì8$ÉÞÞž« ž|#vRŽ èt¦‹K0‹¹qc‹¸¸ˆ¹¶”””¿¿^^ §§Çßß¿±±qýúõÝÝݳg϶³³Ãáp÷îÝëèè`±X\±µµ­¨¨xñâ ///==íÈ|ýúubb"‡óxøpÕ°bÅŠŒŒ tzBdddgg'ƒY°`Amm-‰Dtttèééååå‰ÄúúúK—.¡©1™Ìˆˆ´ªÒÞÞ^UUˆŽŽnkkû\Ë—/õê*#!!áСC222\e|îSó ž7Z #à¿ÿ$|KJê…-„ `Ü4ÍÇÇÇëêêÊËËÛØØDGG#ÒÓÓC LMMmll¼¼¼ ˆD"g‡c'róæM`hh¨¥¥ÅîŒÜ»w/‘Hxܯ ¤P(hÊ‚äää }\5 ræÌEEE}}ý èééÝ¿A‰ddd¤¯¯?mÚ4ooo4©øøx%%%%%%SSSccãââbô’³³³‚‚‚¹¹ù¢E‹ÐfQ¿‡b÷A &ãòåËÚÚÚ&&&jjjQQQè]\e 줷ܼ™ª¦æ™ðVØB¸3ƒ@éêêJOO¯­­íž››ÛÙÙ‰ HCCCJJ “Éä:ä ‹ÅÊÉÉa0£Ô<~š››óó󻺺233»»»¥¤¤233Ù‘³³³»ºº8o§Ñhd2¹¨¨¨_Ê¥¥¥Ã×ÜOÈ`0²²²¦0PÆðÉ à’sB&;»ò»ï.ìÚõ•½°µpƒÁDDD¬Y³FØBxIKK‹žžÞ•+WfÍš@¡PD«ë§èÄó%ç`„0ijêܺõºÍì}û¾¶–‰…‚‚BTTTbb¢««+•J}öì™H»ÿ±þ°ñÎܼùš¬¬Ô… Îp Áciiiii)lchBãøñ%%õññžpW Ș„pˆ‹Ë L¾|ùÇ3”„­Ø!(”/¯;7.Z¹ÒDØZ ¡€!hh4†›Û-Å_~Y)l-È'€M AsèÐýêêÖ¤$o¸„dì˨@‰Í I ܨ¦6YØZ O›‚£¦¦uÿþ»k×W¬0¶dXÀ™”‚Á`}ÿýÅÖVê£G^ÒÒc}Z6ÍÍ]ê꺺rÊÊÊÂÖŠ·oßZYYÁÍ{E•K—žæäTÆÆîwÈÉ©º~=%66WMm%ÐçŽq¬¬¬ÌÍÍyž,4AðömÍÙ³ ÞÞ_õ5&»»iaa!!©eeM‹Í Ú¸x±>œè9aM ¾C¥ö-Yò»ºúä;wvŽå_•Ú’zåÊ³ŽŽÞo¾1Ù´iÑܹšÂ2°ÁwŽkm펊r³îÐÙÙ{ýú‹ÀÀ¿h4†‹Ë"WW›©S¿¶(ȘIJ*¸y3íÿûAEE^ØZ¸ÐÞÞœôAX›7[mÛf5yòXߤ"H`ƒ´·wÛÚž66Ö¸~}‹°µô‡Fc§øû'¶nµÚ¶ÍJVVJØ¢ cXƒà#‡DZX¬³g× [È¿@$..÷øñ‡?v¹¹-Þ¶ÍZTV ‚¿xö¬(<<ãæÍmcjgÍ'O ‰­¨hÞ¶ÍÚÍí+yyia+‚Œi Að…®®¾ýû#æÚÙé [Ëß47wýòKôýûÙ‹ë¸Ó„­"@ƒà §NÅS©}G®¶@$22ó·ßb¤¥ÅCB¶.Yb lE‘ïÉÌ,¿~=åìÙµŠŠ“„­×{{GäåUïÙcçæ¶XRRLØŠ ¢Åà1}}Œ%KΨ©Mß!\%L&ëÒ¥§çÎ%êè(ž9ãdjª%\=QÖ xÌ… IuuíaaBv‡ºº6w÷ÐW¯Ê<=—íÞ½XL '\=/)*ªó÷OòósPWærÑÑÙ¾¾wÕÔ&?~ì={¶Ðö}…Œ`ƒg0™¬•+ÿ‡ÃáîßwÖ¬j*µï§ŸH$RÖ–-V~~+`d”Àϸ~ýÅ»wö ËÞ½û°sçÍ––®ààÍööFBÑgÀ¥xC]]ÛéÓñ®®6zz©Òß¾þÍ7þòòRyAw€ð ØÄà Û¶Ý(.®{òd¿à»ûúû÷GFEe¹»ÛíÛ÷5MÂ3`ƒ<{Vôðᛈˆ‚w‡êê›6øÐêjmMpîqüo3Zèt毿Þÿúk#KK]gšúÞÞþ‹…zô¨p5LLÈd²Àò‚1B˜LÖ/¿DÛÚÎؤƒ¬¬r—`Åû÷ÝÇÂÊ‘ IIIŽŽŽÂ2¨®®ÎÈÈdŽÐ FÈíÛé%% .‚ÉŽLÎß¹óæÂ…3¯\qS+Äñ|+'ÈDFF:99 2G8Š1>~¤ž<¿u«•¶¶¢²»u+móæk«Wyýú–1åq¬AŒ„ó狉a÷ìY"€¼Ž{pñâ?¿‚ì …@P A|6JCHÈ‹ãÇ¿—••äkFL&ë×_c®_O9|xÕÖ­V|Í á 4ˆÏæôéG::JëÖùš ƒÁrw¿ýèÑ[8œ "Ð >¬¬ò‡ßoÆáøØ}Ó×ÇØ²åÚ«Weáá;,˜Á¿Œ ¡ñy;ö`Þõöö¶··ïgýúõçÏŸGdæÌ™©©©h ©©iHH;ŽÍ•+W†™)g:üc˜Ÿ9w†Ç7H¤ÌŠŠæƒø”~k+ÕÑñRuõGÉMWwœl{ÕØØåââ‚Çÿݘ500®««¥ßÞÞ³|ùù¹s•”Ôó) ž3œÿfqqqX,¶¹¹yà%‹E Z[[I$’‚‚•J-//—‘‘A¤ººZZZÚÖÖ6,,¬··WSSÓ××·¼¼üرcrrr4 A˜˜45ÎcccãóçÏ755555‘Édccã½{÷vvvJII9r¤´´tÇŽ€óçÏ·µµikk'$$ôöö"ràÀçààÄYÇ),,TPP`Ÿ“ÉdN… ìt¸>“ÉTRR:vìXMM‡‡ÇÊ•+ѤÌÌÌ|}}«««¯]»&++ûæÍ›Ñæ¼ݸp!IGg}}?§Rû¾ùÆîÜ_ÊË›ø‘>ŸNa 6m×K4-++ =.))£P(œxüø1‚ ¹¹¹jjjìÑßç™c±X‡Ãᔕ•½¼¼êêêH$’™™N§Oš4 mb̘1#==}off¦§§§‘‘ƒY¶l…BA7¶BÎt¸>WjjªžžH¥ROŸ>M§Ó«ªª455™L&¾zõê£Gýy Þ à(Ƨim¥þùç“­[­”•åxžxw7míÚ+ÕÕ-ÑÑîãoÝeeåúúúÂÂB===v`rròÇW­Z•››ëççG¡P¹ÌXÇb±ÖÖÖ€¤¤¤… ²Ã---Éd²Ýùlݺ•3äÙ³g666è1çLA‹efffffÈÏÏß½{÷–-[’““Ë…­11±Ï•˜˜haaKKKûøøš››uttÐðžž•1·‰ ìƒø4—/?Ãb1»vÙ~:êgÒ×ÇØ´)¸´´1,lÇøsÀÂ… ¥¥¥Ñ–9 ‚ ®®®ÍÍͱ±±{öìñöö.))ÉÈÈ’’êw/ƒ³Ã‹‹‹õõ?{Ïtccãüü|ÎDúEHLLä¡4008~üxJJJ__g4ƒQYYÙO!'\Ÿ‹@ ”——³ãH$*•ª¯¯o``PÁÁï¿ÿþ¹ÏÅo A|‚††ö  d/¯errÒ¼M™Á`íØ’—W¹SX‹åó)))ÿ¼¼<@OO¿¿cc#ÚM8{öl;;;wïÞ½ŽŽ‹Å5[[ÛŠŠŠ/^òòòÒÓÓÑŽÌׯ_'&&¢q8¹booÿ×_¡½•<¨¨¨èH$e¹kþ IDATÖ××_ºt =e2™&&&òòòíííUUU€èèè¶¶¶!2âú\Ë—/õêêP ‡’‘‘Y°`Amm-‰Dtttèéé¡ŸÒØBíQäСh“C½½tÞ&Ë`0·m»>sæ³²Êy›²Àf{˜F£ùøøàñx]]]yyy›èèhAzzz‚©©©———‘HäìƒÀápìDnÞ¼I  µ´´Ø‘{÷î%‰û s²9uêÔ´iÓ‚ªªê·ß~;°">>^IIIIIÉÔÔTAAÁØØ¸¸¸½äì쬠 `nn¾hÑ"´ÓO!;®Ï… ÈåË—µµµMLLÔÔÔ¢¢¢Ð»H$’‘‘‘¾¾þ´iÓ¼½½yõ™óhCQW×6}º÷իɼM–Åbyx„MŸî’RÌÛ”ÉgÖ®®®ôôôÚÚÚ~á¹¹¹‚444¤¤¤0™L®C‚°X¬œœƒ1ͽ½½éééT*u°4-##ƒL&õ»TZZ:|ýž d0YYYSÈÎÎîêêN²Ð Æ?ÿ|ÏÔôWžWNœx ®î›ÃÛdŒà +N”CÔ׷ߺ•¶{÷W¼ë¹~ý…¿ÒñãßÁw4!chƒrñâÓ)S¾X¿~Ó$‘²¼÷ÓOËü±ÿ02Áºº¶Û·ÓÜÝíÄÅyV}xþ¼xß¾;[·Z¹»5†Œ ApçÂ…§JJ²ë×›ó*ÁüüÛ¶Ýøúk£C‡øø2(Â[ Ap¡®®-44ÝÍm1¯6ã­©iuvš;WóÂg,n„ ApáÏ?“¦M“ãÕ¢rííÝÎÎS§~qõê&Áoÿ Œhýiiéºsç•«« O~Ìt:sûöŽŽž7¶LšÄßEn!ž_ÖêO``²œœ¯z~þù^VVÅýûî‚ÜÝá°ñ/::zoÜx±e‹O/.]zš´ÑÈH}ô©A ‚Ö þÅíÛi pq±}R‰‰ïŽpàÀН¾Òûtl‘¢££71ñm``¡˜˜R`` °åL ^¿~-à¡AüC_# à/gç…£ï,(,¬Ý½ûö?˜ïÚõO´¨Ô>29?&&çÙ³"€®®,ÀÕÕUغ |ƒ ˆ°5ŒBCÓˆzõêçQ. ÓÔÔ¹|ùy--…°°ã`Ø¢·—ž”T›“”T€ ˆÍl‡¹K–À>׉¬Aü “ɺxñéwß™Òh4Æ–-×ñx\`àFQw‡×¯+""^ÅÆæôõ1lmõΞ]»d‰Á_H[Dp@ƒø›GÞVUµÜºµm”éüö[laamL̞ɓûoÖ"*Ô×·“HY¯JK¿ürúÁƒ+W®4á÷F¤± 4ˆ¿¹xñÉÒ¥†3f(&‘èèì7^¸èë«òJ˜Àèëc$&¾ŒÌLN.VTœôý÷fNNóGù@DhðâEÉ›7ÕÇ?šDrs«¼¼Â=<–¬XaÌ+a‚¡¦¦õæÍÔðð—]]½Ë–…„lµ¶&ðuóQˆ¨;)`íÚ+4ãÞ½Ý#N¡¥¥kÙ²³úúª7nl•·-II)¹~ýERR²²¬‹‹Åúõ ¦LÕ–„À PRRJ®]Û<â ÖÎ7ÅÅñþ¹^$Ü¡¥¥ëÆ·og46vØÙ釅¹ZXÌ å %Ϙ¡¸téÈ7e>yòavve\œÏW¾æ9uum—/? Ë`2Y«V}¹e‹¥š°EAÆ.Ý Z[©$RÖÏ?;`0#üÿ›sùò³K—~ãK×WV¶\¸ð$2ò•ŒŒÄÎ_mÚ´¶& Ÿd¢Dhh†¸8nÍšù#»ýýûFŸÈ-¾ùÆ„·ÂxHNNÕúÙ³kù'l0:;{‰ ˰°˜õìÙ~mmEÁk¸/† ÑÑѱ³³h–ÈD":úµ¦æ¾úúöϺEUÕ39¹ˆª#9¹h޼߄Ÿ®_Ád²/`8´°NxüýN¬Ä­[iK– ¿o¯¡¡ÃÏïÞÆG¤Rûމ½u+ÝÎNÿÌ'%¥I‚Ìýs‰ˆˆX³f°UŒ„ò!O ƒ()©OO/ ß1Ìø‚ìÙª¤4IÀãšdrþþý‘t:óÊ• s™5Ò daaÚÚŠVVÃ}»ñæÍ´´´÷11{6®ÙÕÕwøpLhhÆ×_ž:µfêÔ/“/2Å h4‰”µ}»Í0—–+/o:r$vçN[SS-~kCIM}ïåÞÙÙ +±ÃD1ˆ„„·=ëÖ‡™ÉdíÝ®¥¥àíý5¿…º»i¿þz?44C$z Љbwî¼²±™­¨8¬ß^PÐó7oª>ô@ã"#£ÔÓ3¼¥¥ë?Ö9:ÎãwvÈg1&^Xæ7>´>^ìä4¬•i‹ŠêNž|èînghÈßõà™LÖùóœ.O:)!atÈdBÔ H¤¬É“e–.5üdLAüü¢tt÷ìáït”úúvw÷ÛYY:|îÄ-Q„N§“H¤¬¬,%%¥U«VéêÚUÜÚÚ´ÿþÑdwõêÕúúzôxÖ¬Y+V¬‘ùÄÿµµµqqq ÅÞÞÞÊÊJLl¸ÓU›ššîÞ½kmmm`0ò­UÆ,ã¼\ ¹j•épVm ËÈʪ¸pÁ™¯‹˜˜kë“mm=d²Ï¶mÖãÞêêêæÏŸöìYiié¼¼w÷ÛªªžÞëí¥ó/#ˆˆˆ:Ž£££½½=þ÷ó¾{÷NRR²¬¬ŒªŒƒ‚‚اÞÞÞöööCÄ755 aŸÚØØ\¹re˜yÍœ9355ud:? GGGÁϤ§¶ÇÁ;/ Õ†³íÕQšš îîüj\Ö~ýõ¹¤¤‚ààMGެ’˜í»ÆÆÆ¨¨(<þïç500®««e!À§jqqqX,¶¹¹yà%‹E Z[[I$’‚‚•J-//—‘‘A¤ººZZZÚÖÖ6,,¬··WSSÓ××·¼¼üرcrrr4 A˜˜45ÎcccãóçÏ755555‘Édccã½{÷"RZZª  ðúõ뺺:[[ÛsçΡñ8€Ãá‚‚‚8«6……… ìSccc2™Ì)¬¡¡A[[;!!¡··—ëã0™L%%¥cÇŽÕÔÔxxx¬\¹MÊÌÌÌ××·ººúÚµk²²²oÞ¼ùäG-”Ä87ˆ;w^jiy·¶R‡ŽÖØØ¡¯ï÷óÏ÷ø¡¡­ºys°ºº×ï¿?b0˜üÈBˆ|Ò BCC§M›ÆõFËÊÊBKJJÄÄÄ( §A?~Œ Hnn®ššûFô‡:D¦ÆÆÆX,‡Ãáp8eee//¯ºº:ARSS²³³éêêjmýǬ333===ŒŒ0̲eË( 2¸A°…!2cÆŒôôôÁ'55UOO ¤R©§OŸ¦ÓéUUUšššLæß…aõêÕGâqP„bã¼–K"e.^¬'/ÿ‰…žþùž¬¬äO?ñ~ûwï>ìØÒÑѲuLm¢!0”••ëëë õôþyüäää?®Zµ*77×ÏÏB¡(*ry“‹ÅZ[[’’’.\È·´´$“ÉC¿ø°uëÖ~ .ôððX¾|¹˜˜ØÚµk===‚°X,333333@~~þîÝ»·lÙ’œœyR›{øð*žï%ñjåÊÿ)+Ë’É>Ó .”––F›è(‚¸ºº677ÇÆÆîÙ³ÇÛÛ»¤¤$##CJJªß½ F\\`hhX\\Ì/..Ö×׃Vì###) Úg‘˜˜È9Bi``püøñ”””¾¾¾~÷VVVöÆ ×Ç!åååì8$‰J¥êëëTpðûï¿àqÀx6ˆ˜˜yyé¡™==4?¿¨ÿügÎ’%¼Äîî¦íÞ}{ß¾;ûö-#‘Ü&òâ‘RRR>>>þþþyyy€žžÿÆÆÆõë×wwwÏž=ÛηÃÝ»w¯££ƒÅbqMÄÖÖ¶¢¢âÅ‹€¼¼¼ôôt´#óõë׉‰‰hÎãÁ ‘HfffX,–H$®[·®½½@$ëëë/]º„Æa2™&&&òòòíííUUU€èèh´Ss0¸>ÎòåË_½z•ŸŸHHH8t茌̂ jkkI$ ££COOýpÆ"nÒkë“>>Ÿ;r$–@ø©¡¡ƒ‡ù–—7-^|zöìIIèqÆ84ƒõèÑÛo¿tçîׯ+oßN÷ós••MF,rêTü®]·Ö¬™±s"eBÆ+ã°‰‘–FikëþæîÁd² -\8sˆÈpèèèÙ±ãfFFéÅ‹Îß~k:š¤ 1Ë84ˆèèlMMM®WoÞL-.®útT둼ßèârµ»»ïî]·/¿Ъ¶ˆàoM :ùèÑÛ+¸¯ ÝÐÐ~òdüŽ6::#ßÃ.%¥ÄÁáòòR ^Ð ã›ñfÉÉŽ+Wr7ˆ#Gâ¦L‘ñðX:âô/^|òÃ_mí®¬,7ât ‘`¼51âârMM5UUå^zù²,::ûêÕM#Û›Ngþô)"âÕ¡CßlÝj5j¥ˆ( à™›|¥·—®«ë{åʳ—˜LÖ’%gÖ¯YÊmmÔ5k.Íœùßøø¼QIwp–%NFJJ_^Þþ‹/FÕ  ¸ĨHN.êêêãº-UhhzIIC`àÆ$[YÙòã==ôØØ½ÃYºnBqûvxiigQQkqq{]]·¸8næLÙyóMMGÕ áŠººº€sW÷ÆÔTk`û¢££÷Ì™G..Ó§OýÜ4SSßoÝz]OO%8xÓäÉŸX:}‚@§332JŸ?/II)ÉÏÿ€ÅbÌÍglÞü¥¥¥®Ú¸_¤{B1~ ‚Ng’Éù{÷.xéÂ…$ ñòúì¾É›7ÓŒúæÓ³g¶…ªªåñã|29?;»’JíÓÔTX²ÄÀÏo…©©–ŒŒ„°ÕAøÂø)ôiiï;;{¶/**šþúõ×oää>±ð',rèÐýk×R¼¼–zy-斿㎎žääâ””’””’ÊÊYYIkëÙ‡}ci©«¥Å}¦ d<1~ "!á­¾¾ªºúä~á'O>œ1CéÇ-†ŸTo/}ÏžP29ÿòåW®tÊöx¥_ ƒ Ìtv^[qb‚$$¼sv^Ð/üÕ«²ØØÜÛ··ãñÃ-ÖMM›6WV¶Ü½»ËÌL›×JÇ.ÕÕ““‹Éäü´´÷TjŸºúd›Ùnn_-Z4 v¾LXƉAääT54´ÿç?Fœ‚üö[Œ­íìá/[QÑììH§3I$7aЗAÇ ýZ“&IÚØÀäƉA$$¼ÕÒRÐÓSå ŒŽÎ~÷îCR’Ï0yó¦úÇÕÕ§„„lUTœÄ™c‚~-A Õ¿ÿÞlÉ}}µáWµ ‘4:YTTgh¨Æî;|ø0ÏÈH½©©“ýÃîé¡;ö`ýzóY³”‡“æÃ‡oÜÜn/[føçŸëÇå€EMMë_¥¤”¼xAim¥ªªÊõ•ž›ÛW ÎTPøBØê c‘ü%°XȲegd–.5úê«Ùjj“ËË›ä䤿Ï?¼c‡íÎ_ÉÊJüÕÓCÛ¿ÿ?ýî­¨h8âöíôŸ~"9;/8ztõxê„ëèèMN.b· $$ðVV„Ÿ~Z[a"ª‹Öjjîc0Xx<–Éda0qq¼˜®³³‡ÃJK‹oßnø×ž=vnn‹9ïJJ*pw¿í>{ö?"ÏžM8wîñËûEQX,$+«œL.HI))(øÀd"FFê––ºVVºóæiì=È„ET ‚@ø©³³—}ŠÁüëAp8¬¸8~Ï»;mÙí ùê«ÓJýäÉ2xLŸ>•ÅB~þùÞíÛégÎ8­Y#Ú+ÍökA(+Ë-Y¢oi©»`ÁÌ©Sa 2BDÕ LL54t ƒÃa¿ðòúzÝ:"‡ŠÊÚ»7ŒÅBðxœ¼¼TtôžãÇãRRJ®^ÝdeEnžÒÙÙ‹šÚ‚lj:VVºvva"DÕ ,-O”–6~2‡a±€±±ÆÕ«›þ¨¯ï@ŸÇJJŠa0Ø›7·ŠÖJ³,òî] ™œO&ôkA˜™Mçùö¢ ŽHvRdeûoôÊ&Á`0s“’ ÐýõÐpƒÕÛKWS›,øÿ´TjßÞ\øð¡õÙ³¢””’ÔTÊÇTyyi;;}7·¯ˆÄJJãvD"tDÕ ää>½ 5ƒÁb1þþë¿þÚpþüÃ,Ö¿êJ ëǶµk¯DE¹ æ]£ŽŽ^?¿¨)Sd~ûíÛáÄïׂÙ›ÏعÓÖÒR×ÐP‹ ¯‡@‰¨„¬¬t¿ŽÉ~àpX{õê&;;ý«WŸ·µõ ŒÃ`0Ñ=oBB¶Š‰áø©¤¦¾ß½ûVCC‡¶¶â¶ RRJ?ÎÏÉ©d0Xsæh¬X1×ÊJ÷Ë/§KKÃD ˆªALš$‰Ãa ¶A`ø×(†¤$þömW"Q‡Jí;>‘É侯<‚ ýUtêTüÁƒ<ØD‡+TjŸ¯/)** ýŸ_^ÞôáC«šÚ¿^*«­m{ú´0%¥$-í}KK—œœ´••îñãßà á"º!Á®cãñXãŸß?‡•““&‘v¡“®^}Î9 ÊFBB¬¯>w®æÎ¶_m40Oxõªl×®[´ƒÃa““‹øÁ¼««ïÙ³Â~-ˆ;làK“±ƒ¨„ŒŒ$×5ðxœ²²lT”º/Fss×ÿþGæ´Åb1ë×/ؼyÑhÖ¿:yúô£+Wžb0N ¸y3õñãüÔT •Ú§¤4ÉÊŠàíýµ•a¿QDÕ ¾øBí€Àb1+VÌ‹Ëe2Yx˜LæO?­01ÑäŸ „'ˆªA|ñ…$“É’““ pññ‰`±X¦¦ÓoßvåÜ÷?÷õ1¦¦ZÛ·Û,[fÈï¡Áºº¶Ý»ogd” =ýLL ÷×_EÐ cŸþ#…kÖ¬¹{÷®°Ô  ‰éS¦|ÛÚ×Û[ª¨èÂd¶·¶>@;'«¨øcoo)•šM§zÎåè‘”œ!'·‹Î `f¦³GªFCdd¤“““°U@>ÞÎæRƒ077÷òòâaü ¼¼33³iÍšL&rÿ~ŪUÓ±Ø8#ÔÔP'M““³`³ô47÷Þ»—™ùæ‡6µ´tµ´tµµu·µõtw÷qFÃ`0x<–ÉDrr*G6¥RðDFF [dX¤§§Ÿ?ž·ir1 GGGÞfÃsš›»ÜÝÅ¥¤ÄY,ÄÉ Œ…~>‰¤¤?.]zÊÈb!mmÝmmÝ­­ÝmmÝmmTöicc‡¶6¿ÆPxÈØ/ ~¼W%ª}ì1ˆ1>ã‹ÅL™"3e \ô"’ÀÙ8dP A@ A@”‘wRÒét‰”••¥¤¤´jÕ*]]ÝÁb¶¶¶íß?Úýàkkkãââ(н½½•••˜Øp×_mjjº{÷®µµµÁ(5@¸"øÂÀ`0îÝ»÷úõk:>wî\GGG)©a­!4&` a ¢®®nþüùgÏž•––ÎËË377www,r{{{ppðHþMxxøœ9srrrOœ8¡¡¡A¥R‡y¯››[`` ;VªK½½ô––.a«à‚/ 555–––¿üò ƒÁ””ô÷÷755ÍÏÏMš[·n-//"Âx*Ÿòo‘OáèèhooO§ÓÑÓwïÞIJJ–••}òÆcjjÂ>µ±±¹råÊ0ï9sfjj*týCDDÄÀÏ“:ùôi¡»{èÌ™ÿŽ~Ío=£ç“O„"øÂ°|ùò%K–tww£§ ÃÅÅeΜ9 cÄiª©©åää a”À0KkllŒŠŠrqqÁãÿn¡×ÕÕž=oÞ¼á›7ovuuåZ¸*éWH61œœœÖ­[Ç"*%‡ŒdCYY¹¾¾¾°°POO˜œœüñãÇU«VåææúùùQ(EE./`±Xkkk@RRÒÂ… Ùá–––d2ÙÎÎn°j‹Å233333äççïÞ½{Ë–-ÉÉɃ‰dgĉ˜˜Ø@y‰‰‰è±´´´ !!¡¹¹YGçï-3zzzTTTÀ´·Óddæ.]z&?¿‹Å ‹A°—«éÇ‹”®®>®—ÆYY Xì'&‰ ¾0̘1ãõë×JJJœáeeehãe \¿w0H!A9|øpYYÙóçÏÑS‘(ü`$±páBiiéøøxv™@ÄÕÕuß¾}±±±{ö쉉‰±µµÅáprrrýîÅ`0âââCCÛ7o²Ã‹‹‹×¯_?Xމ‰‰ì¶™ÁñãÇ-,,úúþõc0•••ý2â„«<ššÊŽC"‘ìííõõõ ^½z…öôô ý>…Òö^VÖúÝ»Z 3ØR1lÂÂ2ÂÂ2†Ž3Àã凎 øÂ@$ÅÅÅ£££]]]áááVVViiigÏžåŒÉ.ƒ)áZH$)((èåË—’’¿¼?öK ¿èW£æ(Æ¡C‡455ÑFQww÷ü1yòd*•njjŠÆ‰ŠŠsÖ*q8zµ¯¯OVV6%%A7oÞ|ñÅ---‚dee%$$ qØÇ?~”““»xñ"Î`0öîÝ‹fTWW‡Çã+++A_LF+x쌎 Wymmm“&Mz÷î‚ =Ò××G„Édª©©Ý½{Aööv--­—/_ý™DDD`±‘‘¯V¯¾ ªê©¡±OMÍs`ûbœ51A~ùå--­ÌÌLAZZZ¾üòË)S¦lܸ¤>^IIIIIÉÔÔTAAÁØØ¸¸¸½äì쬠 `nn¾hÑ"´v:Ø×ÃU‚ —/_ÖÖÖ611QSS‹ŠŠBï"‘HFFFúúúÓ¦MóööþägÂùõÔÖ¶%ÛÛŸSQñÐÔôß!øÂÀd2Ož<)))9}út%%¥E‹™™™ÕÔÔ ÜÊW%ý,Z´ˆH$fffîØ±‡ÃÉü?ìÎÑ*¼b„ÒÕÕ•žž^[[Û/<77·³³A†††””&“ɵ—A‹•““3Ìák–‘‘A&“‹ŠŠú]*--~:ýä¡ #++k` ÙÙÙ]]]ÃI–ë×SRRÿûïæÍ;¬¢â¡¡á5. EÀ…AÞÞÞׯ_¿yó†Åb!rñâEv??×òÀõ{gÓÞÞþôéÓÖÖÖ!rÅ8J¸,9à"B#]  á¶h‹…¼|Y“ÝÙÙréÒß~k*x‘ŸÅOƒðãûÕcD ,³`ÁŒ f;¶ú¯¿Š¢£³%%‡;"Ð Š˜nɃ%KDìÈ„Eß@ ‚hdP A@ A@Qæ,.®g±==:ùñ#UYYVØŠþ¡³³÷ÿ·Ï¢rì©ÕÝÖÖÝÒBmiéjm¥vuõFDìÔÓS¶Xd(¸ÄóçÏ—,Y"x)Ÿ•*S_¯¢£SŠÁ ¥¥344ªÅÅÿµLSgç$:]L^¾ ‹ýÄ‹•ÓȨEFæ“Ãde)76ª¨¨PUU»ÄʝËÀCz)É–ƒáœÀŽ \ÇÙØÌã›Ù¥ÂfòäɳgÏæmšýßÅîÝ{½{w(ÂÂ\££_GFfJHà¯_ßbcóÏtûvúþý‘ Àb±Ë—ïÜikl¬Áoa¾Ù·/¢§‡F§jIX,æìÙµNNóù-%¢ÚIÙÙÙ+&†Å`0;v„()ɉ‰áh4¦‹ËU2ùŸµÏ×­#NŸ> “Ézôè½ý¹Å‹Oß½›9ÄOwô,_nœ’ò“••.‹€{A€‰ ß­ =¸_ýUØFBj*%-­”Á`²XH[[wSS‚119Êʲsæh°XŒ¢¢ìǹ |üHML|’ÚÓCÓÓS‘’ⲚÐè‘‘‘X½úK )ýU„Á`Ь9Ç_¿þ")© ¦¦Ç*+Ëáp¢êÔñ¨61NŠ¿|ùÆü»Í0ŒŸßŠ]»¾ ²xñ ¥¡ßp8NL ûý÷fÛ¶YÏš¥Ì'‘UU-nn·sr*9=B\çì¼pÙ2ÃÇó?~W]ýQB?¾Ž••®¥¥®‘‘ºpVƒ@¸!ªqðà½[·Òo,`6o¶hü]]}‡ÝÏ u¢£ݺ…JíKK{O&çÿõWQMM«¤¤Ø¼yÚ° <¢jß}w!=½ô“Ñp8¬™Ùô[·¶oÝz-=ý=þ¯Jƒ9rdÕæÍ–|“Ù29¿©©ó‡>c² G¤¨££WQq’¹ù KKÝ%K ÆÔüQȸDT béÒßß½û0¼¸"Qû¿ÿýÏwß]üw_&°±™êÊ'…<‡Á`üÝIOÏb!††ê––ºVVºD¢Ž¸8lƒ@x¨Ä‚G++[>MB/!!¶wï‹={BÉä|´_‹ÅXZÎzñ⽫«Ÿß ‘«´·¶R_¼ ¤¤” m))q3³éhâ…@x‚¨„‘ÑÏ--]CDÉ‹ã=<–lÞl‰Îw(,¬³³;ƒü_{÷ÅÑ6|îŽÒ¥w<Ž"EAŠ€AA#¾Š¢Æ‚$Xy¤¢‰ ***RÄ.ˆ^CP ]PšR•j¨§ˆp×öûcó]xéÂÁQæ÷×ÞÞì̳wÜÃÎìì.‚àpØo¿Õ rÎ̬tu½nn®´eêÞE–Õyþ¼¬££[ZZí€,Z¤)""Àéè ©mª&5µŸ»ºþ¹ò‚›Ç`0Ys p8,‹‘— sÑÖþŸË%wíºýǯllæÞ¸±›(*ªß²%LQQìÖ­í³góÊIíƒ$%½IJ*yýú=ƒ!äÐ>ˆ©©º¿ôU¦d‚@D^Þ ‡ÃÐéL^^nuu©²²F9¹Ùõõ+WøøØïÚu[AA,,Ì¥÷†55d__⮽êê>lÜÂÅ…»{w‡œÜì Þ—qòñ#%#£2-­âÙ³²¿ÿnà12R^´HséRñ›M?S2Atvö,YrÆÖVû›oð ª÷ôÐuuÕÑ‘æÿõWA‘ñvݺ "ÑmáBµÞÛ2™HÿË(ÛÚ([·†××¼{wGŸƒŽi ODIIÜÒRÓÒRÓÊJKX˜ŸÓÑA“Ú”LýmÜÂÍ»ys[ï•..áÿÝ–˜è5’ «?îÞ¶íZIIí[Û •Æ-RN‚}èkM“qëVæï¿Ç¼~}´÷õW55d+«“þþëFxa5•Jwwˆ‹+:{vÃÚµã8±r2øð¡33ómZZÅÓ§¥ ŸfÏ´°Ð°´Ô´¶ž+/?MúYÐØM“ÑÚÚa`p(<ü;;Þë$ÅÄä§§ïŸ5‹o$õÐéÌß~{xëV¦§§§çÒ)wústX}gÏJ;;{X}kë¹#üÜ éjš$€ƒÃuu©sç¾ë½²½ý‹™Ùñ­[Í÷í[6òª""²ù…¸t©ÎÅ‹›¦îéÏQèé¡¿xQõ×_iiÅÅïq8Œ¶¶Ü’%ÚK–ttä'ÿ-° ¶›> "(èéåËO pqýϽ®^ýËÏ/6-mÿW9ÿõWùŽ744¤¯_ß&!!Äî`§V$%¥´±ñ“˜˜ ¹¹†¥¥æâÅxYYQNGMé“ *+›­¬N’H»MLT{¯§Ñ66§ôô‚‚¶|U…ee[·^Åb1·oïPW—bk°S «òôi)…òoÄÆ/$ÄËéè q4}ÀÆæ”¥¥æ‘#«û¬Go A"ýwÁÕ7LKK‡‹ËÕêjrxø÷ffêì‹tªêî¦åæV³ú <<8x«›émZ%ˆsçžÜ¼™þòåáþwpÛ°!¸³³;6Öýkÿˆ{zèqqEÆõžS™Ü™•õ6-­"9¹¤©©ÞêfZšV ¢ªªÕÂâxtôûLŽ””4ØÙ Ü´zµá×VË`0úãÆôýûÿ¹“Ý —ššzìØ1ÖKÝÝ‚ʬ®.~0bbd™&F8$%%M@+ÓêaUUI<^öñã‚þ B[[vÍ£cÇb—,!|m·‡Ã;模!}𠩤¤áÌ™õ3êÔFÍÍÍÉÉÉý™A NoooçÅဨ(œL1^êëë³³³'¨1dz9w.Q_ÿ7:Ñÿ­; „û÷Gºò¼¼j}ýß/ö¯­%!Æ)/**júýåL!ùùO·»­¯\iÐÒÒñâEuÿ·fÏôõýöæÍôüüºÑUnd¤œàÅÃ[¶ì\zzåØ"… )`º%UUImmÙÇ |wãFS¥ýû‰ƒÝÀvX22"ü±ÇÆfîÆÁW¯þ5†H!h ˜n àà0ïñãÂS‹ñ÷_÷æÍßwîdº~^^®‹7ýüóòÇÿØ·ïþ¸>§ ‚8k&ˆåËõZ[;rsèeðø9[·Zœ<G&uCª¡a07·o‚ƒ·>|øríÚË­­£® ‚&³i˜ 44¤ñxÙèè—ƒøùçåüüÜG>cC+Vèß¿¿«®îêU++Ùÿäuâ¸i˜ kÖ=~\ˆ>˜¯?!!ÞƒW‰yoÇØ¡¡R|¼§ˆÿ·ßž‹xàc&£Ñh‘‘‘^^^§Nª¨¨¢d[[›¿¿ÿØ[lhh ñööNII¡Ñh\IkkkPPЛ7o†/:ELϱj•aGGWJJéÌÍ5ˆû‚ŒŒÈ£Gî[·Züøã-8$Ñ[ccã‚ Ξ=+ PTTdjjº{÷ O jooc‹‘‘‘zzzùùù’’’'NœPPP P(Y‰››[hh(;~Vs6uâ9:^ܶíúªªZ”•½/_NaW‹ññEZZ¾vvgëê>°«ÎÉi„ç᜜–-[F£ÑЗ¯_¿æã㫪ª¿À oÞ¼Ézimm<‘•¨««gdd|m‹_ ΃`GG£ää7Ÿ?w V@EEò§ŸŸ=›ˆÞêvììíuÿüsoOmÙ²€ÔÔr¶Ô9uµ´´DGGoݺ•‹ëŸÙº!<<¼±±’’²bÅ 111ssóˆˆ@ss³ƒƒº¡‘H”••-))©ªªòôô”——ßµkWII ZÕéÓ§û,Óh´ÊÊJVs€°°0À?þŠ®ìèè066®©©AÃÐÕՕؽ{·¯¯o\\Ü•ÔÔÔØØØ°Ö¯_¿>''§w´&&&uuu...qqqî# 33ÓØØXBBÂÙÙ¹¬¬ ]YYYikk+**jeeËίaì&&M¼OŸ(JJÞ‘‘ÙC”éꢚšýá‡p6¶ÛÑѽcÇ yyÏ3gâ &kž|8f°S£€Á`¶m[tÿþ®¢¢úeËΕ–6°«æ)DZZº©©©´ôƉSSSI$77wAA½½½ššÚ–-ÜÅ‹ÅZYY’““ÍÌÌXë---‡¸„AƒallPTTT\\ÜÓÓãêê ””üæ›o¢££ÉdrZZÚ¦M›III¬Ê………µµµ‡®d0¬h{pÍÍÍÑe..®„„2™¬ªªª¬¬¬¬¬œžžŽöÂ&‰éœ ¾ùF[P76¶pèb~~kZZ>Ÿ;÷„½­›˜¨ÆÆzˆˆð¯Zu‘DzÅÞÊ'?333´7ŽBdçÎd2ùÑ£G{öìñöö®¨¨ÈÎÎæçïûl ÃÃÃÐÑÑ)/ÿw4§¼¼ý(11‘@ °^„ãǧ¥¥õôô6nÜH$‰DâòåËÅÄÄššš¬Êét::*1t%,t:½¶¶¶O´½ ¸ZZZÕÕÿÎß#‰ E[[›@ ÔôræÌ™Áö‘&æ@…S<<"–,9=l±[·2äå=óókÙ@Oí·ßÊÊîuw¿ÛÙÙÍöú9b„‡¸‡RTTD{Ô_¾|9þüìÙ³)Jdd¤¡¡!Z&::P^^Þ»‹ÃáÐw{zz„……ÓÒÒ),,úðá‚ yyy hÖòÇEDD._þ§SI§ÓÝÝÝY utt jkk³6ljj|ýú5‚ wïÞܹsgˆJ¹¸¸Ð~Êýû÷hƒ-Ò«‹1à>~úôiÖ¬Yh‹ñññÚÚÚ‚0 99¹ ÒÞÞ®¤¤”““Öϟ-¦y‚ÈÍ­š3Ç£°°nèbL&sݺ Å‹OQ©ôñ#-­bÞ¼CÆÆ¿çä¼ú'Øÿ@©T*z­©©)**jmmM"‘éêêÒÒÒ244´¶¶öôô$&&&&Anݺ¥¥¥¥£££¤¤ÄŒtww711é¿'%%%%%ehh(..®¯¯_^^Ϊjݺu ¬Þ>‚ §OŸ–””ÔÖÖ^¸p!ÿã?†®dóæÍââ⦦¦hg°1à>"råÊ99¹èèî<@$uuuµµµedd¼½½Ùõù³Å4O‚,Ztbÿ~â°ÅjkÉjjûÇ) 2¹cóæÏ3gâ¼]ÅòU YYY }Öttt ÒÜÜœ––Æ`0<å “ÉÌÏϧÓG”»©TjvvvRRRYYÙÐ%Édò›7o:;;sss¿|ùÂÏÏŸ››;l%ïÞ½y0}ö]I§Óóòòú×ðêÕ«ÎÎΑT ;]º”ŒÇïïî¦ [2(è©¢¢WYYã8EÂ:»±fÍ¥††¶qjeLÆÉdIIÉèè袢"777555&sjœ–†g1ØÉÉiAggwbâëaKîÜi­§§àåuoÔw‹zvãÑ#÷††O66þÁk78I\\<:::11qçÎ åÙ³gð®ÜýMÿ!%5ËÊJ+**gØ’X,æøñ5EEõ·oþnÃÒ×WHLô²µÕþñÇ›{öÜíꢎ_[ÐÐ,--CBB233¯_¿®  Àép&£éŸ ë×›¤¦–74 5!¥«+ïæöŸ_l]݇ñ‹gÖ,¾‹7ùù9ÆÆ8:^z÷®eüÚ‚ ±˜ ÂÎNGTT€HÌIa//{ i7·;ãÔÑ@a0˜ï¿·üóϽT*cÉ’3¡¡©Læôyþ4m̈ÁÍ[µÊ0*ê2‚‡€pqa/\Øøúõû°°q¿å¤¶¶lb¢———ÝñãÎûÎ@“ÍŒH'§ùÕÕ­¯^ÕŽ¤°††´——ýÉ“–—ûÓ_¸¸°nnß$$xÒéÌ¥KÏ\¾œ2®G.ôUfJ‚Ð×W ä""†ªDíÚµxÞ<Å={îNÌ `æÎ󸱇··½¿üªU«ªZ' QÖLIséå§O_FR‹Åœ=»¾²²98øÙx†âæÆ¹¹}ïÙÕEµµ=}ùr •€8n%ˆU« ¹¹q䎰¼šš”§§Ý¹sO& £Á¢­-ûçŸ{]]<çèx©¦†}šH3.Aüç?¼#¹4£·'œx<<"8rÀ…Á`œœæ§§ï_²DûÇomÝz•]w↠¡Í¸ÁÇǽfÑ;Y_uQX˜ïâÅMii7ndŒ_lCð÷_íV[ûÁÚúÔÙ³ ð!=ÐxÃ>|˜Ó1L4± ’•••%F¾•œÜl ¥çâÅä+æÍž-8~á M^^lýúT*ãòå§ÉÉ%zzòÒÒ"œ šöfÜ %ÊÁἌŒhX˜ËWmE¥Ò¿ýö<‡}ôhÏ„žõ쯢¢É×—˜›[½aƒ‰Ï2)©Yœš–f\µc‡u||Ñ×NCâááºqõ®îÃo¿‘Æ)°‘ÓÔ”‰Žv Ú’ž^anîwáBRw÷(ŸU Aƒ™‰] €ššTTÔ‹/_z¬­ç~Õ†ÂÂüšš2GŽ~¼W]]Š­q±‚ ÉÉ%É/_ÖèèÈíÞm»b…>„Fn¦'ˆäägç°””}£; èZu±«‹úçŸ{'óeT/^T¡«æÎóãÖŽŽF8ÜÌí]B#7Ó‚ ‹43S?uÊit547¶·ÐÓ“¿~Ý‹Ôÿœ³³ß]¼˜üìY™ŽŽœ«ë¢Õ« 9>Ý šäfôƒÁ0Ì«Wÿrq1çååE BB¼ÆÆJþþñ8ÖÔTí²‘¼¼Øš5Æööºïß·]º”rófÆçÏÝRBB|œ š¤fz‚hhÈ„†>ä?_et5ÈÊΞ5‹ïøñÇóæ)ª¨|õxç“’¶·×uu]$!1ëÞ½œS§ârrªDETU%áðÔÇLïb Ž‹½ÿÅ‹ùøFsÚ»721ñu|¼§’’8cW4#>¾èêÕ´¼¼j}}…ï¾3]µÊ@X˜ŸÓqA“LÐÒÒabrä÷ßW;;›ºtÀ’Ng<~ì1–DÃEEõwîdÅÄäS©t{{Ýuë,Z¤ 2!˜ þáí•‘Q™–¶Ÿ‹kô¿ŠªªÖåËV­2Œ½*EEñK—6“H/ƒ‚žŽ½6šx0Aôµr¥¼¼ØùóIl©ÍÊJëàÁÿøù=Ý­« ˆ³`‚è‹‹ ëímÿàAî»w-l©pÛ¶E?ýdãéy/!¡˜-BЄ b+WÎSU•¼p=€V¬Yc´k×í¼¼jvÕ A&ˆàpX¥$Ò+vD`0˜Ó§×›˜¨º¸„³«Nš0A ŒíÜܸ°°ïeeE7m åÈS‡F£Ñ"##½¼¼N:UQQ1Dɶ¶6ÿ±´E"‘zŸK{úôi`` ëeiiéñãÇÉdòHZ©ªªêž¾®®ŽÁø÷©¥W¯^=öÿ¢¢¢(JÿzF¾S£Þý†††ooï””í+n†ÞÚÚôæÍ›Q4:v0A Œí!!ÞÛ·w âìF¡ô°«Ú±kll\°`ÁÙ³gŠŠŠLMMwïÞ=Xáöööððð±4W^^þË/¿°^úùù¹»»74üs÷í{÷îEFFvvvÝJpp°ššÚâÅ‹UTT‚ƒƒÑ•111óçÏ777WPP`5qéÒ¥äää÷ïß¿ÿ> @ZZ:66ökwjÛ¶mÕÕÕ#)9 ÈÈH==½üü|IIÉ'N((( ˜§äææŠÅrè§Š@ƒ Ó‹ؽû{«-)ù[KË×Åå*Î`oÍDEE ]ÆÉÉiÙ²e4 }ùúõk>>>ôŸóxÈÉÉ444 B¡Pøøøðx|xx8ú®­­íîÝ»‡®¡§§GTT4;;A´´4 …‚ ˆ††ZOmm­¸¸xVV‚ úúúaaa¬m½½½—-[öµ1ËÉÉåççíV,†††7oÞd½´¶¶á¶êêê£nz䜜œœœœú¬„Gƒƒ/{ýú¶ÔÔrOÏ{£x$Ûµ´´DGGoݺ•‹ëŸéž!<<¼±±’’²bÅ 111ssóˆˆ@ss³ƒƒº¡‘H”••-))©ªªòôô”——ßµkWII ZÕéÓ§û,‰ˆˆdddž?ŽÇã7nܘ˜˜`2™/^¼°±±aµòáÃ[[ÛGéêê***:tP\\looobbX°`ƒÁ((((..nkkC›PTTtpp ‰ý÷W__ÿÕ«W}âöìÙÍ­_¿¾¥¥eýúõiiiC†~bººº»wïöõõ‹‹£Ñh•••¬f``¨©©±±±a­_¿~}NNNïÀLLLêêê\\\âââü:™™™ÆÆÆÎÎÎeeeèÊÊÊJ[[[QQQ++«þGL_a2ÓÔ5N‚¤¥U(+{ïÙs—Á`²½òÞÀpG±±±X,–L&÷‹Édjii…„„´µµ‰Dqqq …R]]-((ˆ H}}½€€€MDDDww·¢¢¢¯¯ouuµŸŸŸˆˆ•JE$&&&00­­÷²ƒƒƒ‡‡‚ îîîûöíËÍÍ£Óé……… æÃ‡¬Vyxxkkk_½zÅËËûæÍ´’žžž˜˜˜;vèèètww÷ŽüãǪªªÑÑÑ‚èëëŸ;w®µµµµµ5))I__ßÝݽOüeeeC4×ÖÖ6gΜgÏžQ©Ô¡£R©"""'Ož|÷î««+×íÛ·Ù¿?‡spp ë}hVZZ*..Îz©¯¯Ÿ””Ô;°ææf•„„„îî!%%åçç÷þý{•+W¢UûúúÖ××_»vMXX¸°°pØ?• `‚‰ôR^Þ³²²™í5?^¦¤ä½?‘í5÷6l‚¸{÷®ŒŒÌ€oQ©Ô¼¼ÕÐÐØµkÚiÒ××Çb±8‡ÃIKK{zz666ö‰ØæX]Œ¡K&%%¡ñ#ÒÞÞŽÃáÐ HnnîÞ½{uuu1Œ]ee%2x‚`† ˆššÚWðëÈÈÈÀãñèJ …âïïO£ÑêêêYŸ‰££ã±cdžø:P°‹1ó””Ä/^Lf{ÍVVZW®8ß¾yèÐl¯|䤥¥›ššJKK{¯LMM%‘HÜÜÜöööjjj[¶lé¿-‹µ²²$''›™ý{·>KKˤ¤¡NÙØØäççWTTÔÔÔXXX`0˜¥K—&&&feeõ>äfA{ÇZ9gΜW¯^577H$“Éôññqqq9|øðåË—YGõ!!!t:N§755={VFF¦Oü#in@}J&%%±>aaammm‚ ÃØØ8  ¨¨¨¸¸¸§§ÇÕÕuˆj lÀ¯#11ÑÜÜ]ðññáââJHH “ɪªªÊÊÊÊÊÊéééh:˜ †Ãa½½í££óÞ¼aÿÕÍË–é|þ×ùóOØ^ù™™™  ]\‚ ;wî$“É=Ú³g··wEEEvv6?ß›Ùb0€ŽŽNyy9k}yy9úÛŒžžž¨¨èÑ£G---yyyööö ™™™&ˆ>cø±±±§OŸF—ÅÅÅ-,,зråÊ–––’’’7ŽdßYñÝÜú”ÔÔÔd}t:½¦¦˜˜H ü{ë püøñ´´´žžÿ9“E§Ókkk‡lÀ¯CKK =½‚"‰ E[[›@ ÔôræÌ™îQßÝf3ʪU†††Ê’Æ£òµkÏœYút§.èâçç÷ññ ,**tuu¶´´lÚ´éË—/sçεµµÅáp>üüù3“ɰ›šššôôt@QQQVV:’÷òåKtô±Ï2ƒ±¶¶ŽŒŒ\ºt)ºÆÎÎîåË—ÕÕÕ‹-6fàçç×ÚÚ hjjzúôé† ^¿~““sðàÁÖÖVôWññãDZ~:½ ¶ï½­X±";;³pÿþýŽŽ cbbÒÔÔ„–a0QQQ¼¼¼¢¢¢íííuuu‰ôéÓ§!*ðëøöÛo_¼x¶˜pèÐ!AAÁ… 644 c´Ÿ?Æãñè—; ðÁJ#ràÀŠÕ«/>{Vfc3—í•oØ`ÒØØ~üøc~~îï¿·d{ýÃ:pàÀ—/_ŒŒŒTUU[ZZæÍ›wíÚ5U«V>|ØÈÈHXXØÐÐ@ 8;;ß»w¯ <<<—.]Ú¶m77wGGÇñãÇÅÄÄ·oßÎÎζ³³ë³ X¼x1‘H\²d úRRRR__ ""2lÀªªªÛ·oÇãñJJJ îîîêêê.\ “Éêêê¬bnnn—.]óÇ***»víºté’„„ÄŤ¥¥>lcc#)))""‚Çã…„„fÏžéââòûï¿ËËË×ÖÖÊËË£SÅddd6lØ`hh¨¡¡ÁÅÅei9Ô·?àבíïïïàà **ÚÒÒ‚N9Ãb±.\øý÷ß:ôñãÇÍ›7/X°`”{>ìЄrv[¼øÔøt8s&~ÎË—SØ[-Á<TgggVV:=¡·‚‚‚ŽŽAš››ÓÒÒ Æ€§<a2™ùùùt:}Œ1#2D+,ÝÝÝ999¬éãÚ\{{ûÓ§OÛÚÚ†.I&“ß¼yÓÙÙ™››ûåË~~þÜÜ\ô-*•š””TVVÖg«wïÞüsëóu +étz^^^ÿ^½zÕÙÙ9’jxcŒ*+›<ïß1~Mܸ‘.+»÷èÑGl¬sä ;2™,))]TTäææ¦¦¦ÆdŽïil6‚g1ÆD]]jݺ§OÇ÷ôÐÇ©‰­[ÍOr ~väH o8‰‹‹GGG'&&îܹ“B¡<{ölª?ÍŽA|û?þxuýzú?ZS›7/Äá0>>÷¿|¡?¾v’?.êÏÒÒrè¡„©A|ii‘íÛ­.\HúôéËøµòÝw¦—/o‰ˆÈÞ·ïþd˜‹ Íd0A|7·oxxp—/ï)ÉÿüÇàìÙ QQ/~ù…ûÁñu„„xÝÝ—\½šú÷ßmãÚ“ÓüË—7ß»—ãæv‡J¯QL_móæ…RRÂçÎûÜÇ•+ >Üý×_厎—>|èïæ ¨?˜ ¾×¾}ËîÝËÉϯï¶ŒŒ”H¤Ý--Ÿ.ÔÔÇ»9ê&ˆÑpt421Qýùçû ÆðÓoÇHCC:6ÖCHˆwÕªÀââ÷ãÝõÄh`0?¿5ee‘‘9М´´0‰´›@st¼ôìYÙ´AÿàÀŒ­ébÿ~"¿ÿãÇ‘Ne£înš«ë5eeïØØ‚‘oÅé¿/h*é?“>¼wôÚÛ¿XXœX¹ÒÀÏÏqbZd2‘ƒI7oføú.ßµkñHfé=xð`ƒ¦yyù… ö^Ęܽ›åëKLLôÒÖ–°Fÿøã•—W”¹¹ú¥K[„…ù&¬]h‚ bL˜LÄÁá<77‰ô߉œuÿúõß?üÎÃÃuýº«††ô„µ Í4prL°XÌñãkóòªcc &²]¹„¯9sDV¬8Ÿ˜øz"›†fÜáÇ9ÃÔ&##R_ÿñÖ­Ì-[̸¹‡¹…!ñóó8:wvöüúëÃîn𥥯T¿pš„`‚`cc•çT*ÝÂBc"ÛÅb1‹iŠŠòŸ=›P[ûañb<<$„Ø þ=±„„»û’ç™ìèêºèÞ½Ÿ’’Þ,_~®¼¼i…1˜ ØcÛ¶E**’>>Qô53SOMõ•–^ºôÌÙ³ ð"qˆ]`ƒ=p8ì‚*§NŋР(M|‚‚¼ŽŽF³fñŸ>Ÿ]µh‘¦< <‚`<^ö§Ÿlüü×Ö~àH fÛ¶Eü±çýû¶¶g’’8óÀxh:ó Ø‰J¥/]zVNNôîÝ £££ûçŸÄÄäoÚdúûï«øùx6 ìb°‡ÕÕU8yòO1AŽSaðòr-_®7{¶à•+Ï’’J ”¤¤„9 4¥Á.›)mÝjqèЭ­ ƒÁüðƒeB‚//÷òåÇŽÅvuQ94EÁ.û}ùBýæ}}Åà`gNDZ±¿üB俯;æøí·úœšJ`ƒý¸¹qjjR'N<ÖÖ–› JhiÉ8:•–6<©­ý`d¤"(ÈËé  ©AŒw÷ˆ¿þ*þügNÇòøøâ#GbÈäN7·Å;wZÃÁKhX0AŒ—OŸ¾XY\ºTçôéuœŽå_t:óÞ½œÓ§ãétæÞ½K]\,àìlh°‹1^øø¸¥¤f>of¦.//ÆépþÅbôô6lXÐÞÞ˜œP,--¬ª* /ô‚ Æ—«ëµ7o’“}„„&]·¿¦†|âÄŸþY¨©)ãá±dÅŠyðIP0AŒ¯ÏŸ»¾ùæ´©©ÚÅ‹›8ËÀêë?††¦Þ¾)--¼}»•³³|b+ôØÅ_¼¼Üxüœ£GcÕÕ¥æÎÃép "¿x1ÞÁaÞû÷m!!ÏI¤|:¡©)ÍËËÍéР΃Gá·ßHä>}ºOVV”Ó± ¥¦†|ùòÓèè<ëädìêºHMMŠÓAAœÄDøò…ºdÉuu©7\'ÿpà§O_"#snÞ̨¯ÿhc3wÛ¶EVVZ“?lh\Œùq Ј¼xQ%/ïyíÚ_œd¤ æ“'¯7l¸")¹…ӤЈôªÅØÁ#ˆ‰sþü“sçžH» 9pÈQÃb¹= d½,--=~ü8™LI+UUUýOäÕÕÕ1ŒÞkBBB¼½½SRRh4ÚÈCmmm zófªÞa&Ž13Sww_zäÈ£‚‚:NÇ2V ,8{ö¬€€@QQ‘©©éîÝ»+ÜÞÞ>–æÊËËùåÖK???ww÷††ôå½{÷"##;;;‡n%88XMMmñâÅ***ÁÁÁèʘ˜˜ùóç›››+((°šˆŒŒÔÓÓËÏÏ—””<<}×ÖÖv÷îÝC×ÐÓÓ#**š HZZšˆˆ…BADCC­§¶¶V\\<++ ACCÛ7o²¶µ¶¶a¨êêê_½‡_ÏÉÉiíììÜgÙÈÈHDD$##ðüùs<¿qãÆÄÄD“É|ñâ… «•>ØÚÚ>zôHWWWQQñСC€ââb{{{À‚  FAAAqqq[[Ú„¢¢¢ƒƒ‘H¤Ñh•••¬]„……jjjlllXëׯ_Ÿ““Ó{§LLLêêê\\\âââü(™™™ÆÆÆÎÎÎeeeèÊÊÊJ[[[QQQ++«ØØØñøÖFŠí)úZµµdáÀ¶m×™L&§cî"66‹Å’Éäþo1™L--­¶¶6"‘(..N¡Pª««©¯¯°±±‰ˆˆèîîVTTôõõ­®®öóó¡R©‚ÄÄÄ¢µõ^vppððð@ÄÝÝ}ß¾}¹¹¹bbbt:½°°ƒÁ|øðÕJcc#££cmmí«W¯xyyß¼yƒVÒÓÓ³cÇîîîÞ‘üøQUU5::Aýû÷ãp8‡°°°Þ‡E¥¥¥ââ⬗úúúIII½wª¹¹YEE%!!¡»»{À‚Á`HIIùùù½ÿÞÃÃcåÊ•hUÆÆÆ¾¾¾õõõ×®].,,ök§#˜ &…ÔÔ2yyÏK—’9ȆMwïÞ•‘‘ð-*•š——‡.WTTpssWVVöN€'Ož RPP ''ÇÚý± Ñè¹sçæÏŸ ONNf2™’’’™™™W®\™7o‚ ½ 33ÝÐÂÂâÁƒèrCCƒ‡óóóc0¬ÊŸ>}ª¡¡±k×.V§)77wïÞ½ººº ÆÎή²²|ùòe...A †±±q@@@QQQqqqOO««ë±±vª·?ŠÄÄDssstY@@ÀÇLJ‹‹+!!L&«ªª*+++++§§§£9Ž#`‚˜,ÜÝ—,[¦·cÇÍ·o[8Ë×133@»Ù(AvîÜI&“=z´gÏooŠììl~~þ>Ûb0€ŽŽNyy9k}yy¹¶¶öêé鉊Š=zÔÒÒ’——`ooŸ™™9`‚ès!66öôéÓ貸¸¸……šàV®\ÙÒÒRRR²qãFôÝÄÄDÀÚ@ ?~<--­§§§w…t:½¶¶¶ÏNõ6àG¡¥¥U]]Í*C$)ж¶6@¨éåÌ™3C|ã‹íÇ$ШQ©t'§ ƒC mœŽå_`g1:¤¨¨ˆv•¿|ùrþüùÙ³gS(”ÈÈHCCC´Ltt4 ¼¼¼w‡Ã¡ïöôô §¥¥!RXX($$ôáÃAòòòÐ2½—Y»v-‡;sæ ú²¥¥…‹‹ ‡Ã}úô é×Å`meeeõàÁƒwïÞ‰ˆˆ´´´ fÍšUYYY\\,!!ñöíÛêÿ÷áÇ?Šˆˆ\¾|ÝœN§»»»£;ÕØØÈÅÅU[[‹ :/íb°v éÕÅð£øôéÓ¬Y³^¿~ H||¼¶¶6‚ CNNíµ··+))åää û5Á1ˆ¡½½ËÆæÔ’%§;;»‡/=!F’ ¨T*zx¬©©)**jmmM"‘éêêÒÒÒ244´¶¶öôô$&&&&Anݺ¥¥¥¥£££¤¤ÄŒtww711鿌 HPP ÷ž‘‘‘‘‘ºyâ=wîGÇ‹‰4ƒÓAS <‚˜˜L$(èé™3 ZZ2çÏoÄãÇý"qhz€ b)/oòðˆ()iððXêæ¶N¦‚†ÄÌB§3CCŸ$Ι#zâÄ MNGMj0AÌDÿÝöÛo¤„„âU« \)##Â鈠I &ˆ™+9¹ä÷ßc>íÜiíæ¶XP—ÓA“L3Ƹs'+ ‡Ã¸¹}³iÓBNM"0A@àóçîK—’¯]KäusûÆÙÙŒ›ÓAA“LÐ?ÈäÎË—SnÝÊæÛµkñwß™ ÁNÇLô?ZZ:‚‚R""²±XìæÍ øÁRVV´±£Gþõ×_„úõ×_­¬¬& !˜  |þÜ}çNæµki­­Ë–émÞljn®Áü{£ªuëÖeee-\¸ƒAÎX<ˆŠŠš˜ç•À ŠFcÄÄä_»–VPP§¬,ñÝw&ëÖ-–ÿÿ4¶?Ç  3a Î¥ƒÅÍ[»ÖxíZãêêÖ‡_Þº•yêTœ¹¹ÆæÍ ™L€…×ñÌðK††§¢"éåeŸ‘±?(È‹Åüôӭׯ%94à4R<<\+WÎ[¹rÞß·}ÿýN‡Mx}59¹Ù¢¢=œŽš0A@4(˜  ñE£Ñ"##½¼¼N:UQQ1Dɶ¶6ÿ±´UZZêçç×ÞÞÎZS^^îçç÷ùóçŽŽŽ“'OönåíÛ·7nܰž†††ooï””6òZ[[ƒ‚‚Þ¼y3–½˜T`‚€ÆQccã‚ Ξ=+ PTTdjjº{÷îÁ ···‡‡‡¥9uuu"‘èíí¾d0[¶l©««nooGŸ2Éj¥¬¬,88¸%‘‘‘zzzùùù’’’'NœPPP P(# ÀÍÍ-44;Nð ôõœœœœœœFRlÙ²e4 }ùúõk>>¾ªªªñ ¬°°——799A“'Oª©©uvv"R__ÏËËÛ»dll¬‰‰Iÿ oÞ¼Ézimm<ÂÖÕÕÕ322FýÈ¢¢¢Æ»Ô4JuÐ$ÓÒÒ½uëV.®N–„ðððÆÆF@JJÊŠ+ÄÄÄÌÍÍ#""ÍÍÍè†vvvD"QVV¶¤¤¤ªªÊÓÓS^^~×®]%%%hU§OŸvvv§§wðàÁíÛ·¿|ùòèÑ£·oßì«‚ ˜3g޽½}JJ €F£UVV²„……jjjlllXëׯ_Ÿ““Ó;T“ºº:—¸¸¸w™™ill,!!áìì\VV†®¬¬¬´µµµ²²Še×çÏ“‡ if$G±±±X,–L&÷‹Édjii…„„´µµ‰Dqqq …R]]-((ˆ H}}½€€€MDDDww·¢¢¢¯¯ouuµŸŸŸˆˆ•JE$&&&00­­÷2‚ t:ÝÄÄ„ŸŸÿþý¬•¬#V+±±± fíÚµ—.]*..Fdÿþý8ÎÁÁ!,,¬÷ÁNii©¸¸8륾¾~RRRïP›››UTTº»»ÜAƒ!%%åçç÷þý{•+W¢UûúúÖ××_»vMXX¸°°pèLàLÐhŒ$Aܽ{WFFfÀ·¨Tj^^º\QQÁÍÍ]YYÙ;Až|øÐßßÿ¿ÿýoSSÓ%544¤¥¥Ñe›ÔÔTA †±±q@@@QQQqqqOO««ë•°BímÀLLL477G—|||¸¸¸Èd²ªªª²²²²²rzz:Ú›$`‚€Æ‹™™™€€Ú!G!²sçN2™üèÑ£={öx{{WTTdggóóó÷ÙƒÁðððtttÊËËYëËË˵µµ‡h´µµuûöígΜñññ133Û¶mÛ…ëê꺺ºÐå’’ccãÄÄDÀ*@ Ž?ž––ÖÓó?ÃètzmmmŸP{pµ´´ª««YeˆD"…BÑÖÖ&5½œ9sfˆ˜'LÐxáçç÷ññ ,**tuu¶´´lÚ´éË—/sçεµµÅáp>üüù3“ɰ›šššôôt@QQQVV:ÄøòåËÄÄD´Lïå;vèêênß¾påÊ•ôôôÐÐÐÁ"ìéé C¤²²’D"988˜˜˜455¡ FTT”//¯¨¨h{{{]]€D"}úôiˆ}p¿ýöÛ/^ ³$:$((¸pᆆ"‘øüù3G?®Ébbz2Ð43ÂÓœT*=ÖÔÔµ¶¶&‘H‚tuuiiiZ[[{zz“Þc8ŽUÉ­[·´´´ttt”””Xƒ‘îî”¬åëׯ UWW³¶½zõªÐÛ·oƒ°°°Àãñêêê8níÚµL&A¸¸8))))))CCCqqq}}ýòòr´¶Í›7‹‹‹›ššZXX >¡²Æ ÜAA®\¹¢¢¢b`` ''nE$uuuµµµedd¼½½‡ýT¤„&¹&TgggVVVCCCŸõ‚477§¥¥1ŒOy Âd2óóóétúXbFõi…J¥æää”––ö.C¥R³³³“’’ÊÊÊúlþîÝ»‘GÒgÑ•t:=//¯ ¯^½B§l k"¼a 4ð†14‘7Œc &‚Aƒ‚ ‚ AÁAР`‚€ hP0A@4(˜ L >¥ªªª!®ƒ‚¦˜  QzùòåÎ;94¾àµ ŽA@4(˜ L &‚õQ€K¸!F{âIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Pattern.html0000644000175000017500000000005011561716354025044 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Pattern.html0000644000175000017500000004341311561716354025265 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Pattern Class Reference

This is a reference-counted object that should be used via Cairo::RefPtr. More...

Inheritance diagram for Cairo::Pattern:

List of all members.

Public Types

typedef cairo_pattern_t cobject

Public Member Functions

 Pattern (cairo_pattern_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~Pattern ()
void set_matrix (const Matrix& matrix)
void get_matrix (Matrix& matrix) const
Matrix get_matrix () const
void set_matrix (const cairo_matrix_t& matrix)
void get_matrix (cairo_matrix_t& matrix) const
PatternType get_type () const
cobjectcobj ()
const cobjectcobj () const
void reference () const
void unreference () const

Protected Member Functions

 Pattern ()

Protected Attributes

cobjectm_cobject

Detailed Description

This is a reference-counted object that should be used via Cairo::RefPtr.


Member Typedef Documentation

typedef cairo_pattern_t Cairo::Pattern::cobject

Constructor & Destructor Documentation

Cairo::Pattern::Pattern ( cairo_pattern_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Pattern::~Pattern ( ) [virtual]
Cairo::Pattern::Pattern ( ) [protected]

Member Function Documentation

cobject* Cairo::Pattern::cobj ( ) [inline]
const cobject* Cairo::Pattern::cobj ( ) const [inline]
void Cairo::Pattern::get_matrix ( cairo_matrix_t matrix) const
void Cairo::Pattern::get_matrix ( Matrix matrix) const
Matrix Cairo::Pattern::get_matrix ( ) const
Since:
1.8
PatternType Cairo::Pattern::get_type ( ) const
void Cairo::Pattern::reference ( ) const
void Cairo::Pattern::set_matrix ( const cairo_matrix_t matrix)
void Cairo::Pattern::set_matrix ( const Matrix matrix)
void Cairo::Pattern::unreference ( ) const

Member Data Documentation


The documentation for this class was generated from the following file:
  • cairomm/pattern.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SurfacePattern__inherit__graph.png0000644000175000017500000000005011561716354031376 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SurfacePattern__inherit__graph.png0000644000175000017500000000762011561716354031617 0ustar00murraycmurrayc00000000000000‰PNG  IHDR{áYbKGDÿÿÿ ½§“EIDATxœíkPWÇO.\‘äZ¤"`€ÔBQj±PêTmq¢¥Sgœ(£¨€ŒŠ¶¥ÃmêX…2*£ˆÕÑVD(08*"CÓ†Wä B ÷.@’}?l'ï–$”KB|ç÷éÙ“³Ïóßüsöœì–„a@@Y×Zù 'ÈW8A¾Â òR0MÃ`0t}Lÿhܪ6TúùùÅÄÄh#3|TVVž={Vãiµâ«ƒƒµsÓÎõ4¿Â òN¯p‚|…ä+œhe=}ú‹/¾PŽg@§ÓkkkU–c2™}}}L&“ÍfcÇ Z±bÅ–-[ðáN”Äf³ƒ‚‚ŠŠŠ<==¿ùæm¾‹³¢ñOÊ\Ækqq1™LP~I.—»ººfee …¼¼< ‹ñññŽŽccc úººŒŒŒoÞ¼999éèèxìØ±ŽŽŽääd33³©©) à 322ðlĘN§Ÿ={¶¿¿¿¿¿¿´´”N§GGG«,' mllÊË˧¦¦ˆ1†a>>>ÇŽëêêºr助©iCCQŸÏ×××ßµkWgggmm­Accãìo…–Æ«n|½qãÆªU«T¾455U]]Ç­­­zzz<è+àÁƒ†Õ××ÛÙÙ)v¤Ó饥¥³¥Óéd2™B¡P(kk똘@ ²¦æ<üâÅ GGG™L†·ïÚµ+))‰( ?ßp8¼ÃæÍ›oß¾=û[¡%_u³¶¶¶îééinnvwwW4VTT …††Ö××'$$ðxô÷÷W´”––ÍR7++‹ÅbÍhœ½‘{÷î 8;;ã›666DI8¾¾¾x@¡PfO¨=tã«¿¿¿‘‘ÑÝ»w¾bTUXXH¡PÌÌÌfìK"‘ôõõ×®]S´·´´„‡‡ÏWÉ¿–#²nÝ:VUU…oNLLH¤…$2Y÷Wt£`Ù²eGÍÈÈàr¹€‰‰‰ŒŒŒ¾¾¾ððp±XìææD¡PòóóGFFär¹Ê$|>ÿ÷ßp¹ÜÊÊJ|mUSSsÿþ}¼1VÉ,åˆuñxãÆ/_¾ÌËËŒŒŒ¸»»ãú_AtöÉJHH`2™ÞÞÞ®®®¶¶¶¿þúë•+WŒŒŒ>ùä“ññqooïÀÀÀ?þøƒF£©[Ðêëëgff²X,OOÏ;w¦¤¤¬\¹pýúuÅB”«D]¹Õ«W:t¨ººš“Éäôôôï¾ûŽF£¹ºº2Œ 6hø}ÑŸ±çøýgll¬²²òåË—3ÚëëëGGG1 ëííe³Ù2™LåâÃ0¹\^WW'•J£yF9 ÃD"Ñ£G„Bጧ¶¶vlll1hiÝDÂ4}_7,, ››«Ù´°’››Ëd25î‚îgx„6@¾Â òN¯p‚|…ä+œ _áù '¯‘¯7nTjüëÿ+‹VîçüöÛoÁÁÁÚȼx¼µ.¤.[6¡k!ÿ ··Wi5﫟ŸŸÆs.ž‘ý©)}‰ÄÊÖvD×Zþ¹¹¹›››ÆÓjþúð«É©SÙÙ¿YX˜44|G&“t-Gë¼ó«T*ÏË« Žq8<]ËY ^ _ÙìV‘h §GÉϯӵœ¥àµðµ  FO ˜ž–×MMIu­HëÀïëäätIIÃô´ ß‹%5ëVÒ¿¯¥¥““ÿ  9?¿F‡z–ø}Íϯ!þ@P*•?xÐ86&Ñ¡¤%r_GF&ÊÊše2±Q*•Ý¿ÿTW’–È}½{—«ü3U2™tçNµNô,ûš—WM"ͼ !•ÊÙìÖ1HZ`öµ¯oô?ÿi“ÉTþ¬œTRÒ°Ô‚–˜}-)©Wó§@&à `^Ãìkaa=ê®~cÕÕüÞÞWë€y]®ûlm\¼¸wçηt-d)€y¼¾Î _áù 'ÈW8A¾Â òN¯p‚|…ä+œ _áù 'ÈW8A¾Â òN¯p‚|…ä+œ _áù 'ÈW8A¾Â òN¯p‚|…ä+œ _áù 'ÈW8A¾Â òN¯p‚|…ä+œ _áù )ÊÏ6„==+2Ù@×*´ÅŒgxªø?ð³?0ñ rûöí-*|}ï½÷–B BsTTTÌhAó+œ _áù 'ÈW8A¾ÂÉŸw%•J+**ZZZÌÍÍìííÕõ-))Ù½{÷BþÍàà ‡Ãéîîöõõõòò¢Rçª|xx¸¢¢‚N§;99-RCIIÉÐÐÛÛÛoܸÑÐÐp‘9µÄBÆëàààÁƒsss ÛÚÚ:”‘‘¡®óøøxIIÉ"@YYÙ¾}ûx<ÞŠ+nܸ6999Ç}ÓÓÓ‹‹‹•ÿ»ô(((¨©©éïïïïïÏÍÍ åp8ê:Ÿ>}Z (ÇKÃBÆkff¦……Err2…Bðùüˆˆƒacc£ÜyÕªUׯ__¤Ê[·n>|øƒ>ìÙ³çÈ‘#¥¥¥;vì˜Ë¾<ïøñão¼ñÆ"5àôÑGx|ñâÅ¢¢"•=«ªªBCC•ã¥aÞã?­…„„জœœâããñTmmíñãÇwîÜùå—_–••„Bá‰'ð=ZQQñé§Ÿvvv ‚óçÏ3ŒsçÎuvvâ©~ùå—ÔÔÔ±T*ý믿åqqq...€žžž#GŽ(Ú›››‰…<ØÛÛ›––öøñc•òüqjjê‹/ðÆîîîØØØíÛ·GGG«”o¾ùfkk«Ê´‰‰‰ÃÃɉ‰\.—«ÌLÌårccc9ξ}û˜LfNNÎ| ™·¯ÍÍÍooobãûï¿O£Ñ0 ;wîܦM›nÞ¼–‘‘!‘H$I]]`zzúéÓ§………´µµýꫯôôô~üñGKKËÇK¥R€£££««+žSS©ÔÐÐД””„„„’’@`gg‡?ƒqjjª½½]!£««K, ¥¦¦ZZZFEE½ýöÛ*åavòäÉwß}7;;ÛÔÔ4++ O•””äææ–““óá‡&''+ªLLLˆD"‘HTSSsëÖ­­[·ªLkff»nÝ:b¬23Q°µµ5—˽wï^ZZZRRÒÏ?ÿ¬øÐÏ‹yŸ‡Åb±¹¹¹©©©òK2™ìäÉ“k×®8;;‹Åââ8“H$Ÿ}ö™O[[›\.ß¿? <<¼¼¼¼¡¡ÁÛÛ›xN#Æ,+  ¬¬,??ÿÌ™3>>>ÑÑÑvvvêD* H$’±±±žžžT*U–7<ŸŸžžþý÷ß§§§«©(D„J¥*Ë«ªªR(100À×íUUU"‘hÏž=x»D"±°°ÀãØØXÅüª`ö£&¢.ó ÁøÈŸè4/æí+F300xüø±ÂW ÃΜ9Æáp222’““ׯ_O&“•ŸD"áßOV¯^}ÿþ}E{WWWPPºŠOž<ÉÌ̼ví¾éääÄb±"##§§§‰Ýd2™âÙÇŠBDTÊstt|ö왢OEE…¯¯¯““ÓêÕ«ñq H$³,§ÿõ¨‰¨Ì,‰f^üê}ÞüC}çÎ|Ê‘H$ùùùÃÃÃÁÁÁ“““ŽŽŽÞÞÞd2™Íf‹ÅbuX¿~}OOÏÓ§OíííøY·µµõÉ“'xEìîî>44TXXˆ·Ëåòòòò5kÖèé陘˜Œ÷õõØlöØØlÄQ)ÏÏÏïÏ?ÿäóù€ªªªœœCCC600€ß$‹Å{÷î%ÎâsI‹¿D<|<žWæÅ°ï9Ÿþ¹D"9pà€Íðððš5kâãã 6oÞ|õêÕ»¸¸899¥¤¤|ýõ×*ªR©ÑÑѧOŸ¦R©b±˜Åb-_¾ðàÁƒ¦¦¦wÞy‡/_¾üÔ©SiiiW¯^µ´´ìííµ´´üöÛo+W®Üºuëþýûííí)Š——×,²UÊ;þ|DDĉ'LLL„BaTT€D"EFFþôÓO999£££ÁÁÁ³<*[]Z›³gÏFGG»ººcåÌýýý pavþñ<ŽÜÜ\&“Y^^>—='''ÛÛÛ­­­sN[[›­­í²eˆ‡‡»ºº<< cairomm: Cairo::GlitzSurface Class Reference

Cairo::GlitzSurface Class Reference

A GlitzSurface provides a way to render to the X Window System using Glitz. More...

Inheritance diagram for Cairo::GlitzSurface:

List of all members.

Public Member Functions

 GlitzSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~GlitzSurface ()

Static Public Member Functions

static RefPtr< GlitzSurfacecreate (glitz_surface_t* surface)
 Creates a new GlitzSurface.

Detailed Description

A GlitzSurface provides a way to render to the X Window System using Glitz.

This provides a way to use OpenGL-accelerated graphics from cairo. If you want to use hardware-accelerated graphics within the X Window system, you should use this Surface type.

Note:
For this Surface to be available, cairo must have been compiled with Glitz support
Warning:
This is an experimental surface. It is not yet marked as a fully supported surface by the cairo library

Constructor & Destructor Documentation

Cairo::GlitzSurface::GlitzSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::GlitzSurface::~GlitzSurface ( ) [virtual]

Member Function Documentation

static RefPtr<GlitzSurface> Cairo::GlitzSurface::create ( glitz_surface_t *  surface) [static]

Creates a new GlitzSurface.

Parameters:
surfacea glitz surface type

The documentation for this class was generated from the following file:
  • cairomm/surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32PrintingSurface-members.html0000644000175000017500000000005011561716354031005 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32PrintingSurface-members.html0000644000175000017500000002525211561716354031227 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Win32PrintingSurface Member List

This is the complete list of members for Cairo::Win32PrintingSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(HDC hdc)Cairo::Win32PrintingSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
Win32PrintingSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Win32PrintingSurface [explicit]
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~Surface()Cairo::Surface [virtual]
~Win32PrintingSurface()Cairo::Win32PrintingSurface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_1.png0000644000175000017500000000005011561716353023645 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_1.png0000644000175000017500000000267111561716353024067 0ustar00murraycmurrayc00000000000000‰PNG  IHDRu(Ov"ÂbKGDÿÿÿ ½§“nIDAThíš_LRoÇ_@´È¡¬a2®.qnÌE1­­éE¸A­®œ® u6klnu£^˜-×]K½pà p¦mÎ)«+k!BÉš8!ÿL`£ ¢@x~ç7FhJýÍßù\½ïsÞçy^¾;<çyÏ iÐz‡J_r¡ô%—<ÂÜd2¹\®ÙÊá ¹¹ù·9üŽZ­> zf¨jµ(vÏÓ§OÓŤê/¹Pú’ ¥/¹Pú’ ¥/¹Pú’ ñ|±sb±˜Ñh´X,%%%*• ðl+ÀãÇoß¾s®ÝfüïãýëñxΜ9sÿþ}‹õñãdzg϶¶¶f[ ‡††rÝa.³ÑÔÔäv»÷Çë_M²Z­ÞÉùB­V_ºt)‹áÓ¥¥¥#Gޏ\®½ïÚ÷4#ŸÏ_\\Ümêzáç ‚1}}>NK5êtº7oÞ€Édª¯¯çp82™L§Ó€×ëmhhÀ/^¼h0x<žÃáX]]íèèàóù7nÜp8xœ¾¾¾k×®ÆΘÇï÷+•ÊÉÉI±X|òäÉ;wî€F£a2™†½~ýœN§R©,**ª­­šš€gÏž]¾|y{{ôzýÕ«W‰Ák?ô}þü9N÷ûýé—‰„P(|ôèQ 0LJÃn·ûرc°±±Áb±êêêFGGþü)´Z­Ûíîéé)**ŠF£099ùðáC888;;» E²“Kÿ “ÉX,ÖôôtÒ---~¿jjª­­­³³Óét¾{÷îèÑ£_–ŸŸ‹ÅËËËIûòò²H$Ê!ãâÐéYH$ª¨¨ø’B?BhsssttÃ0|ºîçöwïÞv»~üø100ÀápÂáð“'O$ ¾f||ÿÁ©õÁ`àWýúÅf³Íf3Øíö¯_¿€Åb™™™Áפ޳e̯ÉÝÊåòd}XXX€x<Îçóqc0,++{ÿþ}"‘P*•ýýý«««çÓ§OÉú€{åPrÔ7Þºu+//ðââb…B111‘HD(J$…BqóæÍŠŠ ©TšQ_ …b±¸¬¬,ùLkoo—J¥éãl3ÆÉ¦oMMT*ýðáÆÊÊJ‘HTZZÚÙÙ çÎËòƒ$ Þ¦z퓾8¡Ph~~~kk‹`·Ùlß¿ŸÏg6›ãñx¶G"‘X\\Ä[¢¿É¸Ã8Á`ðÅ‹@ i±Z­¡Ph·^ɨ/ ~ÿþA£Ñ „ôzýÞTŸÿz½þÊ•+=©÷;äBéK.”¾äBéK.”¾äBéK.”¾äBéK.”¾ä’áý¤Á` Ñhû¿•C ñ|@%êK±·Põ—\(}É…Ò—\þŠÐÀ6ähÁIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/nav_f.png0000644000175000017500000000005011561716353021673 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/nav_f.png0000644000175000017500000000023711561716353022111 0ustar00murraycmurrayc00000000000000‰PNG  IHDR8³»fIDATxíÝIB1 Q;uÛ¿@ÑÏh;áÚ ±aË !ŽÐ‹V½CÈíþ âŠÅÆ|c±˜¾™¶¶3èsÑFÐFP»S{PšSšsVãlN®F.F.“ã2’ˆüµ¤ï_U¿Œ¾˜Ïþ«‰ÈH Ým”°•IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32PrintingSurface.html0000644000175000017500000000005011561716354027355 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32PrintingSurface.html0000644000175000017500000002010111561716354027563 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Win32PrintingSurface Class Reference

Cairo::Win32PrintingSurface Class Reference

A multi-page vector surface type for printing on Microsoft Windows. More...

Inheritance diagram for Cairo::Win32PrintingSurface:

List of all members.

Public Member Functions

 Win32PrintingSurface (cairo_surface_t*cobject, bool has_reference=false)
virtual ~Win32PrintingSurface ()

Static Public Member Functions

static RefPtr
< Win32PrintingSurface
create (HDC hdc)
 Creates a cairo surface that targets the given DC.

Detailed Description

A multi-page vector surface type for printing on Microsoft Windows.

Note:
For this Surface to be available, cairo must have been compiled with Win32 support
Since:
1.8

Constructor & Destructor Documentation

Cairo::Win32PrintingSurface::Win32PrintingSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]
virtual Cairo::Win32PrintingSurface::~Win32PrintingSurface ( ) [virtual]

Member Function Documentation

static RefPtr<Win32PrintingSurface> Cairo::Win32PrintingSurface::create ( HDC  hdc) [static]

Creates a cairo surface that targets the given DC.

The DC will be queried for its initial clip extents, and this will be used as the size of the cairo surface. The DC should be a printing DC; antialiasing will be ignored, and GDI will be used as much as possible to draw to the surface.

The returned surface will be wrapped using the paginated surface to provide correct complex rendering behaviour; show_page() and associated methods must be used for correct output.

Parameters:
hdcthe DC to create a surface for.
Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/win32_surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x73.html0000644000175000017500000000005011561716354023554 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x73.html0000644000175000017500000002542111561716354023774 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- s -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/namespacemembers_eval.html0000644000175000017500000000005011561716354025301 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/namespacemembers_eval.html0000644000175000017500000004626211561716354025527 0ustar00murraycmurrayc00000000000000 cairomm: Namespace Members
 

- a -

  • ANTIALIAS_DEFAULT : Cairo
  • ANTIALIAS_GRAY : Cairo
  • ANTIALIAS_NONE : Cairo
  • ANTIALIAS_SUBPIXEL : Cairo

- c -

- d -

- e -

- f -

- h -

  • HINT_METRICS_DEFAULT : Cairo
  • HINT_METRICS_OFF : Cairo
  • HINT_METRICS_ON : Cairo
  • HINT_STYLE_DEFAULT : Cairo
  • HINT_STYLE_FULL : Cairo
  • HINT_STYLE_MEDIUM : Cairo
  • HINT_STYLE_NONE : Cairo
  • HINT_STYLE_SLIGHT : Cairo

- l -

- o -

- p -

- r -

  • REGION_OVERLAP_IN : Cairo
  • REGION_OVERLAP_OUT : Cairo
  • REGION_OVERLAP_PART : Cairo

- s -

  • SUBPIXEL_ORDER_BGR : Cairo
  • SUBPIXEL_ORDER_DEFAULT : Cairo
  • SUBPIXEL_ORDER_RGB : Cairo
  • SUBPIXEL_ORDER_VBGR : Cairo
  • SUBPIXEL_ORDER_VRGB : Cairo
  • SURFACE_TYPE_BEOS : Cairo
  • SURFACE_TYPE_DIRECTFB : Cairo
  • SURFACE_TYPE_DRM : Cairo
  • SURFACE_TYPE_GL : Cairo
  • SURFACE_TYPE_GLITZ : Cairo
  • SURFACE_TYPE_IMAGE : Cairo
  • SURFACE_TYPE_OS2 : Cairo
  • SURFACE_TYPE_PDF : Cairo
  • SURFACE_TYPE_PS : Cairo
  • SURFACE_TYPE_QT : Cairo
  • SURFACE_TYPE_QUARTZ : Cairo
  • SURFACE_TYPE_QUARTZ_IMAGE : Cairo
  • SURFACE_TYPE_RECORDING : Cairo
  • SURFACE_TYPE_SCRIPT : Cairo
  • SURFACE_TYPE_SKIA : Cairo
  • SURFACE_TYPE_SUBSURFACE : Cairo
  • SURFACE_TYPE_SVG : Cairo
  • SURFACE_TYPE_TEE : Cairo
  • SURFACE_TYPE_VG : Cairo
  • SURFACE_TYPE_WIN32 : Cairo
  • SURFACE_TYPE_WIN32_PRINTING : Cairo
  • SURFACE_TYPE_XCB : Cairo
  • SURFACE_TYPE_XLIB : Cairo
  • SURFACE_TYPE_XML : Cairo
  • SVG_VERSION_1_1 : Cairo
  • SVG_VERSION_1_2 : Cairo

- t -

  • TEXT_CLUSTER_FLAG_BACKWARD : Cairo
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_0.png0000644000175000017500000000005011561716353023644 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_0.png0000644000175000017500000000300311561716353024054 0ustar00murraycmurrayc00000000000000‰PNG  IHDR€(¹ebKGDÿÿÿ ½§“¸IDAThíšKH[Ç'ÑøˆoDmŒXÅ@c D1ªF(>°]tQw®Ä…U«‚´ »ñ j)•âB!FQ‘: jÒJ ¥ñE¢­h4 ­°±©ÍDsîâÀܹÎLÔDï,œßêœóóÿ¾™?3猆@8؃ÏvwΖá `rgkkK§Ó±UÊáñãÇ÷ïßÿ·H ³WØ]axx˜|Ïý©3¸sÑíÁãñ.Œp{Ëp° gËp° gËp°Œ—¸\.FSWW×ÞÞn±X<Ì´ÛíÞeñ.ãÉÉI[[ÛÕ•www{{{ëëë?}úär¹|®ôzxcÀÞÞ^fffgg§P(\]]ÍÊʪªªbš|||Ü××çC…Þd|óæÍ•5MZZšÑhŒ‰‰immw80T^^n³Ù|¬ür¨_Âà2ž?^TTär¹`÷ÇAAA[[[—.ôškeÜÞÞ ¼¢²\.ïïï'º*•êýû÷°¢¨Ñhô¡jÊ—ðµ 888àóùCCCäAµZýõëW€N§+..ŽŠŠR*•jµ°¿¿ÿäɸ0??ddD$­­­mnnÖÖÖ¢(ZYY¹¶¶u:::JKK/´=g¤ê  FÉe˜L¦°°0X'ÄjµÎÏÏJJJAJJÊÜÜ­ÎÜÜ\UUÕëׯE"Qqq±^¯¿ôîƒ1Ã0>ŸxxH ¹Ýn‰DÒÛÛk·ÛGGG£££‡Íf ÷E(æåå þýûW,766Úl¶æææˆˆÇ?~|÷îT#Ú2¨:dh£ä2^½zåçç÷ôéÓ>)»Ý.‰fggaaT Þ={f6›{zzBCC-‹ç[nĵZ}ïÞ=ÚŽãKKK°m±XÕj%€ ÈÌÌ Àd2¡(J,”ÉdZ­Ö‹Œ´:„LQ¢ ÈââbmmíÇy<^AAÕj…ãÄ+ˆVÃ0Avvvà`IIIww7Ó%P ¸ö&·¿¿¿¾¾NüòåËøø¸@ 0™L………III¥¥¥Ôµ|>?77AN§T*‰ñììl­VëEFÏ:LQ¢ ÀùùyFFFWW×êêê÷ïßNgYYÙ…˜tQ…ƒyyy.Á×6@©T …ÂÉÉIbPQQqxx811ñâÅ‹úúz‹Åb0‚ƒƒ/¬åñx‚¤¦¦šÍfbÜl6?xðÀ‹Œžu˜¢DÓÓÓR©”˜ •J[ZZôz½Óé$À¤óóçOâÈ´¾¾.‘H˜.ÁäÇኧ ¦¦&±X¼²²øóçÏÛ·o£¢¢‡F£‘ËåpÎØØ¬•ü òóóƒQ§Ó7®•••ÐÐÐ_¿~–––¦¦¦àr›)#­ñ bŠeEDDôôôÀîÙÙYuu5q (Š.//3éÀWPgg§Ûí¶Z­b±xvvÖ‹W7à8ÞÐÐàï’©R©ÆÇǧ§§‰D.—«Tª—/_J¥R…BAk```@"‘¤¦¦&$$ouuµB¡ ¶™2Òê7aÚ(¹ŒÉÉÉØØØØØX¹\-“ÉÌf3 =zôH¡P,..Òê`–˜˜(“É’’’"##kjjˆSò­ùýû÷·oßvww/Œ›L¦““ÀÁÁ^¯???g:À¸Ýn£ÑxvvæcFÏ:—fÁqÜ`0hµÚ òøñññçÏŸív;­†aééé8Ž/,,]ñnÒ€;4ຫ¨pŒó’ðððäädßuhþ'Ìqrrrrrr|×áž–á `Ζá `Ζá `Ζ¡ù þ~‘ãöàÒOq··· ‹Õܲ²²âãã‰î àøÿáö–á `Ζùò °QoW?IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_8.png0000644000175000017500000000005011561716353023654 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_8.png0000644000175000017500000000550711561716353024077 0ustar00murraycmurrayc00000000000000‰PNG  IHDRÐ(ãWbKGDÿÿÿ ½§“ üIDATxœíœ}LS×ÇO{)/´ê@^*Ts'E‹o2Ì40ØL'ó-3qQàKäŸ132tC‡!,˜0ŠL›m øB¨ƒ)PdE0P(BQËK¹íÙç—û»kok©üjâï|þ:ç¹Ï9÷é·OÎ+…!Œ£à¾é0ÿ_à„Ã8œp‡âĬtuuUWW¿©P0o%ñññ‹/þo2())ysaÞNJJJ˜9ædî÷­˜Ù‚Ãá˜XðãPpÂa N8ŒCÁ ‡q(8á0'Æ¡°‹ØÂôô´L&khhðóóÛ¼ysXX˜%ÏÑÑÑË—/gddØ!\¹r¥¿¿•]]]?øàƒåË—[ñ*--‰‰‰D?üðÃÀÀ²‡††&&&º»»¿N0€âââîînchh¨T*µÔÄvŬ@QÔµk×§§§I’LJJâóù€ÎÎN…B±k×.¦³N§;þüñãÇíxÑÿ{F8F³råÊœœ>ŸßÒÒ}ðàAKÎccc¯!\¼x±²²R­V«Õꦦ¦„„„•+WZñÿüóÏ/]ºÄåryyyÕÕÕ¨í7ß|ãïï/—ˑ۾}ûÌóÆ´Z-ê°¸¸¸¸¸•‡‡‡-ùÏH1K¨ÕêuëÖ:uŠ¢(WW×¼¼¼ÈÈÈ¿ÿþðèÑ£ï¿ÿÞÄ||üÒ¥K3}‹ÝšØŠùM|III7nœžžFÕ¿þúËÕÕµ««ë• íF,ûí·tµ¯¯ ˆššKþ!!!÷îÝCe’$/_¾L?JKKÛ¸q#* ¥Rù:íÝ»wïÞ½¯t›ÅÖ¯_?>>ŽªƒaÏž=$IR%—Ë%ÉLƒgåõ5aÌnf< –••}úé§NNÿ™ŽE"QAAF£ܺu+11ÑÛÛ{Íš5W¯^<}úô£>B ?üðC™L6þüÖÖÖ®®®ÔÔÔ 8p µµuõÕW_%''›—Mðõõíëë¨Tªøøx//¯˜˜4tíÞ½»§§g×®]¿þú«y[’$›ššR©tppP*•ÖÖÖšÄfÒdjjj¦*Ù¨Xmmí¡C‡Nž<9þüÄÄD…B`5*•Ê_~ùåàÁƒnnn¨.—{äÈ‘‡^¿~!?..îêÕ«“““‹-ÊÌÌìîîÎÎÎ~çwôz=„ðúõë¹¹¹¨7fY,gee©T*•JÕÐЙ™><< !ŒŠŠÊÌÌìíí½r劧§çÇŸ={TQQ199 !$IòܹsCCCCCCUUU$I>|B8:::oÞ¼;wîèõz“ØèOôøñã£G …BKjØ2ÂYQL.—;;;oÞ¼¹½½ýÂ… ¬ÆÂÂÂ9sæ0cC„††feeÉår‡³uëÖŽŽŽ¼¼<?ÿüS£ÑÜÌU2 ~~~ÙÙÙjµ:%%eÓ¦M&š0ßRVV&‹ Ͱ0áfœpÅÅŬôz}CC*wttðx<•JÅL8ÀÍ›7!„ÍÍÍ€nH’dUU••—ŠÅbwww@aa!„°§§gÑ¢Eƒ¹mÙ²å‹/¾€×ÕÕÑs¹\‚ ‚ð÷÷OMMÕh4è=}0cƒÆß~û-!!aÉ’%999(³Y±%á¬(†µZªÛ¶m;wî«ñìÙ³+V¬0ïáã?þì³ÏP“ºÉ—_~I'«J÷îÝ GNwöìY4ã[šRëëëwîܹ`Á‚cÇŽõôôXÿÈ4æ 7ã)Õßß`` ­­i¬©©)//çñxÍÍÍ6lÞ¹s§y[.—¨®®^½z5m_·n]UU•õ÷ž9sF«ÕjµÚ±±±¢¢¢}ûöõõõUTThµÚÅ‹* 4³›ŸŸOQEQ999VbS(ho›’’ÒÚÚšššêíímƒ0±¢ ((H  c\\ÒÁÜÜØØ888Èì„¢(ôêïïO7©©©¡ÝXUª¬¬\³f ràóùéééôŒÏŠD")**R*•sæÌ‰Ý²e‹}jÌ8áV¯^Íçó™Ë#áþýûµZí7:”––ÖÑÑQ__O¯6h8޳³3`éÒ¥ííí´½½½=""ÂÖˆ¹ÜíÛ·»¹¹uvvFDDˆD¢' ¾þúë™~"“Øx<ž‹‹ËÐÐÐÈÈEQöõÆÄŠb€¾¾>N‡ìmmmB¡Õ(‘HœQŽÒܾ}{xx8..ÐÓÓ311ì­­­ôê Àª’P(dîFe2ýF+ aÒÉÉ Í3v0ã„sssKOOÏÍÍmiiLLLäææîØ±c|||É’%ñññA\»víùóçF£‘µ“¸¸¸'Ož åpKKK]]ÚX466VVV"fÙ‚ æÎ;>>¾jÕªþþ~™Lxþüyxx8ŠÊvÌ#”H$J¥2;;»¬¬,$$$++ íNìÆŠb½^ŸŸŸ!ìììüùçŸ7mÚÄj§OŸ~ðàê¶³³3###99yÅŠ€©©)´W©TåååHO«J ÷ïßG§*YYYôñ$ë·v÷î]©TºjÕ*¡B¡(**²Sæüj㱈^¯G#pXX˜——Wlllyy9„pbbB(FFFÆÆÆ¦¦¦ŠD"‰DÂ\ÃÑkXaQQ‘P(\ºté»ï¾Ko>Loï™e“cáúõë?ùä¡L&[¶lYDDD@@@ZZzj²†c‹0Y»v­D"yðàIl4ýýý§N‰D–¤°ñXÄ’br¹<((ˆ$Éàà`//¯”””ééiV#„Ð`0œ9sÆÕÕ5000,,ÌÉÉéèÑ£SSS¨Ÿµk׆‡‡‡„„±uëV£ÑÈÜ4°ªôÝwß-_¾\ ”••™hÂŒ¿´´ôý÷ß/--¥Ovl¼þ¦æåË—uuuýýý&öæææ/^@Ÿ>}Z[[k0X7hB£Ñ¨T*)в5|Ë455½|ùr¦­ÆÆÆnß¾=::jÝmV"„lŠÉår±X¬×ëïß¿?22bÅH399ÙØØX__¯ÓéLéõú?þø£­­ U™ ‡0W‰¢¨††ædÕÄnÌÎΫ-€»»{tt´¹$ITðóóóóóøøø°öÀápÞ{ï=»`bý¦Ëžžžhd‚ léM£Ñ 0–-[†4±¤ÇCÓâ+—ÈÈHÖx<}355uóæM___¦ƒ¹JAˆÅb¦…U°ûcÇ3ù‚躓OOÏ[Œ3¥­­íÇÌËË{Í~fdü‚á§Ÿ~’J¥ÿ¦3Kp8œ’’’mÛ¶ÑüçI‡‚ãPpÂa N8ŒCÁ ‡q(8á0'Æ¡°üšÿ? f¶ø×Áoooo}}ýŒóö½páBºÊÁ÷ G‚×p‡‚ãPpÂaÊ?G¤þR?4IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/cairomm.css0000644000175000017500000000005011561716353022235 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/cairomm.css0000644000175000017500000001625311561716353022460 0ustar00murraycmurrayc00000000000000body { font-family: sans-serif; margin: 2em 6em; } h1, h2, h3 { color: #2b5e82; } a:link, a:visited, a:active, a:hover { text-decoration: none; color: #3B80AE; } a:hover { text-decoration: underline; } h1 { text-align: center; font-size: 160%; margin-top: 1.5em; } h2 { font-size: 140%; } h3 { font-size: 130%; } caption { font-weight: bold } div.qindex { width: 100%; font-size: 90%; background-color: #dedede; border: 1px solid #CCCCCC; text-align: center; margin: 0.5em; padding: 0.5em; line-height: 150%; } div.nav { width: 100%; color: #FFFFFF; background-color: #3B80AE; text-align: center; padding: 0.5em; } div.nav a:link, div.nav a:visited { color: #FFFFFF !important; text-decoration: underline; } div.tabs { background-color: #dedede; text-align: center; padding: 0.2em; margin: 1em 0em; font-size: 80%; font-weight: bold; width: 100%; } .tabs ul { margin: 0em; padding: 0em; list-style: none; text-align: center; } .tabs ul li { display: inline; padding: 0.5em 2em; } .tabs ul li#current { background-color: #ffffff; border: 1px solid #cccccc; } a.qindex { font-weight: bold; } a.qindexHL { text-decoration: none; font-weight: bold; background-color: #eeeeee; border: 1px double #9295C2; } a.qindexHL:hover { text-decoration: underline; } a.el, a.elRef { font-weight: bold } a.code:link { text-decoration: none; font-weight: normal; } a.code:visited { text-decoration: none; font-weight: normal; } a.codeRef:link { font-weight: normal;} a.codeRef:visited { font-weight: normal; } dl.el { margin-left: -1cm } .fragment { font-family: Fixed, monospace; font-size: 95%; } pre.fragment { border: 1px solid #CCCCCC; background-color: #f5f5f5; color: #444444; margin: 1em; padding: 1em; } div.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } td.md { font-weight: bold; font-family: monospace;} td.mdPrefix { color: #606060; font-size: 80%; } td.mdname, td.mdname1 { font-weight: normal; color: #666666; } div.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; font-size: 90% } td.indexkey { background-color: #dedede; font-weight: bold; padding-right : 10px; padding-top : 2px; padding-left : 10px; padding-bottom : 2px; margin-left : 0px; margin-right : 0px; margin-top : 2px; margin-bottom : 2px; border: 1px solid #CCCCCC; } td.indexvalue { background-color: #dedede; font-style: italic; padding-right : 10px; padding-top : 2px; padding-left : 10px; padding-bottom : 2px; margin-left : 0px; margin-right : 0px; margin-top : 2px; margin-bottom : 2px; border: 1px solid #CCCCCC; } tr.memlist { background-color: #f0f0f0; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } table.mdTable + table { margin-bottom: 4em; } .mdTable { border: 1px solid #868686; background-color: #DEDEDE; width: 100%; } .mdRow { padding: 8px 10px; } .mdescLeft { padding: 0px 8px 4px 8px; font-size: 80%; font-style: italic; background-color: #FAFAFA; border-top: 1px none #E0E0E0; border-right: 1px none #E0E0E0; border-bottom: 1px none #E0E0E0; border-left: 1px none #E0E0E0; margin: 0px; } .mdescRight { padding: 0px 8px 4px 8px; font-size: 80%; font-style: italic; background-color: #FAFAFA; border-top: 1px none #E0E0E0; border-right: 1px none #E0E0E0; border-bottom: 1px none #E0E0E0; border-left: 1px none #E0E0E0; margin: 0px; } .memItemLeft { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memItemRight { padding: 1px 8px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memTemplItemLeft { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memTemplItemRight { padding: 1px 8px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memTemplParams { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; color: #606060; background-color: #FAFAFA; font-size: 80%; } div.memitem { margin-top: 3em; } .memproto { background-color: #EEEEEE; font-weight: bold; padding: 1em; border: 1px solid #CCCCCC; font-family: monospace; } .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #dedede; } td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #b0b0b0; } th.dirtab { background: #dedede; font-weight: bold; } hr { height: 1px; border: none; } cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32Surface__inherit__graph.png0000644000175000017500000000005011561716354030663 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32Surface__inherit__graph.png0000644000175000017500000001073611561716354031106 0ustar00murraycmurrayc00000000000000‰PNG  IHDR˜{pÞZbKGDÿÿÿ ½§““IDATxœíiTWûÀoB"hʢȎl1€èÔZäµ+PW<¥¸€(z”j­çˆX¬ÁEjqG,‘WEiŠ9T”EÙD–˜B ¡@!‘IîÿÃôŸ7…€(Ûëíü>ÍÜÜ{ŸgîoæÞÉpÈ „€àý‡<Þ Œ „HD D"!‘¨‡MzzúxÄûMzzúð-PF*›ëׯTWÿ*‚‚‚F¤Ÿ8R]¼Ä‰„HD D"!‘ˆ0¦"åryZZÚ®]»¾ÿþûúúúAj …ÂøøøáG|ùòerrrtt4‹Å’ËåCoø×_%%%UWW?‡±aìDòù|ooïãÇëêêVVVÎ;wûöíU‹ÅçÎfÄ´´´™3g–••ÇÅÅYXXH$’!¶ÝºuëÙ³gÉä÷gÆ©';o¬ —ËñݧOŸêèèðx¼á'0.\Píúùù9sfˆmííí€Åb-_¾|Ê”)¾¾¾W¯^‚+Và ýýý322¦M›öìÙ3·sçÎéÓ§oÙ²åÙ³gxWÇŽ[¿~}Ÿm¹\ÎápTá))) ÐØØ¸hÑ"UypppQQ‘z 9sæ¼xñbÆ ·oßÖ˜ °°ÐËËëƒ>X¿~}mm-^Èáp>üðC##£… æääŒÞxj`øçÂP®Èœœ2™ÜÞÞÞÿ#¥Réè蘜œ, 322h4šD"ihhÐÓÓƒ677ëêê.Z´èêÕ«===–––{÷îmhhˆ544ìíí…fgg'&&⽩oÇÄÄhii­X±"%%EýÒ¯©©¡Ñhª]ww÷¼¼<õ@ÀÆÆ&77·§§Gcz …ÂÄÄ$66¶¥¥eÇŽ+W®Ä»òòòÚ»wossó/¿üb``PQQñÆÑ#tEŽ‘È+W®˜™™iü¨···´´ß®¯¯§R©G]$àÞ½{ÂòòrsssUC\ÀàqKJJ¢¢¢ÜÜÜH$’¿¿?‡Ã‹T‚ÚÙÙ=|øp ôâr¹Cï§Ozx!†a¥¥¥ý{xòäIww÷Pº…ï¯H‚>Œ”È÷çÁ "‰„HD D"!‘ˆ@ˆDôEVV6WUµŒw£ÎˆýËÀÒ¥KGª«‘¥µÕ”D"™š¶Žw"£Ëˆ´°°ø_þÇg ÀÉIöÆšãB`` ……Åðû!A¤ ¢¨ˆ÷é§§7nl÷ö¶ïtFÄ×H&³”JÕ¢Rµ˜ÌÇãË育H¹\qãF™\®ËYYOärÅxg4Š ,òþýÚîî¿—ÆînÙýûµã›Ï¨‚²ÈÌÌÇÊßH¡³²Pž]‘)‘Èîܩ°¿§S SܹS%‘üÞ»dEæåU«,âÈåŠß~{6^ùŒ6ÈŠd2KÉd’z ‰Db2KÇ+ŸÑM‘B¡„Í®Ã0¥z¡B¡¼¿V(ê?d½_ )òÖ­J¥RC9„àöíÊ1Og,@SdFF)‰¤á‰„ #ÍÙA‘¸´´A¡Ð R©T–”4¯Æ>«ÑA‘ÿùO…R9àd¥ÞºU1–ùŒ ˆ?4„…]$'‡Œw"£ ‚Wä¿B$""‰„HD D"!‘ˆ@ˆDB$""‰„HD D"!‘ˆ@ˆDB$""‰„HD D"!‘ˆ@ˆDB$""‰„HD D"!‘ˆ@ˆDB$""QAýEYøëÊCKËPKËp¼³yú¼MÃOa|8--­©©ÉÁÁáÀ†&$$˜™™988ØÚÚÞ¸qwÖÕÕUQQáêêJ¡P>ýôÓ#GŽ|óÍ7·nÝâóùæææNNN€ÞÞ^§:äææf©Tª~PqqqÆÆÆ‡B¸ÿþ œ;wÎÀÀ 99ïêðáÃNNN©©©Ë–-‹U2tÞzj•J¥“'O600èÿ‘B¡Ø¿¿ƒƒÀÖÖV*•¶··«ŸÝ2™lõêÕ^^^\.W©TnÚ´ °fÍšüüüŠŠ OOOUeõmƒŸÔ¥¥¥ZZZ555\.×ÎÎnÒ¤IÉ߀aXpp°‰‰‰‰‰‰““Scc#>׉ÅâóçÏs¹Ü7R(ÿ=ð²²²'Nx{{ãCCCçÏŸÏb±233?îååinn>Ѐ¨ @"‘ôôô¨T*†aý‡B$®Y³’••¥P(:::„Bahh(‰D xøðaaa¡­í[¿Xï­ENž<¹³³³©©I}%¨¨¨xõêÕüùóŸ?þóÏ?·´´õoK"‘fÍšxüø±«««ª|æÌ™¥¥¥}®ru Æ™3gZZZZ[[ÝÜÜH$’——WII ŸÏg0ý뻸¸àdò§vöìÙW¯^­[·ÎÂÂbÁ‚ÂäääüüüÍ›7/Y²üÿß‚ñÉ ±±1!!!>>>!!a ÜT¥…Bé?ÅÅŪ£ÖÖÖþòË/ñB±X¼jÕ*¼\&“Ñh´b Â[O­t:][[_p „NjŅ……‰‰‰ÁÁÁ—/_NJJš0aBŸ¶$ ¿lllT+ ¹¹ÙÚÚz ¶¶¶úúú/^tss£R©ooïâââêêêþƒˆRß-,,T}9100pssÃW嘘¡PxáÂÜ" ¤¤dÆ ª†ÖÖÖ¡¡¡UUUr¹\½C…B!úTŸˆý‡ÂÒÒ’Ïç«ê°Ùìžžkkk›kj„‡‡2ñÖ"ñS‰ÉdâS¹L&ËÌ̉DK—.íéé±´´ôôô$“ÉR©t Lg0­­­UUUW]]Okõõõ%%%xõmü¬g±X³gÏÆKfÏž]__ÏçóÝÝÝߘ³ÍåË—E" ³³³¬¬lñâÅ 555!!!"‘¨µµµµµµ««ËÙÙ¹³³3;;o¨T*óóóííí©Tª¾¾¾D"ikktwwQãPÌ;·¶¶ÿ–Y\\œššª££C§ÓÛÛÛÙl6@*•†„„ŒÑ X»v­L&Û¼yóÔ©SE"‘½½ýž={´µµçÍ›wþüùÍ›7ëéé͘1ÃÚÚúÈ‘#ß~û­†¨Jddä±cÇ(ŠT* 4iàÞ½{Ïž=Ãm©o ›ÍÆ—"€‘‘‘@OOï O:uùòå!!!¦¦¦Ÿþ¹¹¹9“ɋŸЅóÉ'ŸDFF8pàèÑ£çÏŸ766ÆÆÆß}÷`Ê”)‹/Þ´iÓôéÓµ´´fΜ9HDC‘””£¯¯/ #""$iûöí.\HMMíêêZºt)~oõ¶üã-ׯ_ÎÏÏJËžžgjjÚgNçr¹Ó¦M›8q¢H$jnnvuuíêêÒxs!är¹¶¶¶ê+Ù»!(Š ¹\Îårg̘¡~ÿ¥ Ã8ŽT*511éód>Ÿ/‘H†˜sŸ¡pssà_~ìííûôÀáp,,,tttÞØ-`Ñ¢EéééAAAª’wY¶ŽŽŽêžBüBáëü@ãK"‘ìííß9>] n@¥R‡x²S(üKg4>ôˆþC “ÉøÝlðo«ï ñБˆ@ˆDB$""‰„HD D"!4<Ù‰ŽŽû<†É?DZXXŽW*CÇÖÖ¶ÏC`ô_Íû/X#‰„HD D"!þÒŸÕ/ôAUIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classcairo__matrix__t__inherit__graph.png0000644000175000017500000000005011561716353030333 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classcairo__matrix__t__inherit__graph.png0000644000175000017500000000606711561716353030560 0ustar00murraycmurrayc00000000000000‰PNG  IHDRs{Èr(ÜbKGDÿÿÿ ½§“ ìIDATxœí}LSWÇÏíËx«÷±ü…BQZZjÕhÇ,ŸÏŸ‹8;xžE6‹ lØ,*°YT 4;>>^\\Œnüi1÷ašœœ¬©©A7¾#D"ѽ{÷f%ŒÝ¡Ü¡Ùððð~øÝøŽhkk›œœœ•0v‡rOÌ^¿~=33óÍ7ßûÌl6;æèÞ?}(,MÛ,„0'''))©°°pþüù§OŸ¦ ž{î¹¢¢¢ÔÔT±X¬×ëõz½L&ÆÎÎÎÊÊÊ÷ß?""âã?f³Ù'Ož ûðÃM&“ÝB&“I&“õôô¾öÚkGÕjµgÏž}ê©§¨£ÏnQ¡PÈår…BáOù¤³³sùòåÇ·ÛÅb8p@$íÚµ+;;;##cÞ¼yžEwT”ÇãåççwwwÛíU^^®×ëSRRx<^zzú‰'H’tTÂùPÎ!èÏIII u}ã²›Ùlîíí]µjƒñ÷ssûö툈ˆ   ±±±¸¸¸ñññùóçÛv‡Þ¾};22’ÞÝ3¬Š®Y³F«ÕvwwGEEQó²¥¢£0N°;”-¹¹¹VG·'g=ƒÁˆŽŽ¶j\¹r%µJR=‚ ,'å?ÿü³££ÃvŸÈÈHË€N°-¼~ýzÛŠŽÂ8`;”›xhva±X\.×¶= À¯xß,—Ë}úé§¾ø."*°YT`³¨ÀfQÍ¢›E…ߘ…J$o“û v®g:4÷9\b0pÆÆþ]SsÒÛAì V«mÿavéÒ¥)))s•gz(•\“)0,,vÞ<ƒ·³ØÁö3áñ]²¹Äl†k×¹"##éèÑdoÇq ÿ˜g¯\¹uÿþ ´´Ýd2{;Ž[ø‡Ùòò6› Ðh¦ZZz¼Ç-üÀ¬^oºtIf4’‹QQ!õv"·ð³ 7¦¦þ:kduõUÎèÝHîàfËË¥–÷k:©®NáÅm¶ºú*v>Îf6›[[{GFÆç>’ûø´ÙŠŠv’´ÿâÛl55?jç ø®ÙááR© G·5`U•lNMÿ¸#¨ª’ïÛ÷ŸÁÁ|oqß=fýlØ,*°YT`³¨ÀfQÍ¢›E6‹ lØ,*°YT`³¨ÀfQÍ¢›E6‹ lØ,*°YT`³¨ÀfQÍ¢›E6‹ lØ,*°YT`³¨ÀfQÍ¢›E6‹ lØ,2 |m­0#€Íþ—·SXãÈžýõÁè”””ÌMD¿£µµ5?ßÙ¿£¸0ë³_+ãu\þOžgQÍ¢›E6‹ l³`Öh4þøãB¡ð«¯¾êéqö•Ojµú믿žI-’$¿øâ‹óçÏ[µ÷Ýwb±xº£Í<3œ¿Rpr%L188¸nݺøøøœœœ;v,X°`ÿþýŽvV*•ÑÑÑ.ÇtÂÔÔ€ÃáPëRP¨T*‚ –,Yâ¤ãîÝ»ûúúf1K?35›’’²eË£ÑHýØÕÕhûf ÊlTTTYY™¥ñ›o¾‰ŠŠrnvÉ’%2™l“¸ô3£Ù`ddäâÅ‹;wî´¬ ³zõêÂÂBja›úúú­[·.\¸Zh 0<<üúë¯S_y啲²²ˆˆ…BÑ××wðàÁÇ{ìƒ>P(þúÆ(‘H”žžn» HMM¥¿ø.))IMMµüh[W ŒŒŒ‚ææfzi‰DB婬¬LNN¦)--}çwàÌ¿œÀãçBxéÒ%ƒ1::jû+³ÙsúôiµZ]VVöè£NNN*•ÊáÀÀ@ppðæÍ›‹ŠŠ¨åg>¬T*;Æår „°²²R,S£Y¶©cV*•r¹Ü‰‰ ¡J¥Z¼xq]]uÌÚ­«V«y<žD"1 ôÒ7oÞ¤ò$™””$‰†††x<ž;G7ÚÙàüùóáááve0ÚÛÛ©ížž6›}ëÖ-ºY@mm-„P.—ÓÿŸ|òÉË—/;ªH™U*•[¶l)..†æååíÛ·O"‘PƒØ­ i³½´%„°¯¯/,,lÓ¦MÇwþ¨)Ð΋/ºqã½±©©©¢¢‚ÍfËåòW_}uåÊ•ï¾û®m_ƒ±iÓ&@]]}¹¥çŸþòåË.K[&«©Àe]zi:+V¬HOO—ËåB¡Ðeuw˜‘ÙÄÄÄàààŸ~úÉÒ!ÌÌÌ­ªªúè£:ÔÓÓóÛo¿Yõ%‚ZÑ+..޾˜Qww·;«ó½õÖ[ ýýýtM.ëÒKÓ¹{÷nQQQttôl-Ç6#³AAAYYYb±˜ZrjjJ,ŒŒ¤¥¥iµÚØØØ_|‘Éd–——k4jQI[6oÞ|çΖ–Àµk×Z[[©³ŠT*ýå—_¨}èÛ¡¡¡III»vízûí·é 69©ë(øß²„B¡°¸¸8//¯««k&ZþÔ³y„Â`0dee±X¬èèèÐÐP>Ÿ_QQAMˆ1116làóù\½zuBB}že2™–AΞ=÷øã[ÎZHHH°Ú¶Ì³ÂsçÎ!„–yÖn]áÆ~ÿýwziKž‚‚‚gŸ}–$Ia~~þ† ,בû™©YЉ‰‰ÖÖÖÁÁA«v¹\>>>!nnn&IÒî…„Ðl6Ëd2“ÉäfEçXÕ…>xð ¡¡A­VÓws’Ç%sdöÿ´×'`³¨ÀfQÍ¢›E6‹ lØ,*°YT¸øôÑK/½479üŽááaç;84ëËk…ù ,ˆu²ƒß|µßçYT`³¨ÀfQÍ¢›EÅ$‡NËÕŒIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x6d.html0000644000175000017500000000005011561716354023634 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x6d.html0000644000175000017500000001224311561716354024052 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- m -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1QuartzSurface-members.html0000644000175000017500000000005011561716354027656 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1QuartzSurface-members.html0000644000175000017500000002617411561716354030104 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::QuartzSurface Member List

This is the complete list of members for Cairo::QuartzSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(CGContextRef cg_context, int width, int height)Cairo::QuartzSurface [static]
create(Format format, int width, int height)Cairo::QuartzSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_cg_context() const Cairo::QuartzSurface
get_content() const Cairo::Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
QuartzSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::QuartzSurface [explicit]
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~QuartzSurface()Cairo::QuartzSurface [virtual]
~Surface()Cairo::Surface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_type.html0000644000175000017500000000005011561716354024034 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_type.html0000644000175000017500000000603611561716354024255 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Typedefs cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1PdfSurface__inherit__graph.png0000644000175000017500000000005011561716354030472 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1PdfSurface__inherit__graph.png0000644000175000017500000001005411561716354030706 0ustar00murraycmurrayc00000000000000‰PNG  IHDR…{Õ ÔbKGDÿÿÿ ½§“áIDATxœíiPG€ß½äXp*—Ë¡‹<ˆ`$jy•©àZ Já¢h©Ñ¿ñˆ‰’b QcÔ@[H°D$†¬²Ê!—ˆ°‚(DXa]öžïÇ|µ™oYÈ"DÓϯ™žžî·çÙî¹¶¦iAèCæÿÀ>Ðû@ ì-°Ä Œ#$$d¨#Þyœ™Æ—èïï¿}ûö.â7¡PøÍ7ß™¹>ìííq/yúu‡‡Ïh} öØZ`h1ø>T*Õ•+WvìØqôèÑêêê>r¶µµ;vlà5>þüÌ™3ÑÑÑ999*•Êø_¼x_QQ1ð‹AöÑØØøî»ïž8qÂÜܼ¬¬ÌßßëÖ­½e–H$‰‰‰¬ñÊ•+^^^ÅÅÅVVV±±±öööR©ÔÈ}7oÞüý÷ßÓé( ÆßŸ‡„„“mÁ‚*•Š\}ðà©©imm­‘µ¼>>>.\Э&$$¹¯‹‹Ë;wþ™¸þ"))Éøã<˜?æææÔÔÔuëÖ1™ÿ»Íäñx‰‰‰““³hÑ¢±cÇΜ9óòåË ‹/^Lî8oÞ¼””›‡ÖÖÖnß¾ÝÎÎnÓ¦M>$‹:~üøÚµkõ–U*•H$ÒUgÏžõöö€ººº   ]úŠ+îÝ»G­ÈÏÏïÙ³gëׯ¿víšÁð //Ï××÷­·ÞZ»ví£GÈD‘H4wî\ ‹Ù³ggdd âÔþ‘‘‘A§Ó[ZZznÒjµ®®®gΜikkKIIáp8R©ôÉ“'l6› ˆúúzssó   Ë—/Ëår‡Ý»w?yò$&&f̘1J¥’ ˆôôô¸¸8²4êòÞ½{ ÆâŋϞ=K툕••G·:uêÔììljEb±ØÑÑñúõër¹Ü`xÆÚÚ:&&¦¡¡aÛ¶mK–,!‹òõõݽ{w}}ý?þ8zôèÒÒÒ¾K¿úÇ`ú¸téÒøñã nR*•………äruu5‹Å‰DTpãÆ ‚ JJJlmmu;’DZïz ¢¢¢¦L™B£ÑæÍ›'‰ˆÞ}è*"ÂÙÙY(öÞ;wÜÝÝÉD©TzìØ1•JõìÙ3FC¦øá‡‡ê;¼!¯Æ×ÔÔTYYIMÌÍÍåóù,«¤¤dþüùÎÎΟ|òIÏ}étúìÙ³àæÍ›3fÌÐ¥dgg÷V#AÆ××÷믿.+++//W(Ÿ}öYAê*¢b0¼¬¬¬™3g’Ëæææ;wîd2™×¯_oiiqrrâr¹\.÷öíÛäh>žL×h4IIIÞÞÞ&&&‰äÙ³gÀçóÛÛÛûˆÜ`x .ÌÏÏ'ïN®_¿~àÀ6›=}úôçÏŸ§¤¤@GG‡»»;ÙØAÃÈqÍÈë]¥RIöëÉ“'[XXòù|‚ º»»]]]}||·oßÎãñüüü¨çƒ¡+ä§Ÿ~ruuõôôœ8q¢î¼éçç×sùÚµkÖÖÖÖÖÖ>>>gêÔ©UUUä¦5kÖp8ÿY³f‘ãž^Eºó‡Áð‚8}ú´£££···­­mjj*¹WJJÊ”)S<<<Æý·ÇdÈÎç:ººº„BáóçÏõÒKJJ:;; ‚‹Å@£Ñ¼#B«Õ«ÕjcªS*•wïÞÍÎÎ~ôè‘Þ¦ššãËÑ LT«Õ………=K¸ÿ~WW—1ÅöË0îmÉòåË 99y0û濃äää+VyœQzT€Á>Pû@ ì-°´À>Ðû@ ì-Þ—. ¼áBœ~ü_ô?þþçB"ÑäÓ§cÍ̺‡:ˆÅbã3ëÃßßÿ•‚yttŒP*G(Ö66C‹,--ÝÜÜŒÌlìó+”Ù¿ŸŸ˜ø‡3²´ô?t:m¨ÃÃþü¡VkSR  µµ+/O4Ôá ”aïC ¨–Hº€Åb¤¥u8eØûàó‹X,:¨TšŒŒb¥R=Ô ˆáíC.Wef–ªTrU&Süö[eß» Îðö‘]!—ÿÕ! zZZÑÆ3p†·´´"ê¿oÕjí]]Š>vAœa죣£;'§R£ÑPÕjMVVùP…4p†±k×ÊzþiˆN§¥¦I<ƒÂ0ö‘’RH£éßý©ÕZ º¥¥kHB8ÃÕGssçÝ»5Á?ÕÑ23K_w@ƒÄpõ‘™YÒËA£!øüáz•5\}¤§—ôöä(,¬‹Q|¶ø·¼ ÏÀÆ&*!aÝ’%ou e¸ö7ì-°´À>Ðû@ ì-°´À>Ðû@ ì-°´À>Ðû@ ì-°´À>Ðû@ ì-°´À>Ðû@ ì-°´À>Ðû@ ì-°´À>Ðû@ ì-°´À>Ðû@ ì-°Ä ~\¨cyuX,k:Ýd¨£xE’’’t ô¿×ÒÇ|4˜AçàÁƒÔU}¯/œ=z>ðù-°´À>Ðû@ ì-úñ½pjµ:77·ªªÊÒÒ2 ÀÎή·œ™™™+W®@„™™ùòåKrÙÎÎnúô馦¦zyîܹÃápÜÜÜÚÛÛsss§NÊår µµ5//¯¡¡ÁÏÏÏËË‹:ópßè•óÚèwÿhmm ONN655­©©Ù´iS\\\o™¥RiffæÀ">Ÿ_TTôâÅ‹/^$''/[¶,//O/Ïï¿ÿþàÁ8uêTFFù²œœœO?ýT$YXX\ºtiùòår¹ÜÈJ©å¼NúÝ?¾ûî;‡Ã`0 ®®.,,,$$d„ =3?þâÅ‹288xáÂ…ärBBÂÕ«W©sÜR‰D{öì™8q"$%%mÞ¼ùƒ>€U«VEEEegg“³}þ-Ôr^'ýëd/ž7o)¸\î®]»Èñäþýû{öìY²dÉ–-[rrr ­­mïÞ½äŽ;wîÌÍÍý裞>}ÚØØròäIÝ̲¿üòKlllÏe=œ««« ¶¶6&&féÒ¥‡"'¬=zô¨X,>räȽ{÷ÔjõŸþ©‹¢££'MšMMMQQQºôƒVVVR# וc°]PQQ¶téÒØØXrVVhhhرcÇ¢E‹"##{vbcèŸrîæiÓ¦Qßÿ}GÄÉ“'ÉÉÜ—/_§P( Eqq1¨Tªòòòôôôððp›mÛ¶±X¬o¿ýÖÊÊjóæÍjµ\]]É2©ËÐÝÝ-‘H$IQQQRRÒœ9sº»»7mÚäààÀf³lÙ²ÅÊÊ*""ÂÇLJÉd.[¶ìðáßþyfffcc£­­-9Ï€R©¬­­Õ^__/“ɨÆÆÆêÊ1Ø.‚ öíÛ÷Þ{ï%&&Ž=úÌ™3dQ‡rss;wîÜüùócbb¨µIÿÆ+™Lfii9zôèž›4;}û&Ož NNN2™¬¥¥…úóT(ü±¯¯oMMV«Ý°a¬^½úÖ­[¥¥¥Ó¦M£AzÃQ||üéÓ§`̘1sçÎ]¹reAA—Ë%çÆŽˆˆ¸yó&°ÙlÆf³Y,„††ää䤥¥8qÂ××722ÒÖÖ¶·Öé"]9jµºg»ÚÛÛÇŒ³zõj²>Ÿ¯ÑhZ[[ÛÚÚBCCi4Ú‚ „Ba^^ž““S¿Žpÿ|XZZ¾|ùòéÓ§Ôµ´´´££# àñãÇ?üðCCCƒ……EÏ}i4ÚÛo¿ EEEžžžºt//¯ÂÂB½>§ÇŽ;tç’ââb²4`0ÔY·IÈÇ¥®®®d?«««;uêÔ±cÇN:Õ[-º©0™ÌžíÊÏÏ×5ÁÄÄ„¼€ÌÏÏ—H$«V­"Ó ‡Ãé£QéßxÅãñLLLÈQ•„ ˆ'NH$’¼¼¼¸¸¸+VüüóÏñññ=ç§Ñhä妣££nÀ€úúúW¸¦tvv®««£¢—¡  `ýúõºU.—Z^^®R©¨Ù4nþ]„T ¶ËÁÁ: }nn®\.çr¹ŽŽŽ¿Pïo»úçƒü-¤¦¦’#£B¡HKKkoo–ËåÓ¦M£Óé@&“õöBÅÛÛ»©©©¼¼jkk+**ÈÑ©ººº  €ÌC]6ˆŸŸ_II‰H$¡PØÔÔ¤—ÁÝÝýåË—éééäªV«½uë–‹‹ ‹Å9r¤T*mnn@ÐÕÕ×Çz ¶ËßßÿÑ£Gä"??ÿܹs¦¦¦<¯¥¥%77d2Ùºuëþñó¬Y³F¡Plܸq„ ííí...»ví211™5kÖùóç7nÜÈf³'MšÄår>üÅ_¨’ÉŒŒŒ<~ü8“É”Éd¡¡¡£F€7n<|øðwÞÑ[6ˆ••ÕúõëwïÞÍf³e2Ù¬Y³ô2Œ5jÿþýGŽ9þ¼•••X,¶²²úòË/`ìØ±sæÌÙ°aƒƒÁðòòꣽÛ¶wïÞ‘#G¶µµEDDFÛºuë… Î;×ÙÙlü4E:þïû¢4íÀƼÿËåµµµãÆÓ"kjjlllÌÌÌÚÛÛëëë===;;; žÿ ‚¨©©qrr¢~¿¿¨T*‘Häììlbbøå Z­‰D2™ÌÚÚÚÞÞžº©±±Q*•€^»¦L™Z­öñãÇ...z%ˆD"{{ûž ”””DNg¯ö¼LMM ¾Ftvv&,,,ȳŸA@£Ñ\\\^­v,«ï·™L&ÓÝÝÝà&ƒ7°½Ñ³]@§ÓÉë.=È»œW?OD ì-°´À>Ðû@ ì-°´À>Ðû@ ýûó‹/þúë¯C ô|„„„ UÿZœœœ¨ÖÞùŠÞðù-°´À>Ðû@ ì-þ õ?§Y‰;è‹IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/examples.html0000644000175000017500000000005011561716354022601 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/examples.html0000644000175000017500000000320211561716354023012 0ustar00murraycmurrayc00000000000000 cairomm: Examples

Examples

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x6d.html0000644000175000017500000000005011561716354024647 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x6d.html0000644000175000017500000001040011561716354025056 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- m -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x64.html0000644000175000017500000000005011561716354023554 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x64.html0000644000175000017500000001124011561716354023766 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- d -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/graph_legend.png0000644000175000017500000000005011561716354023222 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/graph_legend.png0000644000175000017500000004621311561716354023444 0ustar00murraycmurrayc00000000000000‰PNG  IHDRè"ÇÈ2bKGDÿÿÿ ½§“ IDATxœìÝw\÷ûðOÈ‚ LÊT,D¬]Õ~mET´*¶jÝZµÖ¢u¶jQPQd\2T¦lÙ„@ ó~¤¿”B@!’çýòåër¹ñÜ'w÷pwÏÝ0 C D¼€Ø@^däu@v;ý¦°ÅÆJ0\¹¹¡aÃðÄàìÙ³x‡ -ÜÜ܆Éß¾ÐiÝÜÈ×W²Áà'$-\ˆw ï¤EHHÈBùÛ·w~¼Î'Õò° d‹|æ³väö︾ÈÈë€ì€¼ÈÈë€ì€¼ÈÈë€ìøÔ}n»zõjQQQ»žfff¾Òt×{xx¸®®®½½=Þ€´èë½7N?}úô¶mÛ¤!9$z^¯©©)//G=~ü!4uêT„РAƒÄYgV¯^½sçN“î |óæM[[[Èë Ð×{o¶{÷înæu¼R‰ =¯oذ߱zõj„Ðo¿ý&žˆ>%**êÛo¿•̼@öàµ÷–þ`dƒ˜¯¯WUUyxx„††êééÝ¿ßÅÅE𕯯ï‹/jkkÝÜÜîÞ½;jÔ(CCà  þ·OŸ>µµµÕÒÒZ¶lYNN¿g\\œ··÷ Aƒ&MštíÚ5þDªªª|}}BùùùnnnT*uêÔ©ü±233—,Y¢¥¥µxñbƒ!ÞYÕqÊßcŸ={ÖØØØÈÈ($$d×®]zzzcÇŽŽŽF%&&úùùêééy{{'%%u= &“)B`¢%·Äœ×Y,VRRÒ¯¿þzôèQ}}ýׯ_ ¾ÊÍÍ¥Óél6;11ñòåË‘‘‘áááÌÊÊâñxsæÌ™;wnFF†¦¦æwß}‡Â0ì›o¾™5kVaaá¦M›üüü Fpp°––Vpp°££#Bè‹/¾°³³{óæÍòåË—,Y’™™ÙÔÔäèèhii™œœ¬¦¦vûömñ. ȪŽ{T6›ÿêÕ«ŒŒŒU«V-Z´ˆN§çääLŸ>}ïÞ½!œ•••0sæLOOÏüü|¡/,, °±±!°ÈÈH[[ÛË—/C‚ïñ×Ã3ŒíÛ·þù犊ŠB`±X†††cÇŽµ³³ËÊÊzþü¹¦¦æŽ;ôõõ÷íÛçääÄáp8ÎÕ«W׬YC¥RGÝØØøáÃ*•J$©T*…B)++«ªªÚ·oŸÁŠ+ÜÜÜ""">|hmm8lذS§N 8Pì ²Gè!ÄãñvïÞ­®®¾páB2™¤¦¦¶`Á‚¼¼<þˆ,ëÔ©SæææëÖ­›9sfdddÛÉbåíííå奧§÷ôéSb›;wîéÓ§ãââLMMwìØQVVÖûå•a¢__ï ‘Hä>tÁÁÁßA"‘B>œ4i¿²²ò–-[øÝééé;wîÌÏÏÿcRRÒš5k¬¬¬üýý]]]{ó"‡šššsçÎ9;;ÛØØÜºuKä©É6ñçu   Ð®'‡Ã)))|$ÿsžÀÂÂâÉ“'‚¡¡¡žžžqqq~~~ááá...$I]]½Ý4­¬¬¬­­“““ù[ZZÂüÑöÜ{nnîŒ3IJ\ ÄîQ>9âû÷ï›››UTTBÙÙÙ‚¯(Š¢¢buuu]]‡Ã¡P(½ ’ËåbF&“UUU{9)ևϥ¡R©4­´´!tûöí.Ö//¯äää·oß"„¢¢¢‚‚‚TTT †¥¥¥››‰DºuëVcc#ÇãÏï˜0a‡BCCB#FŒÈÌÌôôôLHHxõêBèÞ½{ÅÅÅ}·€ 3„îQ»3"‹Å Æ0ìÝ»wwîÜ™5k–à+‡´´´}ûö………™šš½ÿ^´ð|}}'L˜€aXRRÒ•+WD›Ž<èü®££³hÑ¢qãÆM˜0áäÉ““'OîlHuuõC‡ùøøŒ7nõêÕ{öìAÍž=»¹¹yüøñ...Ož<±¶¶^¶lBÈÄÄdݺu)))D"ñĉ?þø£µµµ……Å‚ ìíí vïÞíååeii¹víÚÙ³g÷̺݀GíΈ&&&W®\133³³³›;w®““S»œœœBBBž?Žòðð!¶ÐÐР  þEý;w ½2 þ…u&$ëâÛn+((HKKãp8Ÿ’Ãᤤ¤´2==N§cVYY™˜˜ˆaF{ôèQ}}½`˜W¯^555µ«µµõÙ³gÍÍÍÝ !,$¤[C€ÔC…ôbŸÖqÚ…ˆˆˆñãdzX¬ää人ºOß\ ®±zÙý—ø¯¯·#¨Âø$‰4~üøv=7E 2dÈ!!55µ¶·Å#„ÆŽÛn,EEEþpz¤ãõ“(Š]w†ä×J÷”hcÉ-xï ©©©™ššâø>?^ «¦L™2eʼ£ÿÇë€ì€¼ÈÈë€ì€¼ÈÈë€ì€¼ÈéÊë™™e¯_—ã€Þyw! ï äÔ§î_ïÅkõDpw ¡Qô$IÎdŒ¯¯¯¯¯/^s'лcÈ÷Ôš”B¼Bk ëäOª²2ôü¹$CÁ0lì®T{õƒmo^Ó+ GG4t¨Dç}ãæÍ›ø ‰åOãìÌ#ùd—≣£ãPùÛ·wž×%îÅ‹Â9sN!„îÜYooßݧÊ.©PîI4`šSÒuµWHQ‹‡…¥P($ …–Šw,D‚qPá„j­B•ñxG#¤%¯³ÙÜÛ·ÓØl.›Í½}û›ÍÅ;"=÷1±Bˆ@A%×ðŽFIK^OHÈinfò»›š˜ 9øÆ@Åב‚B•Þ@<&ÞÉiÉëaa©dò?ÁÉÄ[·àT<ô7ÜTŠxì>ršÑ‡¸$¤"¯773£¢^s8ÿœ{çp¸QQ¯‡ïú‡÷÷§õß*ºŠ_4rJ*òzLÌ[ARçc³¹±±YxÅ@Å""éß<úØtü’GR‘×CCSÚݰN BCSðŠ@±ÐûˆÇùOO½Ç) 9…^¯¯o~ü8—ËåµíÉåòrêë›ñŠ @Ï”ÝBXÇ[™¨èO‚‘cøçõÈÈL¡ÆÁ0tÿ~¦Äà ’¢?PÇ'…b\T‹Z«pˆG^áŸ×CC_vòz,4ô¥¤£ ‚Ö¨úo„ñ„|E@¨,LâÉ/œóze%-%¥˜Ç’×y<ìåËâÊÊFÉG gJC…'u„ÆCÅp*^rpÎë÷îeMê|<™!Éxˆ¢$¤óï0TóµTH.ù&Eï}A­]{!ü%Þè…kä‚ â‡<Âÿú:Äò: ; ¯²ò: ; ¯²ò: ; ¯774@ï äïÈœi1xG ¿àx×Ùy×ࣾ¾þСCxG!k ¯ÀF;þ|¬^½º¨¨HbñÈÈëðallœ››ÛÅQQQ4MbñÈÈëÄíc,j­l×Éd¶ëSYYéãリ­­uss»{÷î¨Q£ ƒ‚‚B¾¾¾UUU¾¾¾‰‰‰]O´y€¸=rGUŸ lllÚ ÕÒÒb³Ù‰‰‰—/_ŽŒŒ ?xð`VVVpp°––Vpp°££cÛ±"##mmm/_¾ ^(Èëú†aQQQÞÞÞ^^^zzzOŸ>íb`‹`hh8vìX;;»¬¬,*•J$©T*…Bi;äܹsOŸ>gjjºcÇŽ²²²>^Ž~ž7@ü’^欙ameeåïïïêêJ >9Šƒƒ¿ƒD"}rH‡šššsçÎ9;;ÛØØÜºuK AË8^ ~2YQQ±ººº®®ŽÃátg"±g)‰ËåbF&“UUUEŠQ6A^ ~cMÓÒÒöíÛfjjôþý{¦Ããñ:öLHHðõõ0a†aIIIW®\éu¼²ò:€¾âääòüùs„‡‡GOG711Y·n]JJJÛž¡¡¡AAA ,ÈËËÛ¹sçàÁƒÅ®L `†w ÿZ»ö2B(8øK¼Ð ×È).lÛËå¶»pÎãñêëë555;›LcccjjêØ±c©TjÓmAÝqöþõŽÉ˜H$v‘ÔBjjj...Ÿœh ò:qƒ÷¯ã®¯²ò: ; ¯²ò: ; ¯²ò: ; ¯7aï_’y€¸ý÷ýë@’ ¯²ò: ; ¯²ò: ; ¯²ò: ; ¯7aï_’ï_ nðþuüÀñ: ; ¯²ò: ; ¯²ò: ; ¯²ò:qƒ÷¯ãò:qƒ÷¯ãò: ; ¯²ƒ€a˜àCaaall,ŽÑ<~\ƒš:U ÇÜÜ܆ Öˉœ={V,Áȳ5kÖôr ¸¯ÏÒL,ëù‡Ä PRRÒÐÐèåDbcc ÅOïy)ýüŠ5³‚kŽw ÿíýɰaÃÜÜÜÿ“×oܸáëë‹GTR$$$dáÂ…½œ@K0ò¬íš)XŸ» –õ½mÛ¶úúúsçÎmݺµ³8p€Ãá „‚¾¾¾›››AO£•fÝoI\„‡‡ëêêÚÛÛÃúäê*™o[„ÐÉ“'g̘anþïóIΞ=koo?f̘OŽ+X û2À>$mñ_½zµ¨¨¨]O333qÝ&ؽwgà>Ú¦ðÕ›µ](ÑV¡¯ÿòË/±±±ååååååÇŽÓÖÖŽˆˆ:dNNÎo¿ýÖ®'FÛ½{7¿ãüùó]Ìh÷îÝ)))ååå´¶¶NOOïi´Ò¬û-ÙÑêÕ«;nŸâëæÍ›OŸ>EðC „º±º õÉ—ù¶E:t(++«mŸ“'O¦¤¤tg\ÁJ(=DÛˆ¤DMM =¿zõêÕ«Wùݵµµâš¾`÷ÞͻަDÛËá«7k»P¢­B=>^G-Y²dõêÕüî-[¶œ9sÆÇǧ§166ÎÍÍíz˜€€'''~·ƒƒÃ¯¿þ*cÏg¹%£¢¢¾ýöÛžÎN´±üÝ[];êNƒË|ÛÊ‘7"i°aÃ~mïxÜ%IŸÜ¦úuSã«·××mll^½zU\\ìââ"èéëëûâÅ „†a;wîÔÕÕ1cF\\\Û+++»Î§OŸÚÚÚjii-[¶,''G茆 2hÐ ~w\\œ··÷ Aƒ&MštíÚ5~Ïß~ûÍÁÁAOOoÕªU üžùùùnnnT*uêÔ©Ý?Æ¿%BUUU¡¡¡zzzYYY………›6m200X·nÿ/A__ߪª*__ßÄÄDÔÉ2vlÒ™™¹dÉ--­Å‹3 ¡qÊçÏ_]¿þúkAÞ¥Óé¶¶¶ÅÅÅHXSt§ÁÛ‘ù¶m«¶¶ÖÍÍíîÝ»£F244 â÷ºvÜ °•\莈?£³gÏ…„„ìÚµKOOoìØ±ÑÑÑü!;¶¡ÐðĵI›Î¿‹FKLLôóó ÔÓÓóööNJJêzL&³]A èNSw1þ¢û¯V!¬v}:²±±9~üxuuuuuuLLŒÍ† ²³³555ÛA æÏŸŸ——÷Ë/¿¨ªª¾~ýº¬¬LQQð¢¢" ø\î!CöíÛW^^îïï?kÖ,þD¿ûî»sçÎýúë¯K—.9rdqq1†a<ÏÂÂ"88¸¾¾>44TSS³¹¹¹  @SS355µ¢¢ÂÅÅ娱cü‰ØÚÚnÛ¶­¬¬ìÂ… jjj]/B($$¤ëaº£;ÓÚ’†•••)++»¸¸\»v­µµÕÐÐpÛ¶mEEEûöíSWWg±Xõõõºººñññ,Kè2 mÒOŽE§Ó•””öìÙSPPðõ×_#„Ž?ŽáñCtg=ìŽnN§;?DNNuýå—_ìììø#^¹re̘1X'MñÉÇpZÉ1ñ­çñññ•••]£¯¯ûöí¶}¬­­Ï;WQQ¡  0wîÜ’’’W¯^)**¾}û¶³•°ãV t%º#ª¨¨ ‰k×®mhhøá‡Bþþþ4mëÖ­“'OæÙ± …†'òFÔµ7oÞ¼yó¦‡m/Ä‚ ,XÐ!W­ZµjÕ*ÁG¡‹ßu£EDD(((Ì™3'77÷ôéÓªªªyyy‚Ý{[›7o¶°°h×_ºÓÔaaaãÇ¿téRkkk7›E’û“ÎÖöîo¼"¬BwQò:‘H$‘H$I[[{Ó¦Måu„ÐÇù=.\øÓO?uÌëOž<1b˜æææC‡±Ùl ÃçÍ›7oÞ<;;»aÆ%&&bÆb±RRRøÃçååQ(”üüü'Ožhjj¾zõ 𦦦úúz ÃJKK ¹\.à¹sçîÝ»·ë¥“p^ïØ’†•••!„¢££1 KOO×××o;JLL †aúúúiiiX'ËØY“v=Vhh¨­­-¿›Í8p  ¯Kø‡|^ÿä!X]«ªª(JII †ažžž'OžÄ:i ìS Žá´’cR“×BOŸ>å÷trrºyó¦Ð•PèV t%ï,¯#„ø¿ivv6™Læ7ÝË—/µµµ±NÚPhx˜¨Q×ðÍë],~Æß½———óÇZ¸páñãÇÛæu÷àÁ///KKË£GÖÖÖ¶‹¡m^ﺩÛyþüùÒ¥K ¶oß^ZZúÉ…•†¼ÞýW„U¨ãï.Êõõàà`ÁÅH>ÁY…vÌÌÌ´µµùÝ...wîÜYºti»a>|8iÒ$~·²²ò–-[_íÙ³GpéñçŸ^¾|ù»wï(JzzúÎ;óóóÌÿvâĉþþþ^^^ eÑ¢E7nDEEEÕÔÔ^FÙÒÒ¢««+ÂòöŽ-ÉG$§NŠŠ8q¢ ÿäÉ“cbbÚ¾Oè2vѤ]ŒUQQáììÌïC&“ÛÎ~Áƒ»ºº†……-]º411ñÏ?ÿD mжºh™oÛ®988ð;H$B(>>¾ãJ(t+0`@×+y;:::üi***R©T~7ÿ«.Ú°]xmõt#’Z],~†211Ñ××çw»¸¸DDDÌŸ?Ÿÿ1))iÍš5VVVþþþ®®®ÝyÏPMÝqH‡šššsçÎ9;;ÛØØÜºu«ûË‹‹îo¼bY…Äÿ:‡Ã)))áw—––¶´´ð»³²²lmm;oaaѶè144´¹¹¹ã`nnn,ëîÝ»~~~yyyÏŸ?WRRâÏ”6ãÆùùùË–-CYYYY[[·qäȱ/o_  ¡‘#G¶--ÉÍ͵²²j;¤Ðeüd“ ËÆÆ¦í{¥:+i‘Ï¢­/¾ø"44444tæÌ™üËáB›¢­n¶€L¶­™™Ù»wï Æû÷ï-,,ø‰Äÿì‚„®„B·‚O®ämwD]ë¢ Û…÷ɱº¹I‘W¡÷ïß Ú<;;[ð›"„(Š¢¢buuu]]ÿNÎOꢩ…âæ’ÉdUUÕا:[Û»¿ñŠeO^§R©4­´´!tûömÁá;“Ér8œ”””vãv!==N§cVYYÉ/5Â0¬¬¬ìÕ«W<¯ÝÀ¯^½jjjêÎd%™×»ÇãµkXöèÑ#~ñ_ÇeìØ¤Ý«µµõÙ³gÍÍÍÝŒ­/~ çõîh·º Õ±)ºÓà=š &Ž•“l^çãñx)))‹§„ºvÜ °NöBwDÝÑ6ì‹Hòy]¨­BãÇg±XÉÉÉuuuŸ¾ãÏñÉmªcS Î'I~ÒÙÚÞý·G«Pßæu y]ÞHa^—1’Ïë  R’×{„Ÿ×%3¯^’ùýIÇßÞû gÔÔÔLMMñŽ'Ê}näÙ”)S¦L™‚w@88^däu@vÀyxr Cï_Ò&ä &Û®;WuŠÖܲ'´¡“Ô%œè ¯K”zæCe¦'œ £ã8È[ÓR¹oC8@N™z "|2 " ›Æcùk•5)’«wàxý_ ‹HTlh`•”Ô2L6›ÛÜÌâp¸ÍÍL6›Ë`°þÿƒÁb±¸--¬¯¾šjd¤‰wàD1|ú g‡Ë1žsñ|"HBS‚Œ^Ñc9Ù’ŒMd×ÿUSC4hîîÝ©»w§vü–D"ñÿçpx ¤]»fuR>1X e…~p†J 5–—c<žº¡!ÞôWl67#£ÔÖÖï@ú+ãp¸ ò˜ÕHCÔÊy\!©H&  ’=N ײT~uCòщHÈÙwêÉ*ôùçû*Äûï_p\îÞ@@&“\]­ºØ|}}}}}û*P)4 ¡±5#TPãÿÿ£!Ô‚s\Ò¿>+Û´µCêës™L¼c鱬¬¬¬¬,hhhýùç—Ó§kjêÖÛÛ¤“Ð×ûŠàæÍ›]¯ð‚™L%‘ÔùÿS(D¢:Ǩ«»ÍãὭ⡾°•D&ð„¯ˆ„AæJLJ+ký{î]:÷' ,hûñ?ii„ 7nôŸ¿Iú†££ci)óë¯/Ñh-Ž· ñq¹€~¤¹’]]÷îA]mn ÕxYÈaþ°¢Î¯ IDATwoO@æ>š“¶ %)ü³=JóþÄÀÀ íG†uz]AžÕÖ6}óÍIIùBÿŽCQ(¤¬¬}**bØeÉö[ÛFì¸R D²—ÇesÙ!eå3wìôÚ‰GŒÒ(qÿþ¿üB$‘ &Lð9sFiÐ ¼#’v†<{øð Ãôô4^¾Ü…wDRäÇ—t:!D$Èd—Ëåv8ÏL&‡ Q‹ˆØ «KÅ#L°Ü‚‡õïÔL£+kQ†O4ÜSCËR9qoi^D-ƒ!„D„ÁiûP˹ZxÇ+"ÒîÝ»ñŽA)++Ì›g«®®ü÷ßyDbû¿~H$¢FJJ1“ÉÑÓ£*))à§´qáVM¯N-Mm×bÂ8<ÿžÿñÜ—ç¨Êò²7ù$ŒÇË Ã0Œ^Q‘ùÇÚ£GSŒðJzUUÑ—,9–Âãad2ÉËkôôé#ñJŠ 8 ;ûC^^†a†¸\^ÇÃ7 …¤¡¡r玟ýÙZÏMø¾x¨“šÓv#ûõúÔøçØTI¹áµ!"™  Bö?%áÀ¤»¹ù¤¥%Æã!„$†aýý'lÜH ¨í½|Y´jÕ…ÆÆV‹ƒ" 'N|1ož-ÞqI—²²º‰÷µ«  ‘ˆTªRD„¿±q=$‹Ií/uax°±ÝoÞ”Çļ O{÷®JSSÕÅÅÒÇgŒ³³%…Òï×pyÜ…Á ïfÜåp9mûSÈŸÑ>׿º®@†‹ÿñ÷¾})çÎñØÿÞ KRPPÒÐøìÂÝ1VhÊÆÆ–õëÿŒ‹ËnWò¢«KMM Â+*iv÷nÚºu´k."‘ ¤¤xçηÖÖúxÖwh%­ïÔ<¬£•2§|od1»aѹÒ§ŸQÓ@^ïçÏ Ö¬¹\SC ôY·nZgƒåæ~Œ}ý6%¥XI‰2i’™··‡Ç(5µ’Œw,Ëç”O|n<¿VŽoeãé©ëíòÙµtÂR2Qo™ªðÑ£[K—¶ëI$“ ÂÔÀÀq«Wã•”ÈÎþ°|ùùim/‡!„ÈdÒ¼yãÿ¯À¤ÓË—E‡?HJÊ×Õ¥VW7 Ù‰D¢‚éæÍuãÇã ˜5–1óï×ÅÖ×¶jš+™ÏÒ4™¦¡¢Ý ×G ¯÷L]]óúõþøãœáÇ|rà÷ïëããsbbÞ&$ä`6v¬‘Ïmmy9³Ê`1ÜŽ¹½,zÉáqB%À#ÀßÍÿXô±q'è¸Òi%dw„‹N?ee… -J FÌ;ýàAŠ’’ÄãÂßµkÏ·oåñ—Ûþ²‘H8zt‘¯¯=.I¡¤¤üǼ|Yäîníççn` áà°‡_ˆ@ 2™ôçŸk&O6Ç;LqªHmŠü:Ÿ¢Bæ¦a:sîXU$¿—@ÿy½Çx<¬§×Îi4ÆßçÅļŠzÍ`°FŽ4pw·š5k¬™™v)=j›j9V²8,eå’ƒ%ZªZ¡²º²½‘{/$]0Ð0Ø>sû*§U$¢<^°hëÒ´i5¹¹}k8qâüë׉dùúèüù¿¿ÿþ6ÐéžêéÓrXüÕѳgD¾|Yääd¶e‹§Ý?OßûþûÛ—/?áryúõ×¥³fÅ7N±ã²x¥‰†“ÕH 2q] ¯K” Î.""­ªŠ.¨³³³3‘ÎljÅGÚGÇýŽ%µ%;½vî½·íWŵÅûïï?ŸtÞ\Û|›ç¶%ŽKˆ²qK$ñ»w§_ºÄeÿçÔüÃpòd#GÔôeðšhרlîÏ?GŸ<K 8œöÇëZZ33Ä%0鑞^ºdbbÞ„ ÿûn¦½ý°¶ßVUÑííd³¹Gú.Zä€W½‡ñ0ÇâÝy<–’R“õº @öëìJjK>;ýY|@¼†²[³+²÷?ØõùU+=«]Þ»æŸ/Ãåt¡ :úöŠmûH$EUU÷C‡,¼½ñŠJ×lØp-5µ¸m…Bœ5kÜ©S‹q _¯_—ïÝ‘˜˜7fŒáöí^`߳箞uÕª)O,0ªÌh*ˆª/Œ«w=`¢gÛŸ*(1×ñ×¶ÎnàÀS§Z¸¹Y͘1jà@™ª³csÙRW•,oÞ¿ùñÞ¡©¡vÆv^>6>‹MJ´Òh§­­ù›$HÄx<²’Ò¢°0¼C×Ësv>XRRK ~õ‘H<|xÁ矋á¸ýÎÛ·ïz›5r¤~` O×—ÌÙln}¹Ï m¸æÓ ¯K‘¶uvD"ÁÞ~˜»»µ\ÕÙ!„’‹’÷ÜÛs/óÞÄá÷ÌÞ3ͲÓûdÒ…)Sê H YYÙõÇSÿ]AUÕ÷æMÉ<4^š]¸øÃáÁÁËNžŒÍÌ,ç?I-1q{w*XeIAAÕ¡C"#3FŒÐÛºÕÓÍÍJöNn½O¦?9PJ+aÔW>}ÐðƒLå±bTd×¥QC#1±}ÝgŸ35•—]ØÓ‚§ßßùþQΣI¦“öÍÙ7Õ|*ÞIH\``ÚÅ‹æÞÞnûö)kiUgeýáé9mÏž1˖ដ‹k\]¯]ë¼u«'—Ëûý÷¿ˆTUðúõ¼C“œââšýû###3LLoÝêéåe#«¿j(n;Y3|†Æ‘*pA]×¥Zk+›Ÿà££ßÈO@Ò»¤ÀÛó»p;0ïÀx£ñxGÔçÊž=cÒh¦3fú$îߟvéÒòGä°hŽÃ0_ß3ÕÕôèèÁùäââšøøœ+œðM2JJj OÓ×ר¾ÝK†3: Èëý—ËKM-މÉzð ³°°ZO:mÚwwkY­³k+6;vû­í©%©^£¼öÌÞ3f¨|=|Ëb]ñðP2dá_ÉçÙøëןoÝz3<ÜoÜ8¹{ÎÇ´cdž„$ëéQ7mò˜={œllï­õœÂ¸ú¢˜׃&¨òuë¦@^ïÚÖÙ©©)M™b.“uvmav/óÞ®ð]™å™óÆÏÛ;{¯¹¶L=[£k¯^]›={ÆÑ£ÖmÞ®-'**\\.Zä°{·|½ ¼²²ñèѨdMMÕM›<|}íe £³èÜ℆‚‡õ’éD Áp²ºýz½úýû%+Ròz?V^^ŸÐ±ÎnŒ¶¶Þ¡õ Æ K ¼ø®êݼñó~šó“éS¼ƒ’GßÿöæÍ ª:òõ¾œeËν{W·E~Þ†\]M?y2öÚµçjj6ož!½"µéõµÊò§!ƒ jækM¡R”å÷a} òº,hh`ÄļÍzô(»¥åŸ:»Ù³ÇÉd©0?»ï¸½£¤¶dŤ»|véSeÿÂ3»¥å²««¦¹ùœK—ðŽErÂÃÓÖ­ûãæÍu'ÊÅp4ã—_]º”¤¬¬°~½ÛâÅŽ2ó×LÁÃú¼»µÃ=4Œ]¨ ûýŸ)RòºLÔÙ=|ø¦ºšnn®ãîníîn%{uvl.ûâ“‹?FüXÝT½|âòݳvëªËìK'ùJŸ<¹áë;+8ØÜË ïX$¡¦¦ÉÙùÀÌ™£Zˆw,}®±±åÔ©¸Ë—“H$Ò·ßN[¾ÜIEÎNA^—M‚:»û÷3‹Šªõõ5\\,e¯ÎŽÅa]zzi÷ÝÝ­«œV혹C[M–¹ÿ0 àÝÇ+”5{ðÊ~jݺ?’“ ãã¿“á„ÞzölÂùó‰<¶~½ë—_:©ªö׌^“Í(Þ8f…|]*’B×e_nîÇ{÷Òcb²^¿.ÔÙyzŽî¿»v,ƹÄsûïïof6ãòÍ6ÏmTe*ÞAõ &~ÉÅeè¤I3OœÀ;–¾õzåÊ þ¹fÚ´xÇÒWZZX.$ž9Ïfs׬™ºjÕ*Uï DQ›Ë(Œn(Œ­o,gÔW˜uÑBYS~ß‘* ¯Ë‘²²º‡ßÄļ}öì‰Dä×ÙÍš5vÈYxär³étüé ÄõÓÖorߤ¦$ƒõƒ…qq·–-›sñâðéÓñŽ¥¯Ðh gçƒNNæ²úì÷ÖVöùóÿö[ƒÁZ¹ròÿþç2h ÞAõXÝ»–‚¨úÂØúÆ2¦ª®Â07aîÔÁVð$üA^—Gõõͱ±Y‚:»ñã§O·öô=lØ`¼C뭺溓q'ÇW )xø¹ú)Qdí ”÷Ö­+þ|EB‚¢š þá‚ ‰‰y›ð†FÿËv]c±8W®<=s&¾®®iõê©_í¬©©ŠwP"z~¼¼,©qØtanÃeùZI¿y]® ê좢^×Ô4ÉL]MSÍ‘‡GNÆ8`à¦é›6¸n@‘ýNK]ÝE³3ÜÄ;ñ{ü8÷‹/‚ûm™L=€ˆÃáýõ׋'bª«éK—N\·ÎEW·_-â´òÈŠD8:—B×Bÿ_g‘ñàAæ‡ ÎÎý¾Î®Š^u,ú؉¸ƒô \é´’L”‘'[åܹsïÛo\¿n4y2Þ±ˆSs3ÓÅåàèÑCÿ}ŧ‡î'øýÔ©ØŠŠ†E‹6lp××ò¶béÔô‘U—ßb8YŽ^=% ¯ƒöuv™™eTª²››•»»õ´i#úé7eue{#÷^Hº` a°}æöUN«HÄþú—J[wV­ªÎÊZKQ‘“Õß;,,%!a›lÔ|p¹¼[·ROŠ-.®Y´Èaýz·¡CáT·4}dÅ5ÆÔW½iVBùüÞH‚t<‘><<\WW×ÞÞ!Äf³CCCSRR† 2gÎsss„N?}úô¶mÛðŽO×A§JKk££ßòëìÈdÒäÉæîîÖ#îûÜâÚâý÷÷ŸO:o®m¾ÍsÛÇ%DBÿ~ÖUsUÕEg瑾¾ÎAAxÇ"ÉÉ…sçþrôè"__{¼cé- ÃîÝË8vìá»wUsæŒóósï/c¤•´¾‹ª/Š­¯/lUÖ¤ s×0q§jV•žmeÉ’%¶¶¶þþþ3gÎ$‘Hžžž………z{ÛlÚäaaÑoîçŽX•W÷®Åhªú0w }5’‚Ôm‚¼¾pᦦ¦»wï’Éd„ÐÛ·ommm³²²( äu„Ðm 3:úÍúõZXl×ÕõŸ:õÀÞ½/^ðx<¼Cë×å¯ü¶€ðÁ~ŸýÝô»x‡Ó <ÞÍÏ???e »µïPzë§Ÿî™™}W^^‡w ½ýÆËë¸žÞÆ5k.ee}À;œ£`r˜nË555®®®ÁÁÁFFF†††ýõ×÷߯««;f̘‡v6VQQ‘³³³àãÂ… Ÿ?ŽaØ™3gìííuuuW®\Y__Ïÿ6//ÏÕÕU]]}Ê”)wïþ³mfdd,^¼XSSó‹/¾˜3gÎñãÇ+++‰Dâ_ýÕvFW¯^}òäIYY™¢¢"¿Oll¬———††ÆÄ‰¯^½Êï)t¾B{ö_×(8î‹·ÆÛ­«ëog÷C`à­¿ÿÎe±8x‡Ö]/ _xŸôF«Ñ„ýâ²ãðGD´²²ŸÍÌ’Â;^ÉÈ(:tÓÅ‹Ix"º¿ÿÎõöþYW×Ù²s©©Åx‡Óf#§® E„+**ˆDâÚµk~øá„¿¿?FÛºuëäÉ“;+;;[SSSðÑÆÆ&&&¦  @SS355µ¢¢ÂÅÅ娱cüommm·mÛVVVváÂ55µŒŒ :®¤¤´gÏž‚‚‚¯¿þ!tüøñˆˆ"‘XSSÓqv‚¼Îãñ,,,‚ƒƒëëëCCC555›››…η³`ú/Èë ·rr*ŽyàáqTW×ßÊjçúõÞ½›ÖÔÔ?Ž Ÿ¾{êzÔ­F“LJÈMÀ;Q¤þþûQCÙ™x""‹3mÚ¡9sNq¹ýé¬@RRþ¬Y'tuý,ø5%¥ïp:ÕRÏξ]ýàÛüß^…/Ïa ¡ŠŠ ò³³Éd2ÿÐöåË—ÚÚÚ%4¯?yòDSSóÕ«W†555ñ§SZZjhhÈårùCÎ;wïÞ½¡¡¡¶¶¶ü>l6{àÀÇ¿zõªŽŽŽÐÙ ò:‹ÅJIIá÷ÌËË£P(ùùùBç+´g¿&#·ýYXèXXÌØ¼y† Îî›oþè/uv†OˆÝ›ô.)ðv óag·nûçî·5¶Å;®»bEî½{Q›6-}ð€Hî[ôéÓqEEÕqq[ˆÒQqÝ}ii¥D&&æMšdzçÎz{ûaxG$­„ù.ªŽ_ § B2rVw?4LÏAôMRGG!D&“©T*¿»§™8q¢¿¿¿——…BY´hÑÆBQQQ555ÆýÓŒ---ºººÎÎÎü>d2yâĉ!mmí?fggñïc†?~\WWg÷ÿµ& %==}çÎùùùƒîb¾B{öoxÿadPmmÓÉË–32 00Ø4kÖ‰_~‰-,¬Â;®OˆÉбÝkKøŠà}Ò;­4 ïpz öÝ»ã&&ÏOÂ;ËÉ©04Ü|út?»’ž^ºp᯺ºþ3gûûï\¼Ãé—ûâ’qÑ)-ö»Â‚è:V3·7Sã¯ó»óóóUTTøÝiiiÝ<^g³ÙT*5&&†Íf³Ùl‡óüùó9s渻»c–””dgg'‘Á`´´´œ={ÖÓÓSÐÓØØøøñã CYYùÈ‘#‚þü³îgÏž¯‡‡‡+++ÇÄÄp8 ÃÔÔÔòóó…ÎWhÏ~ ò:èCëìŽy‘QŠw\]‰ÉŠóÃâWÄ¿-È©åt%.žŸnÜ8~ aaa¡ÜÜ\¡óÚ³_ƒ¼$APg7vl®®¿½ýü:;6[wè\÷ÆËüìž_™wDŸÆe³¯Ì˜ñ§·7ÓoJƒƒ 7÷—ºñüüÊ5k.éémtw?ýFªîi®bÑ?0ûz.¢åu Ö,Y¢©©éèèèää4yò䘘&“igg§­­íèè8tèPA9}hhè¨Q£¬¬¬tttø=<¨££caa¡§§7{öl~^g±X[¶l!“ÉæææT*ÕÙÙùöíÛX›ëë---ãÆsvvÞ´i“µµµƒƒƒÐùvLÿ÷¯Iã?Ï.""#/†Š«ëwwkWW+ee¼CûÆ K Ûq{GImÉŠI+vùìÒ§êãTWª³³ÿ˜1Ã9(hÜÊ•xÇòiÅÅ5®®‡×­sÙ¼yÞ±|BaaõÁƒ÷##3† ¼e‹§··”<ö€QÃ.Šk(Š­ÿ˜Þd9GËi‡!Þuª°°°±±qÔ¨Q$Ò¿O{,//¯®®3fL»öLKK377Wió E&“™––6zôheåÿ¼Ê¶¹¹ùõë×FFFºººB监‘1|øpUUÕªªª¼¼<''§ÎæÛY0ýäu€›’’Ú˜˜·é©©Å d~ÝŒ£´´¤è Wl.ûâ“‹{îí©¢W-Ÿ¸|÷¬ÝºêÂ÷ Ò éСԳg¿Œ‹£áKW0 [°à×ÆÆ–û÷7‘ÉRó0³Š‹kŽ{xçÎ+CCÍï¾›éåe# Å}´Ræ»ÿ”Â) "Ÿ>ÈĪ=ZßG½VTTÄÅÅuì?jÔ(ÉÇ#Ï ¯üÕÖ6=z”}ï^Æãǹ\.oÜ8#Ÿ13gŽÖÓ“–^±8¬KO/í¾»›ÖB[=yõŽ™;´Õ´ñJ.›ý‡‡‡²–ÖÂ$ŇþùlçΰÈÈ#GJé)ÒÒÚ#G¢ÂÃÓôõ56nœ>gÎx)ùû£©‚õ׬7ä$Ã)jÃÜ4†NR#)HE`555)))û>ÜÌÌLòñÈ3Èë@Š´´°’’ò#"Ò££ß46¶š›ëøøØ¸»[=ïÐBˆÁbœK<·ÿþþffó7.ßlóÜFU––¿<*ÒÒ®}öÙôƒG}þ9Þ±÷áCƒ‹ËÁ¥K'úà‹••´£G†„$ki ܸqº¯¯½´½Ò°üY£Î8U²¢T¤s … ¯i$xolddÆÇ4CCMwwëéÓ­'L0Åý°©‰Ùt:þôˆâúië7¹oRSRÃ7¤vâwï~ó×_ËããvrÑ_K–œ-+«‹‰ PP®»í«ªèGŽ<¸q㥆†ÊæÍøftF5›¢B¤(Kן _€¼¤‡½ySó–_g7hÊ´i#||ÆLjoV¨k®;wòxìq’B€G€Ÿ«ŸE ÇxÚb·´\vs4|øÜ+WðŽ¥½°°” ®…‡ûoŒw,ÿª©i:q"æúõ窪Šž Úáµv5U°Š5Å5T½nrÚnh9W —0@¿yô‚:»””â(NNfÞÞ6#ÕÔpK¨5M5G9wRu€êæé›7¸n@€W0m•={²`÷éÓ–Ÿ}†w,ÿª®¦;;üì³1?ý4ïXþÑØØrêTÜ¥KIJJ??÷/¾pÄ後éME1 %‰4ú{¦²e˜›†4”Â~ ò:èuv 9<Ư³óò­«‹ÏÕîjzõÑè£'âN 88Ð+p¥ÓJ2ÿ3ÌÑß}—ÿþŠøxe-i9æ[»örffY\ÜVi¸§±±±õÔ©ØË—“ˆDâúõ®Ë—;©¨(âIq|CL@á ²±3ÕÄ•ªg7H†tDyôc ëÉ“üˆˆô‡ßÐé8×Ù•Õ•‰>ü8XW]wûÌí«œV‘ˆx^eÑé§MÓ··÷>}Ç0îßÏüê«K!!_;9™ã ÞzölÂ… I\.wýz·/¿tRUÅ'£ó±š¹5Ù ÝqªptÄò:,çÅ‹Âèè·÷îeTVÒŒŒ4Ýܬ}|llmM$|ÃqImÉO÷:ŸtÞ\Û|›ç¶Å‹qÌîE…-]:ûüyÓ8?û¥¡áì|ÀÅeÄñãxVé·¶²ÏŸÿûÌ™x6›»fÍÔ•+'kh¨|z4qÀx¨úmó‘*r7èc×LÔÙݽ›žŸ_‰W]vEöþû¯½¸f©cä4ü|¼bußϯ$1qEBÂuu\àÛ¸ñúãǹ ÛÔÔð©?`29¿ÿþ888¡©‰¹jÕ”ÿýÏeÐ IdtŒ‡U¤6=j(Žo`T³ç^¡i!-õ•@VA^2«“:»QK-o?¼ý!â‡ÐÔP;c»@¯@n×n©¯¿èâ2ÜÝÝãðaÉÏ/>>gñâàË—W»»[K~î,çÊ•§¿ý_[Û´zõÔµk%ð@C6ƒWü¨¡0¶þÃK:‡ÉÓ­:ÌjìLUÕÅ¿°È<Èë@öÕÔ4ÅÇ·¯³óö¶ÑÑ‘Ä!lfyæÞȽ7SnN>aÏg{\G¸J`¦måÞ»ñõ×ó¯^5ž:U³F551]\Žgü¥„gÍáðþúëÅÉ“1UUô¥K'þï.{‚á‹ï3ÿ¨l¥l2MÃÄ•ª6Ïë÷@Þ@^r„Fcüýw^LÌÛ¶uv>>cÌÍuúzÖÏ ž}þ}\vÜ$ÓIûæì›j.ÑþÕW•™™+=¢¨Hèr²ÀŽ¡o“Ìyo>.—wýú‹_~‰ûð¡~Ñ"??w ‰Í!Ô\ÅÆx˜ª@^òˆÉä$'óëìÒ++%Vg—ô.)ðvàã¼Çn#ÜöÏÝoklÛwój«¹ªê¢‹‹Õ¼yÓ~üQ2sä{þ¼`þüÓ'N|1ož„–”ÇÃÂÂR~ù%®°°úóϾýÖÕÐP³æÅ¢skrz¶ûhúˆò:k‚:»ðð´wïª45U]\,ûºÎ.6;vû­í)Å)n#ÜÍ?4Öplͨ­77n<ܼ—Wvg (IDATyQX˜¾½½f‡jme»º67×¾xq•f‡aؽ{ÇGçå}œ;wüúõnff}ònžÖzNqBCñ£†÷/éäÄ%Ñ£I Pã¤äuþ!á:»ØìØ­¡[3Ê2柷ç³=:}1—¶Â–,¡•–.‹‰!+JârïÞ½þùìñãï´µû¼Ž!""ýçŸcrr*¼½m6nœni)þãÓJ˜ï¢þy;ª‚*Éhªú07 =‡ðþ m ¯ÐÞ‡ eÇļMHÈÁ0lìX#Ÿ1>>6bÏO<Œ–ö}ø÷ù•ùóÆÏûiÎO¦CLÅ;‹¶ß¿¿4mÚØ+&oÛÖwsáKO/õñ9±ÿü%K&ôéŒbbÞž<“šZâã3Æßß}Ľ>šÑ½5y5Ù-†“ÕL¦i ¤FV‚t¤äu:%¨³‹ŠzÍ`°FŽ4pw·š5k¬xOðò³ûŽÛ;JjKVLZñ½÷÷bœ~[é—/?ÚµkqD„öèÑ}4 „›Í1ãèàÁjׯ¯í»÷“’òz’Räîníçç>~¼Q͈¯©‚¥¤I–’—ÐÈë|š Î.""­ªŠ.¨³³³3WÞbsÙד¯ï¾»û}Ãûå—ïžµ[W]ü'“1/dÁ&¶4*ŠHî«‚£G£~û-áÑ£­C‡ê‹é?{Vpà@äË—ENNf[¶xÚÙ™ˆkÊuù-ÌF®îø>¿Á€¾y€àñ°””¢˜˜¬¨¨×ÿÖÙ9;[Šå]Ý,ëÒÓK»ïÐVO^½cæm51Õ]vssôósܰA¼Sæ{óæýÌ™Çg­Y#þ{ùÒÓK÷ïLLÌ›0aøwßÍ´·&†‰b¨:›Q×Pô¨žVÊ4pTó<݇WCèk×QnîÇØØ·ÑÑoSRŠ•”(“&™y{Û̘1jàÀÞÖÙ1XŒs‰çößßßÌlþÆå›mžÛ¨Êâ| ÊË3g’\úð¡–…˜‹õØl®—×q%%…۷׋÷ŽÁׯË÷îHLÌ3Æpûv¯É“{ûòŒ‡*3›ŠâŠãš*XõM¦Q§QµGÁ#ÜAÿy€Þzÿ¾>>>‡_gG$ì퇹»[÷¾Î®‰Ùt:þô¸<î:çu;fîPSRKÀ—{uÖ,ðEx8$Î×Òüúë£Ã‡ÄÄl15"®i¾}ûþС±±Y#Gêúô>£óñ¸ØU×ꆆ¹S¦¨Ô‡GÂy±ih`$&¶¯³ûì³q½IrôVú¯ ¿î¿¿ŸB¢xø¹ú)QÄðâšœœ?f̘²sçø¯¾êýÔøòó+ÝÝøû»ûûOË ªz™1b„ÞÖ­žnnVâ­Âk©c+ ¢ˆq‚HÈ눓Éùûïܘ˜·ÑÑoÄRgWÛT{øááSN©(ªlž¾yƒë†”ÞžízôèË3g¾Œ¥÷rR!û쳓l6÷Þ=2¹·EãEEÕÜŒÌ01¼u«§——hgõ[êØ% 4M ¥ÁÖ’~€.x¼@âry©©Å11YdVëéQ§Máîn-Z]5½úhôÑq'¼yú毧~­Hýì1ÃùÓËKqà@ß›7Q¯ƒ/]ztûÁƒMVV½ºƒ¼¸¸æØ±‡ááiƒ¶m›)ZFo,gÇ7ÇÓª^7‘ˆô­îMTô#×¶uvjjJS¦˜»¹Y‰PgWVWv$úHðã`u3w¬tZI&ŠxÇZÕ›7zy¹íÛ7zÉѦÀWRRëêzhÕª)Û·{‰<‘iÇŽ= IÖÓ£nÚä1{ö¸žþéèfg‡Ö'4Ô½k N6œ¬nä¢n0A  ä äu$­¼¼>!¡cÝmí”ŕԖütÿ§ IL‡˜nŸ¹}±ÃbQ” ¸Ç{÷füùçŠGê‰xœa˜¯ïoUUÑÑ›E{¨~eeãÑ£Q!!Éššª›6yøúÚ‹vÓ`c3òë|#gucgªÎ8U" êÚ<‚¼n11occ³=Êni¥Î.çcÎO÷ºö⚥ŽeOÐüñó{zýžËb]™>]mèÐyüÑó%@¡ä€€;wüDxâ[u5ýäÉØkמ«© ؼy†È yüµ¶²ù…ô¾©®¦››ë¸»[»»[uQgwöìYAwQsÑÝ÷w³hY“´&-3YÖÓ¹sŠŠZïÜQùê+‚ª(ÏY»yó½²2ÉË«Çï°¯«c=[Œæè¨9a Åÿ?[îææ6l˜ðÎpY¼÷/è% 4Ûot¡”¡ ¯ Euv÷ïgUëëk¸¸X ­³’ïu" T!Ê|ɧ»„a\FTQ±iiÉáñ˜m{†„„,\¸°mV·4‰VO+{Jc·ð†X«8í0Ô´Ãý~ÈÈëH)¡uvžž£UUB!((ÈÙÙï0ÅÌÅÅ¥m^/Þøúª©t„!Ýñ§©O¥*†#u:ÕW/~ô’……Ž……Î7߸ææ~|øð̓™þþ×o¹¸ŒðôE ÈÅóÑ8 E•85ÈÈÐI]a \zàÓ ¯ íø ÞÏÏ­¾¾966+66+ DQq(ÞqI‚ñ4ªñ4q>™y€~CCCeÁ» ìh4††Æ¼ÃH#x\ýºº²huj™y×Ùy™Ÿ‘‘ÑÙ·­­­W¯^íé4étú_ý%B0Ož<ÉÉÉaD@@^@fEGG§¤¤tö-ƒÁ¸páBO§ÙÜÜÉï>|øpEEwŸƒ“ðæÍ›žÎÐS×= ££óÇÿ?I>99¹¹¹ßxí@^@ö566nÞ¼ùéÓ§+W®ôõõ½xñ¢à«G-]º´mÏòòòÍ›7{{{oذáéÓ§¡†††-[¶<~üxþüùiii;vì@ýðà ?üðCff¦Ð±B………ûöíûì³ÏöîÝËd2Û‡è×}'333**êÀ{÷î½~ýzII BˆÇãÅÇÇ=ztïÞ½W¯^---EíÝ»×ÒÒòâÅ‹3fÌØ·o_aa!›Í~ýúuxxøÿþ÷?--­´´4„ÐæÍ›ÕÕÕ7oÞlee%t¬–––uëÖþöÛo***‰‰‰ø6rò:rÃáøúú2ÄÌÌÌÒÒ²¸¸˜ßñâÅüžæææ¥¥¥UUUõõõ«W¯ cairomm: Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented,
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};

This will result in the following graph:

graph_legend.png

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.

The arrows have the following meaning:

  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Context-members.html0000644000175000017500000000005011561716354026503 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Context-members.html0000644000175000017500000010007011561716354026715 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Context Member List

This is the complete list of members for Cairo::Context, including all inherited members.
append_path(const Path& path)Cairo::Context
arc(double xc, double yc, double radius, double angle1, double angle2)Cairo::Context
arc_negative(double xc, double yc, double radius, double angle1, double angle2)Cairo::Context
begin_new_path()Cairo::Context
begin_new_sub_path()Cairo::Context
clip()Cairo::Context
clip_preserve()Cairo::Context
close_path()Cairo::Context
cobj()Cairo::Context [inline]
cobj() const Cairo::Context [inline]
cobject typedefCairo::Context
Context(const RefPtr< Surface >& target)Cairo::Context [explicit, protected]
Context(cairo_t* cobject, bool has_reference=false)Cairo::Context [explicit]
copy_clip_rectangle_list(std::vector< Rectangle >& rectangles) const Cairo::Context
copy_page()Cairo::Context
copy_path() const Cairo::Context
copy_path_flat() const Cairo::Context
create(const RefPtr< Surface >& target)Cairo::Context [static]
curve_to(double x1, double y1, double x2, double y2, double x3, double y3)Cairo::Context
device_to_user(double& x, double& y)Cairo::Context
device_to_user(double& x, double& y) const Cairo::Context
device_to_user_distance(double& dx, double& dy)Cairo::Context
device_to_user_distance(double& dx, double& dy) const Cairo::Context
fill()Cairo::Context
fill_preserve()Cairo::Context
get_antialias() const Cairo::Context
get_clip_extents(double& x1, double& y1, double& x2, double& y2) const Cairo::Context
get_current_point(double& x, double& y) const Cairo::Context
get_dash(std::vector< double >& dashes, double& offset) const Cairo::Context
get_fill_extents(double& x1, double& y1, double& x2, double& y2) const Cairo::Context
get_fill_rule() const Cairo::Context
get_font_extents(FontExtents& extents) const Cairo::Context
get_font_face()Cairo::Context
get_font_face() const Cairo::Context
get_font_matrix(Matrix& matrix) const Cairo::Context
get_font_matrix(cairo_matrix_t& matrix) const Cairo::Context
get_font_options(FontOptions& options) const Cairo::Context
get_glyph_extents(const std::vector< Glyph >& glyphs, TextExtents& extents) const Cairo::Context
get_group_target()Cairo::Context
get_group_target() const Cairo::Context
get_line_cap() const Cairo::Context
get_line_join() const Cairo::Context
get_line_width() const Cairo::Context
get_matrix(Matrix& matrix)Cairo::Context
get_matrix(cairo_matrix_t& matrix)Cairo::Context
get_matrix() const Cairo::Context
get_miter_limit() const Cairo::Context
get_operator() const Cairo::Context
get_path_extents(double& x1, double& y1, double& x2, double& y2) const Cairo::Context
get_scaled_font()Cairo::Context
get_source()Cairo::Context
get_source() const Cairo::Context
get_stroke_extents(double& x1, double& y1, double& x2, double& y2) const Cairo::Context
get_target()Cairo::Context
get_target() const Cairo::Context
get_text_extents(const std::string& utf8, TextExtents& extents) const Cairo::Context
get_tolerance() const Cairo::Context
glyph_path(const std::vector< Glyph >& glyphs)Cairo::Context
has_current_point() const Cairo::Context
in_clip(double x, double y) const Cairo::Context
in_fill(double x, double y) const Cairo::Context
in_stroke(double x, double y) const Cairo::Context
line_to(double x, double y)Cairo::Context
m_cobjectCairo::Context [protected]
mask(const RefPtr< const Pattern >& pattern)Cairo::Context
mask(const RefPtr< const Surface >& surface, double surface_x, double surface_y)Cairo::Context
move_to(double x, double y)Cairo::Context
paint()Cairo::Context
paint_with_alpha(double alpha)Cairo::Context
pop_group()Cairo::Context
pop_group_to_source()Cairo::Context
push_group()Cairo::Context
push_group_with_content(Content content)Cairo::Context
rectangle(double x, double y, double width, double height)Cairo::Context
rel_curve_to(double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)Cairo::Context
rel_line_to(double dx, double dy)Cairo::Context
rel_move_to(double dx, double dy)Cairo::Context
reset_clip()Cairo::Context
restore()Cairo::Context
rotate(double angle_radians)Cairo::Context
rotate_degrees(double angle_degres)Cairo::Context
save()Cairo::Context
scale(double sx, double sy)Cairo::Context
select_font_face(const std::string& family, FontSlant slant, FontWeight weight)Cairo::Context
set_antialias(Antialias antialias)Cairo::Context
set_dash(std::valarray< double >& dashes, double offset)Cairo::Context
set_dash(std::vector< double >& dashes, double offset)Cairo::Context
set_dash(const std::valarray< double >& dashes, double offset)Cairo::Context
set_dash(const std::vector< double >& dashes, double offset)Cairo::Context
set_fill_rule(FillRule fill_rule)Cairo::Context
set_font_face(const RefPtr< const FontFace >& font_face)Cairo::Context
set_font_matrix(const Matrix& matrix)Cairo::Context
set_font_matrix(const cairo_matrix_t& matrix)Cairo::Context
set_font_options(const FontOptions& options)Cairo::Context
set_font_size(double size)Cairo::Context
set_identity_matrix()Cairo::Context
set_line_cap(LineCap line_cap)Cairo::Context
set_line_join(LineJoin line_join)Cairo::Context
set_line_width(double width)Cairo::Context
set_matrix(const Matrix& matrix)Cairo::Context
set_matrix(const cairo_matrix_t& matrix)Cairo::Context
set_miter_limit(double limit)Cairo::Context
set_operator(Operator op)Cairo::Context
set_scaled_font(const RefPtr< const ScaledFont >& scaled_font)Cairo::Context
set_source(const RefPtr< const Pattern >& source)Cairo::Context
set_source(const RefPtr< Surface >& surface, double x, double y)Cairo::Context
set_source_rgb(double red, double green, double blue)Cairo::Context
set_source_rgba(double red, double green, double blue, double alpha)Cairo::Context
set_tolerance(double tolerance)Cairo::Context
show_glyphs(const std::vector< Glyph >& glyphs)Cairo::Context
show_page()Cairo::Context
show_text(const std::string& utf8)Cairo::Context
show_text_glyphs(const std::string& utf8, const std::vector< Glyph >& glyphs, const std::vector< TextCluster >& clusters, TextClusterFlags cluster_flags)Cairo::Context
stroke()Cairo::Context
stroke_preserve()Cairo::Context
text_path(const std::string& utf8)Cairo::Context
transform(const Matrix& matrix)Cairo::Context
transform(const cairo_matrix_t& matrix)Cairo::Context
translate(double tx, double ty)Cairo::Context
unset_dash()Cairo::Context
user_to_device(double& x, double& y)Cairo::Context
user_to_device(double& x, double& y) const Cairo::Context
user_to_device_distance(double& dx, double& dy)Cairo::Context
user_to_device_distance(double& dx, double& dy) const Cairo::Context
~Context()Cairo::Context [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Path-members.html0000644000175000017500000000005011561716354025753 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Path-members.html0000644000175000017500000000625611561716354026200 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Path Member List

This is the complete list of members for Cairo::Path, including all inherited members.
cobj()Cairo::Path [inline]
cobj() const Cairo::Path [inline]
cobject typedefCairo::Path
m_cobjectCairo::Path [protected]
Path(cairo_path_t* cobject, bool take_ownership=false)Cairo::Path [explicit]
~Path()Cairo::Path [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Path.html0000644000175000017500000000005011561716354024323 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Path.html0000644000175000017500000002111411561716354024536 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Path Class Reference

A data structure for holding a path. More...

List of all members.

Public Types

typedef cairo_path_t cobject

Public Member Functions

 Path (cairo_path_t*cobject, bool take_ownership=false)
virtual ~Path ()
cobjectcobj ()
const cobjectcobj () const

Protected Attributes

cobjectm_cobject

Detailed Description

A data structure for holding a path.

Use Context::copy_path() or Context::copy_path_flat() to instantiate a new Path. The application is responsible for freeing the Path object when it is no longer needed.


Member Typedef Documentation

typedef cairo_path_t Cairo::Path::cobject

Constructor & Destructor Documentation

Cairo::Path::Path ( cairo_path_t *  cobject,
bool  take_ownership = false 
) [explicit]
virtual Cairo::Path::~Path ( ) [virtual]

Member Function Documentation

cobject* Cairo::Path::cobj ( ) [inline]
const cobject* Cairo::Path::cobj ( ) const [inline]

Member Data Documentation


The documentation for this class was generated from the following file:
  • cairomm/path.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SolidPattern__inherit__graph.png0000644000175000017500000000005011561716354031060 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SolidPattern__inherit__graph.png0000644000175000017500000000737311561716354031306 0ustar00murraycmurrayc00000000000000‰PNG  IHDR{Æ÷”öbKGDÿÿÿ ½§“°IDATxœíkPW€On Èä–rÒTPa,-”2¥¶8… ´ÕqR°J ÈÐRÛÒꔡHÊ Žh­´DDÁÁQ)M -w‚â@JBå*!\B.ûýØoòm!¡qóç×»'gÏûž}8›Í’ÉçâZYÐ>€žðô„ 'œ€hJttôZ׎?4>ÚÚd LJJÒÕô›†††¼¼€žðV×{ËD*•–••577ÛØØDEEmÙ²E]O@pþüùÔÔTmÒ]¸paxxÝÝÝ###ÍÌÌ´ðy`Õ×ÓÐÐÐöíÛsssMMM9N``à±cÇÔu …/^Ô2cAAAMMÍààààààwß}gkk{óæMuétz__ßâø¹C›ûÑÑÑËé!•JÑ͘˜˜ðx<óþ+¾¾¾çÏŸWn¦¤¤DDD¨ëìààÐÖÖ¶8Ö9¥¥¥ÚíÕ]O£££×®];pà€ÁO°T*õâÅ‹CCC€ÚÚÚÈÈÈ7îÚµ«¤¤022òÖ[o¡;†‡‡—••ÙÛÛwuuñx¼¤¤$GGÇ„„„®®.t¨œœœ>ø`q¼__ßÖÖV•éh4Úèè(Fc±XØÀårCCC---wïÞ.GlI,+44´²²ÒÇLJB¡|ùå—«y«¼žnÞ¼I$ÇÇÇ¿¤P(<<<Î;'ÊÊʬ­­gggûúúÌÌÌ055 )))™››£P(iii}}}YYYóóó‚TTT0 t4lìëë›——766666V]]íë뛘˜¨2@ °³³«««›ŸŸÇÆ‚øûû§¥¥ \ºtiÆ Ø’ø|¾‘‘ÑÞ½{ûûû[[[>|¸ô¡Ðr=­®§+W®lÚ´IåKóóóÍÍÍhÜÓÓchhÈår±žwïÞE¤½½ÝÁÁA¹£¯¯ouuõI}}}‰D"‰D"‘H¶¶¶IIICCC*Ó!jÎ{?¦P(r¹mß»woff&¶$ô|Àf³ÑAAAW¯^]úPhéiu¯÷lmm‡‡‡=zäåå¥l¬¯¯Ÿ˜˜ˆŠŠjooOOOçr¹d2yñ¾D"q÷îÝ€ššš;w*Ûƒƒƒ«««CCC—È{îÜ9:¾ qétXnß¾=>>îêêŠnŠÅb;;;lI(h@"‘–P{V×ÓÎ;MMMoݺ¥ô„ È‘#G’““+++?^QQB"‘,,,ìK ŒŒŒÞÞÞ?þø£²½»»;..n¥•ük:,[·n¥R©è¦X,&ãããÊ’PˆÄg÷ésu3­[·îĉ ƒÃáÄb1ƒÁ‹‹‰Džžž¡¡¡$©¼¼|jjJ¡P¨$$$„Ïçÿþûï‡ÓÐЀ^k´´´Ü¹síƒU²D:l^4Þ±cÇ“'OÊÊÊSSS^^^hýkȪÿE¤§§Óh4???{{û7n\ºtÉÔÔôwÞ™õóó ¹ÿ>•JUwÁfddTPP@§Ó}||öìÙ“½qãFÀåË—•ZØX%êÒ¹¸¸$$$477cc"‘˜ŸŸÿõ×_S©TèèèíÛ·ëø¸¬ßÙ–ùù eff¦¡¡áÉ“' ÚÛÛÛ§§§a±Xr¹\åÅ!‚ …¢­­M&“i\ðât‚…Â{÷î ‚1JkkëÌÌŒ6•hyA@4ýÿULL €Édêò¯Fa2™4M㣠ïÃâè @OøzÂÐ>€žðô„ '| ‡ž®\iÐøãäs‹V÷Ëûí·°°0]•¢+¸Ü-gÎ|³nx­ ù###Ú쮹§ÀÀ@m¯SSFóóF‰½ýÔZ×ò¬¬¬<==5Þ]óû{Ï''O^¿xñ7kk󎎯‰DÂZ—£3ôêýI&S”•5ž>a³¹k]Ž.Ñ+O,VP(’ÊËÛÖº]¢Wž®_o14$¤RùÍ›móó²µ®Hgè§¹9iUU‡T*G7E"ɽ{Ö¶$¢?žª«ÎÍýo‘HÄòò–5¬G·è§òòì€d2ÅÝ»gf$kX’ÑOSSâÚÚGr¹Û(“ÉïÜé\«’t‹žxºu‹³økeD"áÚµæ5©Gç艧²²faá§Z™LÁbõŒÏ¬IIºE<ŽNÿñG¯\®òkš„ªªŽg]Ð* žªªÚÕ|•ÈåÈõëúpÕ§ž**ÚPw—inæŒ<_÷d5@ßîÃìí?9{öÀž=/®u!ºDÖÓÿÐ>€žðô„ '|=áè @OøzÂÐ>€žðô„ '|=áè @OøzÂÐ>€žðô„ '|=áè @OøzÂÐ>€žðô„ '|=áè @OøzÂÐ>€žpÂâgªàCC"Ñx­«Ð–ÏRñ»£Ïâé•%¹zõꂞ^yå•gQ D=õõõ Zàû>€žðô„ '|=á Ÿ “Éêëë»»»­¬¬‚ƒƒÕõœžž®ªªŠÕ´ÂÿòôéS6›=88°mÛ6µ•‹D¢7nìß¿_]êû÷ï[[[{zzVUUMLL ŽŽŽ;vì011ѲÎUB“õôôéÓøøx&“ibbÒÛÛ›À`0Ôuž­ªªÒ¢B¨­­=tè—˵´´¼råJLLÌÜÜÜ‹‹‹—Hý믿>xðpýúõ–––±±±±±1&“Åf³Õ ›““ƒ>Ö}AülÐd=X[[gee¡Ï5çóùGŽ‰ŽŽF‚¾€M›6]¾|YË*KKK=úúë¯öíÛ÷É'ŸTWW£O¥^‚å¤ {óÍ7ÑøìÙ³•••ØgÉcillŒŠŠZ?V¼ž&''ëëëÃÃÕŸwvvNMMEO ­­­Ÿ~úéž={>úè£ÚÚZ€@ øì³ÏÐOœ8Q__ÿî»ïö÷÷ FGGŸ>}º¿¿ê—_~ùæ›oÄ2™ìï¿ÿÆ>ë>%%ÅÝÝUŽƒ¢L àñxYYYo¿ývff¦D¢úG˜ÝÜÜzzzTÎ"##crr2##ƒÃá`cÀàà`rrrdddbb"º±3åp8ÉÉÉl6ûСC4­¨¨h¥eÅž=zðóóÃ6¾öÚkT*AÓ§OïÚµ«¤¤$&&†Á`H$‰DÒÖÖJ¥ñññöööü±¡¡á÷ßO&“=*“É ÅÃÃSDEEegg§§§WUU 988(Ÿý¢rej±Xœ@¡PΞ=kffÆb±”}Äb±P( …---¥¥¥¯¾úªÊY$''[XX$''oݺ233===‹ŠŠÞx㬬,‡©­­-‡Ã¹}ûö©S§233þùçLËdÅç=‘HdeeµaÆÅ/ÉåòÏ?ÿ|Ë–-WWW‘H4>>Ž]‰dÿþýþþþ½½½ …âÃ?ÄÅÅÕÕÕuttøùùaÏ9ؘN§×ÖÖ–——çææúûû'&&:88¨‡B¡,(¬©©ÉÙÙùý÷ß?~¼¦¦FùRaaá™3g¡¡¡±±±*gáàà@ ÌÍÍ ÌÍÍ•ñèè¨@  Óé!""¢¡¡Íf‡‡‡+g:11!“Éh4š§§'ŸÏá…VzØWìÉÊÊjbb¢¿¿›¬££cjj*88ø¯¿þºpáÂàà ¥¥åâ} ‹/¾hiiñööV¶oÛ¶­¹¹yÁU‚Þ0öðð@—ŸÏÏÏÏÿöÛoóóóU޳ØS[[š@"‘¨Tªò¥äädåû“’¥g¥±±Q(îÛ·Ý”H$ÖÖÖØ™¢ +€ý%ü±âݨTª±±ñŸþ©lA$77W(²ÙlƒA£Ñ~úé§ÂÂB##£ûôzÚÅÅåñãÇÊögggu›šš<¨Ütvv¦ÓéR©t™ã¸¹¹ñù|l·%&ø¯³Àâìììââò †øøxìLQÿf÷JY±'ccãØØØk×®ñx<€D")//Ÿœœ ›››£P(~~~D"‘Åb‰D"u?>ûÒK/ wvvx<ÞÇѳ\OOOSSÚG{yyMLLTTT í …¢®®nóæÍ†††êÆY@@@@{{;—Ë444 /1Á%fS©Ôññqôö¶H$:pàzXtŽ&×åï½÷žD"9|ø°ÝäääæÍ›SSSƒ‚‚Š‹‹>lffæîîîììœýÅ_¨Èj`˜˜˜““c`` ‰ètúúõëwïÞíêêzùå—±ñúõëOž€žðô„ '|=á÷÷RRRž},</44ÛòONNNÑÑÑ϶$ˆ \]]±-zøÜ;½¾?áè @OøzÂÐ>ø·¸ cairomm: Member List

Cairo::XlibSurface Member List

This is the complete list of members for Cairo::XlibSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(Display* dpy, Drawable drawable, Visual* visual, int width, int height)Cairo::XlibSurface [static]
create(Display* dpy, Pixmap bitmap, Screen* screen, int width, int height)Cairo::XlibSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
create_with_xrender_format(Display* dpy, Drawable drawable, Screen* screen, XRenderPictFormat* format, int width, int height)Cairo::XlibSurface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_depth() const Cairo::XlibSurface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_display() const Cairo::XlibSurface
get_display()Cairo::XlibSurface
get_drawable() const Cairo::XlibSurface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_height() const Cairo::XlibSurface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_screen()Cairo::XlibSurface
get_screen() const Cairo::XlibSurface
get_type() const Cairo::Surface
get_visual()Cairo::XlibSurface
get_visual() const Cairo::XlibSurface
get_width() const Cairo::XlibSurface
get_xrender_format() const Cairo::XlibSurface
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_drawable(Drawable drawable, int width, int height)Cairo::XlibSurface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
set_size(int width, int height)Cairo::XlibSurface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
XlibSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::XlibSurface [explicit]
~Surface()Cairo::Surface [virtual]
~XlibSurface()Cairo::XlibSurface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ToyFontFace-members.html0000644000175000017500000000005011561716354027240 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ToyFontFace-members.html0000644000175000017500000001242711561716354027462 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::ToyFontFace Member List

This is the complete list of members for Cairo::ToyFontFace, including all inherited members.
cobj()Cairo::FontFace [inline]
cobj() const Cairo::FontFace [inline]
cobject typedefCairo::FontFace
create(const std::string& family, FontSlant slant, FontWeight weight)Cairo::ToyFontFace [static]
FontFace(cairo_font_face_t* cobject, bool has_reference=false)Cairo::FontFace [explicit]
get_family() const Cairo::ToyFontFace
get_slant() const Cairo::ToyFontFace
get_type() const Cairo::FontFace
get_weight() const Cairo::ToyFontFace
m_cobjectCairo::FontFace [protected]
reference() const Cairo::FontFace
ToyFontFace(const std::string& family, FontSlant slant, FontWeight weight)Cairo::ToyFontFace [protected]
unreference() const Cairo::FontFace
~FontFace()Cairo::FontFace [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x75.html0000644000175000017500000000005011561716354023556 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x75.html0000644000175000017500000001154711561716354024002 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- u -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ImageSurface__inherit__graph.png0000644000175000017500000000005011561716354031003 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ImageSurface__inherit__graph.png0000644000175000017500000001017211561716354031220 0ustar00murraycmurrayc00000000000000‰PNG  IHDR˜{pÞZbKGDÿÿÿ ½§“/IDATxœíkPW‡ÿ›„Wä–*¢(A(HŪTl¥êx;‚Z­8e”"¢è¨µZ;"Vk+Ôªh)JG-”H­¢(2˜¡¢H¹FbpKJÈå¼Öɤ!`¸—Ó}>œœËo÷ÉžÝ,C–@Åȇ6Ü(J$&P"1‰ ”H\@ý&11q¸7bd“˜˜Ø ŒJ“””4PCý§qL¤¿¿ÿ@ EѨs$&P"1‰ ”HL DbŠ”ËåW®\Ù¹sç×_]^^ÞCK±X|ìØ±þÏøòåËØØØˆˆˆŒŒ ¹\®Ç¿þúëôéÓEEEýÏ04 Ⱥºº3fœ8qÂÈȨ  `æÌ™¡¡¡Ý5nii‰‹‹ëçŒW®\qssËË˳²²ŠŠŠb±X‰DϾ!!!çΣÑFΊ5PwvÞØÌßßÑ¢Er¹œ|ùìÙ3CCC¡PØÿÝáééyñâEõK__ß³gÏêÙ×ÉÉéþýûƒ“ëÀÝÙ¢OÜ«W¯¸\n`` ƒñú‡Ã‰‹‹«««€ŒŒŒ%K–XZZΞ=ûòåË ‰–.]Jv\°`Arròøñã‹‹‹…BáŽ;&L˜°uëÖââbr¨ãǯ_¿^«,—Ëz:8þ¼‡‡TUUÍ›7O]¿jÕªœœ͉¼½½_¼x±aÆ›7oêŒÙÙÙ^^^o½õÖúõëKKKÉJ@0þ|ssó¹sç^¿~}ðö§úÿYÐ爼~ý:Fkhhèú–J¥rvvŽ‹ÅÉÉÉL&S"‘TVV#„jjjŒŒŒæÍ›wùò厎;;»={öTVVFFFš™™uvv"„®]»CަYÞ·oN_ºtéùóç5ý’’&“©~éîîžžž®9‘H$rppHKKëèèÐO©TZ[[GFFÖÖÖnß¾}Ù²eäP^^^{öì©©©ùé§ŸLMMóóó߸÷`€ŽÈ!yéÒ¥±cÇê|«³³“Ïç“åòòr@ )îܹƒzúô©­­­º#) çysssÃÃçM›FÄ‚ ê^¤z"„ÐĉŸŸ––F¶Q—›ššÌÌÌ~øá²^¡P„……‘ÕÕÕ1Œêêj„ù×7riUO„4–Vñš››ÇŒóìÙ3„Э[·\\\BJ¥ÒÖÖö×_Eµ´´ØÛÛçää¼q·ÀÈ:G"„:;;É%hòäÉæææ¾¾¾)))¡¿ÿþÛÙÙÙÓÓÓ××wÇŽÇÛÛ[§H„PBB‚³³³«««½½½ú¢&,,ÌÛÛ»kùæÍ›ÖÖÖÖÖÖžžžL&ÓÝݽ¬¬Œ|kݺuL&sæÌ™sæÌ!—èîDꌇ:s挃ƒƒ‡‡‡­­-—Ë%{%''O›6ÍÅÅeìØ±ú콑'’¤½½ýÁƒ/_¾Ôªúôi[[BH$eee)•J—¸!•J•——§P(ô™®³³óáÇéé饥¥ZoUTTè?ŽV<²R¡Pðùü®#xðàÐÇ¢è‡ÒªÑ!Ò××w(²Pôƒ®"©s$&P"1‰ ”HL DbBŸÄ£P(x<^YY™………Ï„ ºkÙÖÖ–ššºzõê¾&ÈÌÌ´´´twwïÏ úÓØØ˜][[ëíííææÆ`è»—š››y<ž»»;›ÍÌ€:èËÙØØ¸eË–¤¤$CCÃŠŠŠ­[·ÆÄÄt×X"‘¤¦¦ö#!À;wøü!úÕŒŒŒ7 ssóK—.tttèÙ7::úúõëA¼¹é@Ó—#òÔ©SL&322’N§@UUUpp°¿¿ÿ¸qãº6;vìÏ?ÿÜߘCHbbbHHȇ~kÖ¬ OOO_ºt©>}ÁÞ½{ííí9£z}D’«Ç‚ H‹Àf³wïÞÝÔÔOž<Ù»wï²eË>û쳌Œ ‹Åûöí#;îÚµ‹Çã­\¹²ººº®®îôéÓþþþ'Ož¬®®&‡úå—_¢¢¢º–Õ´¶¶îܹóÆ«W¯^µjUfff||üÊ•+7mÚ¤>d»f +7nܸ|ùò˜˜˜sçÎåää@mmíÎ;—,Y– …âÏ?ÿToDDDLš4 êëëÃÃÃÕõ‡*))Ñܨ-[¶ˆD¢£G’ƒëŒQTT¼|ùò¨¨¨/^•]cô^‹,))€éÓ§kV~ðÁ!tòäÉÙ³g_¾|9 &&F&“Éd²¼¼<Ëå………×®]Û²eËøñã·oßn``ðý÷ß[YY…„„( °³³svv&ÇÔ,«Q(yyyåååqqq‹/þꫯ¤RiBB‚——yÜëÌ P(8àççwöìY™L–””ÔÚÚ ‡ž2eJ||üÂ… ###…B!ƒÁX±bÅ‘#G>ÿüóÔÔÔºº:[[Û)S¦@gg§P(T'©©©‘J¥šeeeµmÛ6OOO1Bû÷ïï½÷âââLMMcccÉ¡ºÆè­èÃÒ*•J-,,LMM»¾¥T*÷ïß?yòdptt”J¥ šŸn™LöñÇ{yyUTT¨TªM›6ÀÚµk333óóó§OŸ>kÖ,ucͲ&¡ 6ûúú&$$ùúúÞ¾}»» õõõãÆ[³f „„„¤¥¥À«W¯ÄbqPPA‹-zðàAvv¶££cPPOFFÆÕ«WOœ8áååfkkÛÝQoalll`` P(ºÆhnn633[»v-¥¤¤(•ÊÆÆF1zë¥×"-,,šššª««5Ïùùù­­­>>>ÏŸ?ÿñÇkkkÍÍÍ»ö%âí·ß€Ç»ººªëÝÜÜø|¾ÖQÞ–––@§Ó LLLÈòëía0ºfàóù‡,‘—”=jii!í€L&c2™ä_œÉÅ ªª*::úرcÑÑÑÝ…Qo”&:c}zÆ áááfff&&&ööö£G&"44ôâÅ‹ñññmmm~~~äEÍ_|qôèÑ .XYY‰D"++«/¿ü,--ßÿýM›6M˜0N§»¹¹õ!Fppð¾}ûLLLÄbñ¶mÛ »½åOHJJ"¯éõéÙÑÑ! mll´ÖôŠŠŠñãÇ=º¹¹¹¦¦ÆÕÕµ­­MçÅB¨¢¢ÂÑÑ‘Fà;…ZìííÅb±Muu5›Í^¾|ytt´ú’X °X,CCCuw…B!¤R©µµµÖëêê$‰ž™µbL›6 T*ÕóçÏœœ´Fè£æÍ›—˜˜ ®éûò ]\\ºÖOœ8‘,˜››“çy€ ''§>è­ ­­­Û·oß±c‡­­íÙ³g™L&y=IB~MÔ„Á`L:UçÈ:ozèƒ,Óh4ÍÙ{ˆÑ+ìñõÿfLMM:”žž^YYÉb±¾ûî»a¹‹6¨ü'D€››[Ïgµ‘õg,L Db%(‘˜@‰ÄJ$&P"1AÇ÷Ȉˆˆ¡ÏAÑOþ!’ÅbùûûW ýqttÔº Œÿ£yÿ#PçHL Db%(‘˜@‰Ä„ÿ6•8óˆè‚êIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1PsSurface__inherit__graph.png0000644000175000017500000000005011561716354030343 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1PsSurface__inherit__graph.png0000644000175000017500000001004611561716354030560 0ustar00murraycmurrayc00000000000000‰PNG  IHDRƒ{Ø>¤EbKGDÿÿÿ ½§“ÛIDATxœíyPS×þÀ¿7 eSi@e1,ŠÀ‚´à"ŪãÒ±5Z—ªÓ¢<´Š(8jmÕ7«Oi·Rµ­ZÈÅä9A¶ BADH€„„,÷÷Çíä—†€ayrRï篓“sÏùÞûÉ9ç.™{0Ç(cÉ_&P4 ¤ T M ®c£~Ãb±t9È4«‹ˆˆ˜={öÿ4â$'OžÔ±¤®&üüüX,Öpãy{¹~ýºŽ%ÉyH¨@š@Ò*&Pa4MÈd²k×®íÙ³ç»ï¾«©©¤dggg\\ÜÈ[lnn>wî\dddNNŽL&Ó}Ãööö„„„'OžŒ<†ÑbÔL´´´|ðÁ'Nœ011)//÷óóÛ±cÇ@……Babbâ[¼víš§§gII Nµ³³‰D:n»}ûöóçÏS(( :^c'%% ^†Åb-Y²D&“ÿüóO##£ºº:]êÞÞÞ—/_V} <{ö¬ŽÛ:;;ß¿ÿ×ß`±X:^c΢­­-55uÓ¦M4Ú_—ŠL&311±¥¥rrr–-[6qâĹsç^½zx<Þòåˉ -Z”’’2eÊ”ÊÊʺººÝ»wÛÚÚnÛ¶­²²’¨êøñã7nÔHËd2.—«j.\¸àååõõõ ,På¯Y³æáÇê ùúú¾xñbóæÍ7oÞÔäççûøø¼ûî»7n|úô)‘ÉårƒƒƒÍÍÍçÏŸŸ‘‘1*‡îÿÑE¼®OdddP(>Ÿßÿ+¥RéâârîܹÎÎΔ”KKK‘HôüùsSSSÇMLL,XpõêU‰Dboo¿oß¾çÏŸGGG›™™õõõá8~ãÆøøx¢6õô¨TêòåË/\¸ Þùªªª,--UgΜ™­ÞÇspp¸}û¶D"ÑžB¡°²²ŠŽŽnjjÚµk׊+ˆª|||öíÛ×ØØøóÏ?O˜0¡¬¬ìµ‡N÷>1:&®\¹2iÒ$­_õõõéšš.—«n²²²p/--µ±±QmHÁÁ{ôèQDD„‡‡†a‹-âr¹øÀ&T á8îääTPP0Px÷ïßwuu%2E"Q\\œL&{ñâ…½½½B¡ ò?ùä“£GþæG'kkëÖÖÖªª*õL‡Ãf³ JKK/^ìääôùçŸ÷ß–B¡ÌŸ?îÞ½;gÎU¾¿¿vvö ]Y¡Pøøøœ¢OŸ>ÝÜÜ<00Ífã8ÞÛÛëâââíí¸{÷n&“éëë«>OP©TU%¿üò‹‹‹‹»»ûÔ©SU3sxx¸¯¯oÿôÍ›7­¬¬¬¬¬¼½½---gΜY]]M|µaÃKKK??¿yóæ£œFCªyBkx8ŽŸ9sÆÁÁÁËËËÆÆ&55•Ø*%%ÅÃÃÃÍÍmÒ¤I‘‘‘ºº7=c«èéé)((hnnÖÈ/--íîîÆqœÇãåææ* ­'Z8Ž+•Ê’’¹\®Ks}}}<ÈÎÎ~úô©ÆWµµµº×£‘)—Ë‹ŠŠú×ðøñãžž]ªÅ‡bÃux8ŠaXRRÒêÕ«G³3¾-99ùµ%QºÜ»!M iH¨@š@Ò*&P4 zoÇñ«WŒu£€®×ØÖÖÖo  ¡ÒÛkÜÔd7mÚ``C***t¹ÆÖé±(ÿ#V 0ëë{‡F³?¾o¬cÑB@@€ŸŸŸ.%uêÈ¢Tâžžßvtô„„üûß+Ç:œ¡ßóÄýûÜŽŽ¸~½H.×þØC_Ðoii ¨ÐÕÕ›—‡èT¡#zlB*•gd”Èd  Ñ(lvñXG4"ôØÄÿ[ÕÛû×,-“)þø£L"Â2QCM¤¥S©TÕG‰D~÷nåÆ3BôÕDW—$+ëO¹\¡Ê¡R)iiz<@髉¬¬?Š¿,É劜œÊ®®Þ± i„諉ÔÔ" Ã42 å­[cÏÈÑK|~O^^FŸ,%¥h  ôÒÄ”hvP*•ÏÚÚºß|H#G/M°ÙE …ö›4J%df–½áxFý3Áã ‹‹º]†§§—¼Ñ€F ý¾éé¥ÿú×åææÿŒu #EÿúÄ?Ò*&P4 ¤ T M iH¨@š@Ò*&P4 ¤ T M iH¨@š@Ò*&P4 ¤ T M iH¨@š@Ò*&P4 ¤ T M iH¨@š@Ò*&AýuïcËp P ¬Æ:Šá ñ~ͷϱX¬AVB!-ú¯Ö¬iÂÍÍ-00ð …óÃáp4rÈyH¨@š@Ò*&PA§w(k —Ë9Nuuµ………¿¿¿­­í@%»»»333?ûì³D™™™DÚÖÖvöìÙFFFƒoòêÕ«üüü¦¦&___OOOõ…jG p8œ™3g2Œ‘Ä< †Ü'^½z–œœlddT[[»mÛ¶øøø ‹D¢ÌÌÌ‘El6»¸¸¸½½½½½=99yåÊ•ùùùƒ”ÏÉÉùâ‹/¸\®¹¹ù•+WV¯^-‘HtlëôéÓýߦörŸøñÇ---£££‰÷RÖ×ׇ††²X¬É“'÷/úÖ®]‘M,ùZ¸\îþýû§N:ò˜‡ÊÐúÑy-Z¤z=(ƒÁØ»w/1z<~üxÿþý+V¬øê«¯rrr ³³óÀĆQQQgÕªU --- ,ëÔ©SªuIÿý÷ØØØþi œœœjjþz]rzzzXXتU«âââzzz@.—¿|ùRýí¥‘‘‘Ó¦M€ÖÖÖˆˆUþ‘#GªªªÔ ãñxÇŽ{øð¡ÖÝ€'Ož„††~üñDZ±±Ä‚žÐÔÔ´gÏžeË–…‡‡Þ_ah&ˆÕ~gÍš¥žùá‡2™LÇO:E,ö½zõêøøx©T*•JKJJ@&“UTTܸq#,,lÊ”)»ví200øá‡ètúöíÛår9ØÛÛ»¸¸uª§ ··W( …Âââ⤤¤   hiiILLܽ{÷ùóç[[[oݺ4måÊ•111_ýufffKK‹ÍŒ3 ¯¯¯®®NUgcc£X,V,66–N§ïܹÓÛÛ[ëîà8~ðàÁ€€€ÄÄÄ &œ;wލêèÑ£3f̸xñââÅ‹£££Õ[Ñ¡Nb±ØÂÂb„ ý¿R(œ>}:8::ŠÅb>Ÿ¯þÛ”J¥ëÖ­óññ©­­U*•[¶l€õë×ß»w¯¬¬lÖ¬YêŽÆà“pæÌ033 &NTӸĉcbbâï““––vâÄ Ÿððp›vJ`fjjj`` —ËûïŽ@ 033[¿~=Ñ ›ÍV(¯^½êìì Á0lÉ’%ùùùŽŽŽC:°0T ê#iYYYWW—¿¿ÿ³gÏ~ú駦¦&ssóþÛböÞ{ï@qq±»»»*ßÓÓ³¨¨H£Ÿi°gÏÕ<¡‚Éd®ZµjÿþýT*5((ˆX$ƒ¸¯éââBt©úúúÓ§OÇÅÅ>}z ÊU©C£ÑúïNaa¡*rCCCâQXX( ×®]KäK¥RKKËAöe †6:1™LCCCb%ÀqüĉB¡0???>>~Íš5¿ýö[BBBÿ•¨1 #Î&T#,466ï”Q¡P¬[·.99ùðáÃ/_¾$æ•GmÞ¼YU†Á`„„„TTTÈd2my<žF`êhÝ{{{õÕÉ9ŽD"a0¿«6ŒÝš ⇚šJ …R©4--M ,\¸P"‘ØÛÛÏš5‹B¡äææŠÅâxxyyµ¶¶VTT@]]Ý“'Oˆ±¨¦¦æÑ£GDõô@p8œÐÐP Ã\]]ƒ‚‚ˆÛÕÕµ££ãÆD¥RyïÞ=gggƒqãÆ‰D¢¶¶6ÈÍÍ%Ê„ÖÝñóó{úôi}}=^¼xÑÈȈÉdòù|âÞªX,Þ´iÓ›˜'`Æ R©tëÖ­“'OÎÎÎ{÷î544œ7oÞ¥K—¶nÝjjj:mÚ4ƒóí·ßji’F ?~ü8F‹Å!!!ãÇ€¬¬¬ÊÊÊ÷ß_#=ׯ_ÿôÓO'OžÌçó£¢¢`üøñß|óͱcÇ.]ºD§Óy<N?|ø0Lœ81((hË–-¶¶¶T*ÕÓÓsʵîNBBBhhèÆ×ÙÙ¹sçNÀ0lÇŽ—/_¾xñbww÷Â… ‰„¡ò·wcbvèÐ!]žOH$’ºº:kkk1±¶¶vÊ”)ÆÆÆ ±±ÑÝݽ»»[ë ãxmm­££#…2¢;.íííÄBýrL.—s¹\±Xleeegg§^¾¥¥E$騮Æîxxx€R©|ö왳³³F \.×ÎÎîµ×ÿGŽ¡Óéê+I çni}´çääD$ÌÍ͉‰N«À0ÌÙÙyx­«C§ÓétºF&FsuuÕZ^ëè@ôß P(Ä9•ÄU˰!ï¢iH¨@š@Ò*&P4 ¤ T M ‚æÝGGG ‹1 è-¡®®.88xÀ»(¯ƒýÃÑÑQcÝl½_ç9O iH¨@š@Ò*üšÌuÍÀIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/tab_b.png0000644000175000017500000000005011561716353021651 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/tab_b.png0000644000175000017500000000026211561716353022065 0ustar00murraycmurrayc00000000000000‰PNG  IHDR$ÇÇ[yIDATxíÝÛ Â €Ñ?|SVÓˆ´bB#P®½8³‰O¾:É™D>ßm{SûIí'¹äz(!•TBÞ‰y#¤WìJDp¾ã|Ã…†ó »ìR˜]áá æ™Ð6q·‰›]ç•qŠŒÓÊÕD.&0èÀ =ƒJD”ˆü=@*é*ç×IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/index.html0000644000175000017500000000005011561716354022072 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/index.html0000644000175000017500000000361211561716354022310 0ustar00murraycmurrayc00000000000000 cairomm: Cairomm: A C++ wrapper for the cairo graphics library

Cairomm: A C++ wrapper for the cairo graphics library

License

Cairomm is available under the terms of the LGPL license

Introduction

If you're just beginning to learn cairomm, a good place to start is with the Cairo::Surface and Cairo::Context classes. In general terms, you draw onto a Surface using the graphics settings specified in your Context.

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1QuartzSurface__inherit__graph.png0000644000175000017500000000005011561716354031247 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1QuartzSurface__inherit__graph.png0000644000175000017500000001034711561716354031470 0ustar00murraycmurrayc00000000000000‰PNG  IHDR›{ìGeYbKGDÿÿÿ ½§“œIDATxœíyPçÇß\Ü Š€Š`@!€iÁÄV«NÕŽF¼ªŽEùá¢è(µµ¨ˆb¡J;´Öz¶b‘k° R› "È¥`ˆ„³„`$áHHH6ûûc;;1D¡¾îç¯Ý7ïû<߼߼ÇnKBQ@y´èÂQØ … ÂQØ …TGŒöûx»a2™º2‚ªCY³gÏÖaÀw„„„FÓ¥£~~~L&S‡ßRSSuXGaƒp6Gaƒp6GaCߎ*Š«W¯îÙ³çĉõõõÃÔ‰Dqqq¯Ÿ±½½ýÌ™3‘‘‘ …bä Ÿ>}š””ôèÑ£×× Oôê(ŸÏÿàƒâããMLLª««ýüüvîÜ9TåîîîsçνfÆ«W¯zzzVTTXYYÅÆÆÚÙÙI$’¶Ý¾}û/¿üB&¿mÓ˜®nURRR†¯Ãd2—.]ªP(°Ó‡ñx<]iŒ··÷¥K—ðÓÀÀÀŸþy„mœœîÞ½ûft=“ÉÔá=#ý};;;ÓÓÓ7nÜH¥þ{[ƒÁ`œ;wŽÏç –-[6~üø¹sç&''Áòå˱†‹/NKK›àEc4;;›L& …ÂÁ/©T*—3gΈD¢´´4KKK‰DÒØØhjjŠ¢hkk«‰‰É‚ ’““e2™½½ýþýûcbbÌÍÍPÍÊÊJLLÄ¢©GEEQ(”åË—Ÿ={V}2¨««³´´ÄOgΜ™ŸŸ¯žH 888ܼyS&“i•‡ ˆµµuLLL[[Û®]»V¬X…òññÙ¿kkëùóçÇŽ[UUõ®ÓíÕŸ£W®\™8q¢Ö—ÊÊʰãúúzÆårÕäåå¡(ZYYikk‹7Äœ^Øýû÷#""<<ùä“ÒÒRìjõæÍ›‡255={v{{{ZZ §§ÇÕÕ{³zEWÓ7ÁÕËÀÀ6;MŸ>ÝÂÂ"00033EÑþþ~ooïÀÀÀÝ»w3 ___õu”B¡àA._¾ìâââîî>uêT|îëë;øøÆÖÖÖÖÖÖÞÞÞ–––3gÎäp8ØKëׯ·´´ôóó›7o6{k$Â×Q­òPýé§Ÿ¼¼¼lmmÓÓÓ±Viiinnn'NŒŒŒI×½­;#œ¾¾¾âââöövòÊÊÊÞÞ^E›ÍFDëÆEQ•JUQQ¡T*G’n`` ¤¤$??ÿñãÇ/544Œ<ކ<¬P©T–•• ŽðàÁƒ¾¾¾‘„Euí( ÕÑ”H¤”””U«Vé$Ú;Öi×®]ÓI´·íÁ‹ … ÂQØ … ÂQØ … ÂQØ …wÂQE““KF[…žÐå=#DÓ-ýýÆmmvÎÎÃý¡Ú(RSS «{F:ûÝËù/b±ùÀ€•j3fÌÀhkÑB@@€ŸŸŸ®¢élŒþgQ©POÏoººú‚ƒ^9ÚrÞ8ð¯£wïr»ºú©©eJ¥ö¯]a~G32Ðh@OOaát)Õ!;*—+³³+ @¥’33ËG[ÑrGÿú«®¿ÿßÝBääTÉd/ñC‰·ÈÍÈ(§P(ø©L¦¼}»võè˜íé‘åå=T*¼„B!gd@>ñÂìh^ÞCyns«T"µ==ý£%IÀìhzz‰DÒ(DÕŸÖŒŠý­£Ba_aa½Æ@JK+AúZGsrªÐ •JU\ü¤³³Wÿ’ô´Žff–!ˆöœ*ÈÍ­Ò³½§£Awyy3CݲF¯_¯Ð« =ÿzÀõë•ÿûߥööïG[ˆ>€sŒ¾ËŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(lŽÂá(t¨?/%%e´å¼ÈdCÍz´U¼)4žm¨å¿š:tHÿ²^ÚÚÚÔÔTB-ŽêCÁ›XGaƒp6Gaƒp6GaãŸÉ¤T*Y,‡Ã7nœ¿¿ÿ”)S†ªÙÛÛ›››»zõêWUø/‚°Ùl‡ƒ ˆ““Óüùó _3æ yöìYQQQ[[›¯¯¯§§'•:Òî‹Å,kæÌ™t:ýM Ô«ŒÑgÏž…††^»vÍÈȨ¡¡aÛ¶m‰‰‰CU–H$¹¹¹¯¡ž>}vþüyA ÒÓÓ·nÝÚÔÔô:1Ož<Éçó‡©PPP°yóf.—kaaqåÊ•U«VÉd²?}útvvöàÿÀ­^eŒþøã–––111ØcšššBBB˜Læ¤I“Wž8qâo¿ýöš*LLL°q¹y󿏏¸#GŽœ={–L~Å…£´´tåÊẕ’’²}ûö?þ°fÍšˆˆˆüüüåË—$8—Ë=pàÀÔ©S_MÛëðÒÝÍ'‹/ÆŸºA§Ó÷íÛ×ÕÕxðàÁV¬X±cÇŽ‚‚€H$ŠŠŠÂîÝ»—Åb}þùçÍÍÍ|>?))‰Édž:uª¹¹ õÇÄÆÆjs¹Ü’’’•+WâÓ,™L âñxl6»££#""—]WW§U‰º€Í›7‹Åâèèèêêêòòò`5Nœ8P*•ÿüóú“E"##Z3ª Ç¿wïžV%€G…„„|úé§±±±---Xa[[Ûž={–-[^TTô²ÖüÛ9/Ûë¯Y³f©~ôÑG EÑS§NÍ;799yÕªU‰‰‰r¹\.—WTT EMMMVVVhhèäÉ“wíÚE£Ñ~øá++«íÛ·+•J€½½½‹‹ ?æñx&&&ï¿ÿ¾zF‡©S§òx¼‡—·¶¶J¥R­JÔÄÇÇ›››ïÙ³ÇÍÍÁ`DGGGGGGEEI¥R;;;•J]¹rå±cǾúê«ÜÜ\>Ÿokk;cÆ €ÖŒêÁccc­¬¬Â¼½½µ*AQôàÁƒçÎ;vì™3g°PG1cÆ… –,Y£žeä¼ô¬+•JÇ7vìØÁ/!rðàÁéÓ§¥R©P(Tÿ˜Ëåòµk×úøø444¨Tª-[¶Ö­[wçΪªªY³fÍ™3¯Œ‹D"{{{¦‘ÎÍÍM$i©U‰.@"‘ÌĮ̀T*•Jµµµ>|ØÍÍmíÚµXàà`ÿ‚‚‚ŒŒŒøøxŸððp¬¦V4‚›ššÒh4¥R9X‰X,677_·n–%33AgÏž‰D¢àà`‰´téÒââ⢢"GGÇáíÌK;:nܸ®®®ææfõE¢ªªª§§ÇßßÿÉ“'¿þúk[[›……Åà¶$é½÷Þ”——»»»ãåžžžeeeãÇÖÖ–ÃáˆÅb˜|>_ýðÜ»¢Rµ*Á æòåË|>ÿôéÓØ)ö=†‹‹ 6O455>}:..¯0Ì»{¡’ÒÒRüíb¥¥¥ÝÝÝkÖ¬ÁÊår¹¥¥åP¹†á¥g]ƒahhˆ­(ŠÆÇÇwww%&&ýþûïIIImI$vààà€/€ÖÖÖavù®®®4Ífc§R©4''§¥¥åáÇ=ˆ ˆ@ ¥ ‹ÅÊÉÉ9zô(^óþýû›6mÂ+Ðéôàààšš…â¹Ç®á‡ ®U‰½½½ú6›ÅbÉd2:îààð‡¡¡¡CõÉ0¼´£Øg*==›ååryFF†X,^´h‘L&³··Ÿ5k™Lf³ÙØz¦5ˆ——WGGGMM €Çã=zômõõõ÷ïßÇêàÇ&LX½zõ•+W8Aììì;v,\¸ÐÙÙÙÌÌL"‘tvvØlv__`„J°B.—›päÈõ1áêêÚÕÕ•••…ªTª;wî899Ñh4­‡B«??¿ÇcW_¥¥¥.\022b0B¡Åb¤RéÆõ´ŽÖ¯_/—Ë·nÝ:iÒ$±Xìää´oß>CCÃyóæ]¼xqëÖ­¦¦¦ÎÎÎt:ýرcß|ó–¬TjxxøÉ“'©TªT* 3f //¯¶¶Û©oÚ´ÉÈÈ(,,lüøñ$©¿¿ŸN§766 … &|øá‡[¶l™2e …BñôôhU­®aÒ¤Ißÿ}xxø7úúúvíÚ…•›™™¥¦¦Ž3æë¯¿>~üøÅ‹­¬¬••Õ·ß~ ?~üàŒC¡UIRRRHHHTT”™™™H$ H¤;w^ºtéÂ… ½½½‹-Â6b/ËsÏ’¸víZPPÐ;wFÒR&“ñx<龡¡aòäÉÆÆÆb±¸µµÕÝݽ··WëN Eц†GGÇ^S*Ц¦& …âàà@"‘²²²<<<°½ŸÏ—H$¡4”xxx¨G“J¥åCeT*•\.W*•Z[[c{`­‡B«•JõäÉ'''\.×ÎÎÎÈÈè…aÿþûïèèhéçÕ%u´:JÜ©‡ ÂQØ … ÂQØ … ÂQØ … ÂQØ … -÷u###õ¯ƒàÐúõðsŽÚÙÙ1™L}é!Ѓ¿T~'žúüNA¬£°A8 „£°A8 „£°ñW$Èì£áIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_3.png0000644000175000017500000000005011561716353023647 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_3.png0000644000175000017500000000342011561716353024062 0ustar00murraycmurrayc00000000000000‰PNG  IHDR“(uŠ_ôbKGDÿÿÿ ½§“ÅIDATxœí›_LR}Ç””‚•©•ÔÍS]Ëi¬A‹­lÕ¦[¹YQë"³¦•Y­‹ÖÖêÆ?›ó¢ÿÞÔ¬e‡Y¹•¦dFŽ‘ÂYMÒQÊ)Ÿ÷â¼—äˆÂë[ïÙÎçêÇïüžçù>çËù( ™ó§°D ëSac*1Á/l6[WWן’žüò‚¸sçÎRÅ2=ð+1´+~¿,–0´´´”””LšdïsL…uŽ©°Î1Ö9¦Â:ÇTXç˜ Í§‚™à÷û ‚ÐëõK—.-**ÊÊÊšjåðððµk×Nž<­B„º|ù²ÓéDq8œŒŒ ¹\žššQ†Y‘AQSSSRR"‰¢ˆíïïïèè˜ü±:r¢¹æÇš5kêëëy<^OOÏÚµk+**¦Zìr¹šššþ…B„jhhÐh4Ÿ?¶Z­ååå+V¬¸ÿ~DfEŹsçìv{t±v»½±±qD„~‡Ó±cÇŽÂÂB¿ßO¾4™L±±±6›mÚÀ¨Á0ìæÍ›äØívŸ9sfÑ¢Eß¾}ûï*†‡Ïçk4šèb5D"‰(„Ö—ˆ¯¹¡¡!µZ½wïÞ˜˜¿wZ‰DÒÔÔäp8BOž<Ùºukbb¢L&»uëBhpppÛ¶mdà¦M›‚HMM5›Í6›­ªª*--íСCf³™LU[[«R©BÇÁÄÇÇŸ>}úû÷ïÍÍÍ!«ÕªT*äry[[BèàÁƒW¯^%»Ýî¼¼¼>P2BÝÝÝyyyÉÉÉ*•ª··—œ Í3C=´ÑÖ"€ãÇ=z¢úÒ*bç^¿~R*•Á“¥¥¥R©>¼}ûv²‡ÊÊʱ±1¯×«ÑhB>ŸO§Ó]¼x±¾¾>33sÆ óçÏ×étiiiR©Ôï÷#„0 ËÏÏ's''“É, Y:??ßd2íÛ·o÷îÝ===999ׯ_'WÞ»w/ˆÅbJÆÄÄDQQQqq±ÑhLJJ:uêÕ¤<3×CÚÑTµBä¹zóæÍ… 8N„&üLþªœDsssJJ í!ŸÏ§×ëɱÅbár¹V«Õn·óù|øôéBèñãÇ`0¸jÕªÎÎÎ0EƒwK’ýû÷«Tª? …Â@ @NŸ?~hhˆËåö÷÷@aaacc#P2ž?¾råJr½Çã©©©ñûý´yÂè Ý-i;¢­¥Ñhp///ONN S…bvvËeË–}ùòåýû÷Á“Ïž=kmmår¹ƒaóæÍ™™™{öì 3gŽ\.GuuuI¥Rj~ýúõÉxúô©H$joow:b±X,ët:‡Ã±dÉ’7ªÕj§Ó©ÕjwíÚØÑÑ!“ÉÈ1Ç;qâDLL mžˆôÐvD[ !d6›BÔ¶;'•Jy<ÞÇ©(++s:<¨¬¬¬®®¶X,/_¾Œ‹‹›ËápæÍ›‡ÊÎÎîëë£æûúúpŸ¹›Íf³Ùär9Žã‰äCuuu¡ÒÒR‚ ‚زeKbbbp,†aÁ…Ax<ž©òÌÚŽhk!„Äb1AuuuÇŽ‰¨Ð?L{U†röìY¡Ph4`ll¬¡¡añâÅçöíÛ¹¹¹äµZM6¼[Î;—<úãÇ… jµZ0ñññ_¿~½^ßÞÞN® cvåÊ•ááa‡ÃQ[[+ •J%@p÷î]p¹\"‘èÕ«Wàv»ù|>ŽãTJÆÈÈÈ‚ L&ÇTXç˜ ëSù  î¯Í#¦IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1QuartzSurface.html0000644000175000017500000000005011561716354026226 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1QuartzSurface.html0000644000175000017500000003145411561716354026451 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::QuartzSurface Class Reference

Cairo::QuartzSurface Class Reference

A QuartzSurface provides a way to render within Apple Mac OS X. More...

Inheritance diagram for Cairo::QuartzSurface:

List of all members.

Public Member Functions

 QuartzSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~QuartzSurface ()
CGContextRef get_cg_context () const
 Returns the CGContextRef associated with this surface, or NULL if none.

Static Public Member Functions

static RefPtr< QuartzSurfacecreate (CGContextRef cg_context, int width, int height)
 Creates a cairo surface that targets the given CGContext.
static RefPtr< QuartzSurfacecreate (Format format, int width, int height)
 Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

Detailed Description

A QuartzSurface provides a way to render within Apple Mac OS X.

If you want to draw to the screen within a Mac OS X application, you should use this Surface type.

Note:
For this Surface to be available, cairo must have been compiled with (native) Quartz support (requires Cairo > 1.4.0)

Constructor & Destructor Documentation

Cairo::QuartzSurface::QuartzSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::QuartzSurface::~QuartzSurface ( ) [virtual]

Member Function Documentation

static RefPtr<QuartzSurface> Cairo::QuartzSurface::create ( CGContextRef  cg_context,
int  width,
int  height 
) [static]

Creates a cairo surface that targets the given CGContext.

Parameters:
cg_contextthe CGContext to create a surface for
Returns:
the newly created surface
static RefPtr<QuartzSurface> Cairo::QuartzSurface::create ( Format  format,
int  width,
int  height 
) [static]

Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

The created bitmap will be unititialized.

Parameters:
formatformat of pixels in the surface to create
widthwidth of the surface, in pixels
heightheight of the surface, in pixels
Returns:
the newly created surface
CGContextRef Cairo::QuartzSurface::get_cg_context ( ) const

Returns the CGContextRef associated with this surface, or NULL if none.

Also returns NULL if the surface is not a Quartz surface.

Returns:
CGContextRef or NULL if no CGContextRef available.

The documentation for this class was generated from the following file:
  • cairomm/quartz_surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SvgSurface__inherit__graph.png0000644000175000017500000000005011561716354030520 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SvgSurface__inherit__graph.png0000644000175000017500000001022411561716354030733 0ustar00murraycmurrayc00000000000000‰PNG  IHDR‹{Ëéä±bKGDÿÿÿ ½§“IIDATxœíyT×Ç ‰¬B0²‰Á€(B Ò‚(ˆuo]N=ÖbÕcQR=nÕúŽˆÕj%í¡.µj[± ËQħ jŠ ›!ì Š Yæý1}yi‘„‘Îç¯;7÷þî÷Î7w™IÎ AÀÁ0Ä‘€óp‡°îÖÁÂ:¸C˜Ñ‘‘ÖûnÃd2u=á$=š‰ˆˆ˜9sæ«õœ>}ZZú8äççÇd2õ¨øçúõëzÔÂ×!¬ƒ;„up‡°îÖÁÂ:oË!©TzíÚµ]»v}ûí·ZJòùü'N ¾Å¦¦¦sçÎEFFfffJ¥ÒWüóÏ?ccc_¼x1x oƒ·âPssó|pêÔ)“’’??¿­[·öW¸³³óâÅ‹ƒlñÚµkžžž………VVVÑÑÑ4M(°nxxøùóç‰D¬N'zÜSˆ×^†Éd.Y²D*•¢‡ÏŸ?722ª®®Öµ­ãíí}åÊåaPPÐÙ³gX×ÙÙùÑ£GoG×ß`2™zÜSú/NkkkRRÒúõëI¤¿.‡ ÆÅ‹››› 33séÒ¥ãÆ›5kV\\ðx¼eË–¡-Z”˜˜8a‡S]]½sçΉ'nÙ²…Ãá ¡Nž<¹nÝ:µ´T*år¹ÊæàÂ… ^^^P[[;wî\eþêÕ«ŸŸŸ˜˜H¥R…BaMM©©)‚ &&&sç΋‹‹Å{÷î­©©‰ŠŠ²°°èííEäÆ, ¦šÞ¿¿Á²eË.\¸ :XËÊʨTªòpúôéª ñx|xøeá‡Ã¹~ýºZ¦‡‚‚‚†CÎÀÀ×!¬ƒ;„up‡°îÖÁÂ::?³E&“±ÙìòòrKKË€€€‰'öW²««+--í³Ï>ÓWá_¼~ý:''§±±Ñ×××ÓÓSõ=í䣣ƒÍfOŸ>N§ëÑî`Ðg ½~ý:,,,!!ÁÈȨªªjË–-,«¿ÂB¡0--m 2337nÜÈår)ÊÕ«WW­Z%‹‡3HLLLjjjß'Aú|üñG*•…>ž·¶¶644”ÉdÚÙÙõ-lkkûÛo¿ Re|||xxøÂ… `Íš5è[އ'—ËÝ·oߤI“ô?HtCèx_´h‘òéÉt:}Ïž=íííðìÙ³}ûö-_¾ü«¯¾ÊÌÌ>Ÿ¿ÿ~´âîÝ»Ùlö§Ÿ~ZWW×ÜÜËd2Ïœ9£|]÷ü­––Éd¯^½R}Xsddä”)SàôéÓ·nÝB3E"QhhhKK *cãÆ+V¬`±XçÏŸò䉖 ---Êü#GŽ”••©ª ãñxÇò䉯>À‹/BCCW¬X¾äwíÚµtéÒíÛ·çääèzªQtv¨¬¬ f̘¡š9oÞ<ƒ È™3gfÍš·jÕ*‹%‘H$Iaa!H¥ÒÒÒÒ7n„……M˜0aÇŽd2ù‡~°²² —Édààààââ‚ÆT¦I$Ò'Ÿ|rìØ±¤¥¥577ÛÛÛO›6 œœœ”Shvv¶B¡°µµ•Éd‡Z°`ÁÙ³g%IBB‚@ Ф···ººZÙ—††‘H¤ª6::ÚÊÊjÛ¶mÞÞÞûˆ ÈÁƒ/^¼hnn~îÜ94ÔÑ£G§M›véҥŋGEE©¶2ptvH$YZZš››÷ýH.—}útÆ ÊC:RZZ*•J`Þ¼yl6›ÍfûúúŽ;h4ZCCZX.—£+“ö Jär9ÇSS«ŠÆ>:88477+˰Ùl±XL§ÓÿP!,,¬¿>jAg‡ÐïHRR:«J$’ää䎎Ž ˆÅb‡3f‰Ä¬¬,‘HÔßCT½¼¼ZZZJKK ººúÅ‹þþþPQQñôéS´Œ2íêêÚÞÞ~ãÆ 4_¡PŸ¿mÛ6 [·n½råÊ¥K—ººº,X€nLtåoÏ NHHX½zõƒRS,WWW󯯬M¯UUU&L066îèèhhhpwwïêêÒ¸³@¤ªªÊÉɉH|óP–Éd\.W$Y[[Óh4-%ŸÏ·±±©««£Óé+V¬ˆ‰‰A—-Aš››…BáŨõÑÃà Eee¥³³³Z.—K£ÑŒŒŒÞöáÇGŽQ›xô¼ëFFFnnn}ó'OžŒ&( º–j´‚³³ó›#‘H®®®,¼cÇŽ;wÚÛÛŸ={–J¥N:õA4^n÷Gß>‘HT6¤ zÕ¥7ú;„YÌÍÍ9’‘‘QSSC£Ñ¾ÿþû¹[3TŒB‡ÀÓÓSûròÿú€up‡°îÖÁÂ:¸CXwëàa ×C‘‘‘ïø|~ßÌ¿9D£Ñ˜LæpéÁÑ@ßÉFÕ[ÖF%ø:„up‡°îÖÁÂ:¸CX翌ðŒH±×IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x69.html0000644000175000017500000000005011561716354024574 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x69.html0000644000175000017500000001101711561716354025010 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- i -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x65.html0000644000175000017500000000005011561716354024570 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x65.html0000644000175000017500000000742411561716354025013 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- e -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_13.png0000644000175000017500000000005011561716354023731 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_13.png0000644000175000017500000000664511561716354024160 0ustar00murraycmurrayc00000000000000‰PNG  IHDR¸(¹xbKGDÿÿÿ ½§“ ZIDATxœíœ{PSWÇOx”šÁF’@i ÏIE0Ep¤¶íˆŒƒ m§];c‡§°º«3²[·SŠÓíTcqº­ åU*"‚ È«¼36($š€ÇÙ?®{M“›4xyœÏðǹ‡óøòûæþrϽÜC@èÆ„l±ÔA‰@ €%@ÀLý ¿¿¿¢¢‚,)Ë#GŽ-áýýýd«XölÚ´)88˜lϸtéÙV ÁÁÁ›6mzv ÕÈÎÎ&Oز.%ÂÂÂÈŽÇJ ,,Œl'ÿÙñXEdgg«GÞL»òc¡äääðù|²Uh–““C¶ŠeÌÁƒÉ–@@vvöÒ¶’ P(5è%@%J0J”a”(Â(Q"„P¢D ,z¢,,,lhhXìYÄÇÏž=K¶Šå‡~+?~üå—_.h@dÄ"!—˳²²Ž;–œœÜ××§§å‹[°J|7Z¢üä“O´ëssskkk5Ë‹€+”H$—/_&ECGÇý‚‚fR¦ž?Ïg¥D"IJJZÐD$aD=zòÓO·GG%d yÊðððÖ­[SSS­¬¬ÚÛÛýüü¢¢¢t5~q V‰ïFK”¥¥¥ÉRù¬‚+ܸqcooïËœzpp<-­ÌßÿÌîÝ)?ÿ|çeNý¼4+_¾FdvVqýzÛG]öô<ÿÓÔÔ ÙŠžC§Óëëë?ÿüóÌÌL¡P˜žžNøÍH²`9úþ<‰òâÅ‹\.—Á`|üñÇSSS>Ÿ?66Æçó…B! ½½=""‚F£>|xzzëuîܹÈÈHí²H$ ¶±± ,..†††*•J@nnnDDö²Pmm­F‹ŒŒìééÑÕ](FGGŸ:uŠÁ`ìÝ»·¦¦FCáèèè¾}û°îýýýñññGíêêLLLyyy±X¬Ó§O?W``tTréÒ­]»Îñxÿúê«›÷îM<÷P‹„q­ÄÑŽ* ²²ÒËË‹F£EEE8q¢¤¤DÝBs Ñv|llìí·ßÎËËc0ÕÕÕx¹««K[‰zc\ÛüQ(TÕÕ=QQnn?rä?åå …j¡ƒ,cccùùù|ð™ÙÓ—î<<<._¾<<< ¨¬¬Ü»wïk¯½¶mÛ¶«W¯p 4ÂBèàjö}Á‰²¿¿ÿÔ©S.\hnnøþûï€F£ ???©TêçççêêÚÐÐ@¥R °Žl6Û××W»îëëÛÑÑñá‡FDD´··ïÛ·orr2--mtt4&&&!!B¡¨TªÐÐдµµÙÚÚ?~\Ww‰D"ºººª««ß}÷Ý={öˆD"u…333UUUX÷;wZXXÔÔÔ888ðx<¹\.—Ë…Bá?üpýúõÂÂÂäää…†ulìqzúƒƒÏmÞœtæLQw÷€R¹„N' £[‰CÕ÷ß?""¢¡¡aff&55urr7B—¹„h;>77WSSóí·ß¦¦¦:::âegggm%êç+…BU^Þ•áêú·Ã‡×®µ¯››V–ÉdgÏž•Ëå„ݱo›¡¡!¬òàÁƒ˜\áÀÀ€µµ5„°µµ•Édâb8Nyy9öÝ[[[‹Unß¾=77WL°¸MLH¿ûîVHHƒçàÏ`ÄÑé±Ú?—ôf nè`\+Åb±……ÔÕòòò7ß|«‘H$¦¦¦W®\Á 4—pBÇÅb1 ¬¬ “— •¨7ÐÃÛ·ï&&f»¸œ ÓcY¬c„žÒé±==Ã|q€Öf dffÚÛÛþjnn®©© +÷õõ™››‹D"܃qÓ5ãÊóÅ™`S ýðx¼ØØØssóC‡ÅÅÅi4¨ªª ÂÊfff<OÏh¥¥¥ãããøvF333t:àä䙞ž^VV†ýêæÍ›Û¶mÃÊVVV‰‰‰ººs8'''&“‰Uîܹ³¸¸866V{öŠŠ uyåååžžž.—‹UšššêˆJ{{§llöøøücvVA¡¡R©óBãÞ½q>ÿ‚þ1_œáak:]¦¿q­Ä!Œ*6VC¥RÝÝÝÕ»šKˆ®Œ‰‰I`` V‰— •¸ººª7ÖÅȈdhhÍè¨õþýÿ633ÁÖ×r¹RWûcDz­­_Ñ?æ‹ceÅÑß`ýúõ###ÝÝÝnnnxå­[·&''CCC[[[Ož<)‰ììì´ûê›ÁíæV†ïºXðÒ[¡Pœ8qB,çääˆD"íû§³³?Ô×ÖÝÝÝÃÃcP””ÀÐÐÐÕ«W]\\°C›ÍV¿!——'“Étu¿ÿ¾Lö4Mtww³ÙlÂÙ===ÕåõööâFš˜Ì72r¹R._À²ÚÔÔÔÆÆj±LL / k%aT]\\ðJ…B188¨Þ…Ð\ÂÁu9N¡P^yåižÂ˺üUo¬ ™lBÍ-dô@¥¾úl@¡_dz²²*))Ák „Ÿ~úéøøxQQQtttBBB___}}½¥¥¥F_ƒqÓÏÊð]'ê——óYzgeeq8•J!ÌÉÉÙºu+VÏd2ïܹƒ][ZZbelŒ­×šššJKK±ÆxY©T2™Llm+‘H6lØpûöm•Jµk×®”””»wï®[·î÷߇NMM­]»¶££BxãÆ www]ݱISSSU*•H$b±XUUUê ñ+ÿÙÙY*•* !„mmmkÖ¬™˜˜À–Þøß8Ï¥÷쬼¬¬ãèÑ+NN‰ F“¹Ô—ÞÆµ_‚FuddÄÚÚ³/33‘‘Ah.!„Ž‹ÅbSSS¬z™P‰zƒùÄP,žüæ› .÷Ÿtz¬£cü_zCOŸ>Íb±ÚÚÚ „ÓÓÓçÏŸ_·nL&ËÊÊòööÆÚäççcD}é­?npÕøNç'ÊÙÙY__ßõë×ûùù9::Þ¼y«ß¾};—Ëmll„&''ÛÛÛ³Ùlƒ±ÿ~ì슉‰ár¹Xcõr^^ž———»»»½½}BB„ðüùóþþþØýˆ´´4oooìÎÅ… œœœ6oÞÌd2óóóuu/..vrrâp8ÎÎÎ666±±±Xw\!î„ðÇd³Ùžžž6løúë¯!„Ï(ñÙ™¹¢¢–ðpƒC<“©™1—N¢4®•ø ‰¢ !>Ž×«Tª––í1箸ŒL Õo½•òÿçqK*QbÝJ ¨ŽwvvJ¥ÒÆÆÆééiKKËÆÆF #t™KÈŸÏ'[ŪãO¯0ŠÅâúúzÕ,k–ÔIUWW744D¶Šeƒƒƒ¿¿?Ù*ž‘››K¶„Õ¶S ~HYîov#ÄbƒîQ"„P¢D  D‰@ ø# +Ù·Ú"gIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1GlitzSurface-members.html0000644000175000017500000000005011561716354027461 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1GlitzSurface-members.html0000644000175000017500000002507311561716354027704 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::GlitzSurface Member List

This is the complete list of members for Cairo::GlitzSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(glitz_surface_t* surface)Cairo::GlitzSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
GlitzSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::GlitzSurface [explicit]
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~GlitzSurface()Cairo::GlitzSurface [virtual]
~Surface()Cairo::Surface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Device-members.html0000644000175000017500000000005011561716354026256 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Device-members.html0000644000175000017500000001131511561716354026473 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Device Member List

This is the complete list of members for Cairo::Device, including all inherited members.
acquire()Cairo::Device
cobj()Cairo::Device [inline]
cobj() const Cairo::Device [inline]
cobject typedefCairo::Device
Device(cairo_device_t* cobject, bool has_reference=false)Cairo::Device [explicit]
finish()Cairo::Device
flush()Cairo::Device
get_type() const Cairo::Device
m_cobjectCairo::Device [protected]
reference() const Cairo::Device
release()Cairo::Device
unreference() const Cairo::Device
~Device()Cairo::Device [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/tab_s.png0000644000175000017500000000005011561716353021672 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/tab_s.png0000644000175000017500000000027511561716353022112 0ustar00murraycmurrayc00000000000000‰PNG  IHDR$ÇÇ[„IDATxíÝë ‚P@áKg"%(IE|¡%¦I¡7iÚlmÐ" ÓäÛC¼ÞòÛ“\.dåOZ̤ÅBr‰/¿‰(ŸˆÎ#a6⟂ôŽ› 8q÷ØÇëÐaF-û°Et¿Aó4¯fçÖlŠ]±¶äJjJC¢%Š!¿<Å#üÀÄ«IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1LinearGradient.html0000644000175000017500000000005011561716354026317 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1LinearGradient.html0000644000175000017500000002676111561716354026547 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::LinearGradient Class Reference
Inheritance diagram for Cairo::LinearGradient:

List of all members.

Public Member Functions

 LinearGradient (cairo_pattern_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
void get_linear_points (double& x0, double& y0, double& x1, double& y1) const
virtual ~LinearGradient ()

Static Public Member Functions

static RefPtr< LinearGradientcreate (double x0, double y0, double x1, double y1)

Protected Member Functions

 LinearGradient (double x0, double y0, double x1, double y1)

Constructor & Destructor Documentation

Cairo::LinearGradient::LinearGradient ( double  x0,
double  y0,
double  x1,
double  y1 
) [protected]
Cairo::LinearGradient::LinearGradient ( cairo_pattern_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::LinearGradient::~LinearGradient ( ) [virtual]

Member Function Documentation

static RefPtr<LinearGradient> Cairo::LinearGradient::create ( double  x0,
double  y0,
double  x1,
double  y1 
) [static]
void Cairo::LinearGradient::get_linear_points ( double &  x0,
double &  y0,
double &  x1,
double &  y1 
) const
Parameters:
x0return value for the x coordinate of the first point
y0return value for the y coordinate of the first point
x1return value for the x coordinate of the second point
y1return value for the y coordinate of the second point

Gets the gradient endpoints for a linear gradient.

Since:
1.4

The documentation for this class was generated from the following file:
  • cairomm/pattern.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/closed.png0000644000175000017500000000005011561716353022053 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/closed.png0000644000175000017500000000017611561716353022273 0ustar00murraycmurrayc00000000000000‰PNG  IHDR à‘EIDATxíÝA @! PŠ­iš/`Є.È?,!ƒu zlÞ–Jh1ߘ+výRLé§x@‘Ù (*79HÑ þl)¡ó²‰IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/tab_a.png0000644000175000017500000000005011561716353021650 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/tab_a.png0000644000175000017500000000021411561716353022061 0ustar00murraycmurrayc00000000000000‰PNG  IHDR$ÇÇ[SIDATxí» €@wçÉ¡œˆ˜*æ‚M˜ØIïÎF†ýL :®‡±nÌëN™ ¶±Á’„ØN&â¼_ ɭɾ}Õ¶8~î¾îOwv-ÿêA4Y)Ñ}IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x76.html0000644000175000017500000000005011561716354023557 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x76.html0000644000175000017500000000737611561716354024010 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- v -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_7.png0000644000175000017500000000005011561716353023653 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_7.png0000644000175000017500000003133411561716353024073 0ustar00murraycmurrayc00000000000000‰PNG  IHDRõ­&€qhbKGDÿÿÿ ½§“ IDATxœíÝ{TSWÚ0ð„ ‹À tÊÅTÉ Œ¡Èˆý”5È»G»Zf´Ž—ŠØ—UýŠõÖi½­¢íT)ØÚŠEb)àrÀ HQ ¹¤‚BF`Ä@äšË9ß§_š†.ÑøüVW×ÎÉ>{?''y<ìsÙ$Ç“C6vfäw0MßÀ4™;À³èܹsÆL‡ÃñððÐ^B‚ó«€ÑH$’±C““½aÃí%püÐot¾Ï,½ÿÃø;˜&Èï`š ¿€i‚ü¦ ò;˜&Èï`š ¿¦N©T^ºtiÏž=}ôQss³šR©ôã?~Êî>þøã¶¶¶ioV/ þÿþûýû÷¿÷Þ{ååå†M­¼¼¼ªªª™‹ÓÈï€)êêê µ¿¦F,_¹reóæÍDrG±X¬ŒŒŒ®®.„Ð7bbblmmCBB²²²B"‘híڵĊQQQ\.×ÙÙ¹±±±¥¥%))ÉÕÕuÛ¶mDSÇŽÛ´iÓèòhšf{zz8N~~¾¯¯/“ÉLMM%*‡cccVPP@,žvTEEE¹¹¹[·n%’;áüùól6ÇqøG7…âóù7n´··OHHÖŽSoHzƒ‹ÅñññeeeSÜI8Œ‚ÊÎÎ6P¡  €L&K$’ÑoaæååuöìY©TÊåríì솆†Z[[---qïèè ÓéYYYr¹œÉd¦¤¤´¶¶9rÄÚÚZ¡Pà8ž———––F´¦]¶´´,))ÑîKÓlWWF‹mkk«©©177ohhÀqœÍf§¤¤tttdffZYYÕ××ë O;ª/¿ü’F£=yòDï†k×”Éd£›°°°8tèÐÇ·nÝŠ:uê”&N½!é ^*•2Œ’’â3™Âþ‚üÐcÜü~ñâE'''½o)Šêêj¢ÜÜÜL¥Rv~G]¿~Çñºº:ÍŠþþþ<Ï@§†ó;B¨¼¼œXš““ÓÞÞÎd2Õj5±066öðáÃzÃÓŽ*##ÃÏÏOÓŪU«4ÄÚ5õ6Åår‰#}Ç•Jåܹsµó»Þô㸋‹Kmm­DCïþ‚ñwÀT8::vwwß¿ßÇÇG³°´´´··wýúõuuuûöí£×%“Éaaa¡âââåË—k–¯X±‚Çãq8œ)GD( B¨°°P"‘hžš+“É •JÕž&*öövµZM4’——§T*U*•———NM½M•””„‡‡e333í +$½Á?=ÈX¾|9N¿víš&¿ã8¾eË–={öäççïܹ3///""‚B¡X[[ë¬K"‘h4BhñâÅ.\Ð,ojjJHHxš¨ÈäßS\´h‹Åªªª"^Êd2‰4Vxš¨^}õU ÃòòòbccBÄ(|nnnoo¯NM½MùûûçææjoÔêÕ« ‡ôäÉ“ÑÁ?=8¿ ˜ ‹½{÷¦¥¥ñù|„L&KKK‹ÅÄEooo‡C¡P¾ûî»þþþ±.ˆˆ …·oßFñùüŠŠ â$äÝ»w‹ŠŠˆ:Úe„Ðààà“ÿ¯¿¿ßpË–-ëììär¹¡þþ~>Ÿ?nx666û÷ïß±c†aÅÅÅ$rº6½MEGGߺu«¦¦!tõêU¡P8nH6aÊ×Ý#çWú ñÆßqW({÷î533óôô´±± ÏÍÍÅqœ8ë¸téÒððð¤¤$‹¤=þN¡P4\¸pÁËËkñâÅnnnšó¨»ví ]Ö¾ !dgg§3þ®i6,,ŒÂær¹¾¾¾‹-rrrJNN+<¨0 ûè£h4š‹‹‹«««ƒƒCAAAll,1þ®©©·)Ç?úè#'''///ggçuëÖéœ_ÒXÁ‡††ýôÓOSÛ_ßzL$¿+**:;;u–×ÕÕ à8.‰ÊÊÊÔjµÞ‹mpÇ0¬¶¶V¥RM!NÍj«©©4žÞµ†‡‡+++þùgâtèÈȈæ¼è¸MÉåòŠŠŠ¡¡¡±âÒh}}}7oÞ”J¥ãn Þýóóô ‘H0ÓsDïþ‚ñw0MßÀ4A~ÓùLÜß@¡ÇÚÚ$Bañ ocGžäw^,*öË/R­T. {ÚÛ{††FBT*ÅÕÕváB;c‡ ¦äw€JKK>lì(LÄþýû‰'“ ‘ ÚÛ¿4 Á´µõ´·÷´µõhúú†B$‰É´e2íÜÜì–.u# nnvÖÖtb]ië,Dfäw€D"Qqqq\\œ±yîåääüýï7PA$ê?}ºøÊ•»‡I$Òtõ«VcIµSySSw[›ddD…23#»¸Ìc2íþøG÷—¹¹Ù1™vNNÖææðó7q°ƒÁ¯._¾lìž{R¶D2xú4ïË/ï`®Vcbñ€££ÕºVü÷¿"óÎÎ'J¥!diiþòËóÝÜì"#YÄñ8“içìlC¥NÏóÁóò;3K$ê;~¼èÛo$“IDFµµIÆÍïýý²ºš›E£GWBDîvs³[¹ÒsôèÊ´ˆŸÆÁ,ƒüÀL‰úOœ(¼téG …¬Vcê_s;"“IBaO`à¯OÇ0¼££w¬r …ìê:É´óós]»ÖŸÉ´óôtZ¸Ð~¦GWàï¹çNpp°ÎÈïL¿ÇÒÒŠ¿ù¦\­ÆÕjL­þÝ#^ÍÌ(·o7=|(nk“´µõ…¿¥rgg77{__×µkýÝÜì.´ws³›;wÎìoœ1ߘNÃê#G®~ñE)†ášÑj5vï^'Ÿÿ‹››]` Ç† $Rù‚¶0P¦äw¦Çð°â¥—ØÖ(†z,«ZÑhäÂÂäY‹ ¼˜ ¿ƒIP*•\.·ººzþüùëׯ÷ôô«¦T*MOO÷ÝwŸ²G Ãòóó«««1 ‹‰‰ žÚfyyy ã•W^™–¨FS(TŸ}vsÎo"¹S(d‰¤Ré?~G …½Ó:àù3`¢ºººOœ8A§Óù|~ppðŽ;ƪÜ××—‘‘ñ”=ŠÅâäää¡¡!¹\þæ›o2™L©T:…¦rrrÊË˧Ubbbkk«á:4šYròj‰ä›ãǃJJþ÷äÉÿÙ¼9déR7Í !D&“ÌÌ~7ðÒß/ëï—O6&ŽßÁDíÚµ‹Á`äçç›™™!„ØlvRR’»»ûèÊ .ljjzÊß~ûm …R__OÌÊvòäɨ¨¨÷ßÿôéÓSkpjQnß¾}‚•Éd’——“——S\ÜB2™¢¡á—úú>ÿQuµ°­M‚a8™LÂ0¼££‡År™l0L¿ƒ ‹ÅW®\Ù¼y3‘ÜB,+##ƒ˜7òÆ111¶¶¶!!!YYY!‘HDL”,‹£¢¢¸\®³³scccKKKRR’««ë¶mÛ‰¦Ž;¶iÓ&rGGGnnîÖ­[µ§Ü<þ<›ÍÆq\§ÙÑ „ø|þÆíí퉟µ£B ‡cccVPP€êééáp8ùùù¾¾¾L&355!/‹ãããËÊʦð¹YXÐØl÷·ÞZùÉ'½s罦¦ssw¤¦þŸØØ8~3nÜiý€ÉËÎÎ÷›PPP@&“õNt‰a˜——×Ù³g¥R)—˵³³ÒžL™N§GDDdeeÉår&“™’’ÒÚÚzäÈkkk…Bãx^^žfbeMùÒ¥K4íÉ“'zãÑn–˜ãX'€ ‹C‡=|øpëÖ­!9ŽÙlvJJJGGGff¦••U}}}WWF‹mkk«©©177ohhJ¥ £¤¤„Õ04á9K˜ßÁ„òûÅ‹œœô¾¥P(ª««‰rss3•JÚù!týúuÇëêê\\\4+úûûóx¼±zÌÈÈðóóÓ¼\µj•æ „˜Ã^Ó¬Þ¸\.q¤ã¸R©œ;w®v~ooog2™š¹’ccc>Lü-R^^N, %æ°wqq©­­5üù ¿ƒg Œ¿ƒ qttìîî¾ÿ¾faiiiooïúõëëêêöíÛ'F¯K&“‰G*/_¾\³|ÅŠ<ÃáèíÑÃã½½]­VS(„P^^žR©T©T^^^:ÍR©ÔÑ”””„‡‡e333í~B………‰ÄÃã×;He2ƒÁ ÊAAADè€çŒ¿ƒ Y¾|9N¿víšf Žã[¶l‘H$ùùù;wîLNNnnn®¬¬´°°ÐY—D"Ñh4„ÐâÅ‹µOo655-Z´h¬_}õU Ãòòòˆ—–––666eee½½½:Íê Àßß¿¡¡A»/íÆ-ZÄb±„ZŽ?N¼5µë/xÁWLˆ……ÅÞ½{ÓÒÒø|>BH&“¥¥¥‰ÅbâÔ¥··7‡Ã¡P(ß}÷]?†az‰ˆˆ …·oßFñùüŠŠ âlçÝ»w‹ŠŠˆ:š²ÍþýûwìØAÔÇ0¬¸¸øàÁƒDNצ7€èèè[·nÕÔÔ „®^½* µWY¶lYgg'—ËEõ÷÷ûøøÛ5–±¶€gŒÏ€‰Ú·oßððp@@€‡‡‡X,~õÕW333étúºuë8`eeµtéR‹µiÓ¦o¿ývt 4íÌ™3‰‰‰T*u``àèÑ£¶¶¶¡¯¿þº²²2**J§œœœŒãøªU«H$ÒÈÈHffæùóçušÕ@eeåÖ¬Ycmm=00°nÝ:íUÈdò'Ÿ|òÁ¤¦¦ööönܸ100°»»[»»oÛ¶íÌ™3l6{Z>If‰±Oã›ÈùUÁÁÁŠŠŠÎÎNåuuu8Ž‹D¢²²2µZ­÷bÇ1 «­­U©Tìqxx¸²²òçŸ&N‡ŽŒŒh΋€X(—Ë+**†††ˆ—££ª©©4@__ßÍ›7¥R鸡"8¿ ž%$7ô  ð"¸|ùr||<|ž‰DÊÎÎÞ°aƒájÝÝ}õõøÃü—_ž?;ŒÏ0ãD¢~>¿ƒÏ飼먩J¥Ã¡ï¿ßùÌ(ÈïL?‰dÏ隷鶴m«©iëíB%ÐÔqs³7^€à…ù€i P¨ªªZ^z)ð‹/9òþãÇ! …‚a˜fàK;¹ÓhfóçÏ5N¬à…ù€i@£™Œ¨çÌùý{RÍ$Ûjõ˜Ïvug`2n¦\ÿÀôXµÊG"ÉÚ¹“Åf/DQ(cþ¸H$daAKK+Îϯ­¯ïxòdxö¢/8~`:yxX¥¤$–•5:TÐÐð ™LÒ™|!D¥š‘Hè›oÊ»ºúˆw­­é Ú¹¹Ù/\h·p¡=Qpr²†c|ð4 ¿0ýV¬ð¼~}OYYóäß¿ÿ ™LÖÎòj5–°lóæ„P_ßp[[O[[O{{OSS÷­[MBáþ~QÓÚšîééèååäæfÇdÚ¹¹Ù¹»;eºmð<‚üÀLY±Â“ÇÛS\ÜxôèU@D"!µG©ÕØÂ…¿^~¼P$êÇ0 Ãp77;kéMú …ª««O“ñÛÛ{ÊÊš32ºår%BˆF3c0¬5ßÓÓÉÓÓÉÅež™Ùϱ'%%Mm]0û***N:¥³ò;øÕ¹sç´_ªTøà ÊƆj¬xL‰™9>>066àòåªãÇ %’A—y“m„F3#r÷Š¿[.õ57‹4IŸÏ”—W;0 GQ©ggíÃ|77»—_žoii>nw ,ˆ‹‹›lÀXôÞùüjË–-!2y޹¹ûœ9/››»)•¢ž®±ã2T*%!aÙ† yyµTê´=\ÞÑÑÚÑÑZ'éëáioï%²€ÞÃR€çäw€6lØàí½ŒÇk((¨onîž;wNTÔâÈHÖÊ•žÖÖ0;ͨTÊ_þ2ãÏ¡Ô;Â#‘ ¶µI„BI[[P( {*+·b!„­ˆëvÜÜì{z,ììd3$˜iß_\*VQñßë×x¼†ööGGë˜ÿC‡Öz˜›ÃÃÙÛ¿doÿR@ÀBí…CC#íí=BaP(ik“…=?þØ"•¾ùÝÀÏø…344róæ}¯áÆûRé§§S\;2’µx±+™ W[¿p,-Í}|œ}|œµŽûLð\€üþ¢xüx ¨è×PVÖ¬P¨îÞýZd$ F]0UßMÜÇ⟯_o¨©i£PÈaa^}·jÕ"[[Kc‡LR©är¹ÕÕÕóçÏ_¿~½§§çX5¥Rizzú»ï¾û4Ýeffvvvå9sæ¬ZµjÉ’%\7//Á`¼òÊ+ÂøôÓOSRRˆ—†åççWWWc<µéy'ÒõL€çϘ Ç«ªZ޹þÑŠž={ËËË)3óÍû÷|õUb\Ü!¹ƒiÑÕÕxâÄ :Îç󃃃wìØ1Vå¾¾¾ŒŒŒ§ìñ³Ï>+**zôèÑ£GjjjÖ¬Y8ÁusrrÊËË ‡Ñ××wàÀ¢,‹CBB’““‡††ärù›o¾Éd2¥RéžH×cILLlmmB§ŽßM‰R©¾uë×PRòà—_¤îîþ³ßÇÇ,4ð¬+¦l×®] #??ßÌÌ !ÔÐÐÀf³“’’ÜÝÝGW^¸paSSÓÓw¿}ûv¢ÜÙÙÉd2øá‡•+WNpõ‰‡ñöÛoS(”úúzKKK„ÐÉ“'£¢¢ÞÿýÓ§OO-ò©}………ší,øÙ?÷úûå99?mÙò•Ÿßûo¼‘ÑÔÔýÆ!%%ÿ{çÎ{ûöÅz@r3A,_¹reóæÍDrG±X¬ŒŒŒ®®.„Ð7bbblmmCBB²²²B"‘híڵĊQQQ\.×ÙÙ¹±±±¥¥%))ÉÕÕuÛ¶mDSÇŽÛ´iÓè²'''{{û_~ùEo!>Ÿ¿qãF{{û„„„ááaí0ÆZ…ÐÑÑ‘››»uëV"¹Ο?Ïf³q×Ù„)t-8ŽMXXXAAB¨§§‡Ãáäççûúú2™ÌÔÔT„P||¼X,Ž/++›ÊN2ÞÔ¯à©tu=IO/}ýõO,Hb2÷lÚ”þõ×å½ÆŽ ˜‚¸¸¸¸¸8Ãu Èd²ÞYÔ1 óòò:{ö¬T*år¹vvvCCC­­­–––8ŽwttÐéôˆˆˆ¬¬,¹\Îd2SRRZ[[9bmm­P(pÏËËKKK#ZÓ.¤¦¦ @P]]’’âããÓÓÓ£·Ç ‹C‡=|øpëÖ­¡S§NiÂлJGG‡¹¹9Žã—.]¢ÑhOž<Ñ»íÚ› “É&Û5Žãl6;%%¥££#33ÓÊʪ¾¾¾««‹F£ÅÆÆ¶µµÕÔÔ˜››744H¥RƒQRRB|,dggÎçߟ3õõíÇÿ',ì_ Æ;žž);v|“Ÿ_ûäɱã&e"ùýâÅ‹NNNzßR(ÕÕÕD¹¹¹™J¥ íüŽº~ý:Žãuuu...šýýýy<žN,--íììììì^zé%„З_~9V\.—8ÜÆq\©TÎ;W;Éê]E“ß322üüü4ý®ZµJsL\QQ¡½ S躽½ÉdªÕj¢Bllìálj¿{ÊËˉ…¡¡¡9998Ž»¸¸ÔÖÖÞøùÆßŸp#x9::vwwß¿ßÇÇG³°´´´··wýúõuuuûöí£×%“Éaaa¡âââåË—k–¯X±‚Çãq8ýþë_ÿ"Æ£1 »xñâ›o¾Éáp\\\F÷XRRN”ÍÌÌ´;BQ©TAzxx´··«Õj …‚ÊËËS*•*•ÊËËKgô¶c¸ëÂÂB‰DâááA¼”Éd ƒ(¢ß§ÙáÙ7"gÙòåËétúµk×4ùÇñ-[¶ìÙ³'??çÎyyy ÅÚÚZg]‰D£ÑB‹/¾pá‚fySSSBB “Éýë_ÿùÏþ÷¿ÿ½{÷îèýýýsssµ_½zµæ¥á _}õU ÃòòòbccBÄ(|nnnoo¯Î&èmÇp׋-b±XUUUÄK™LF"‘žBH&“¥¥¥‰Åbât¢··7‡Ã¡P(ß}÷]?†éNbEˆˆˆ …·oßFñùüŠŠ â äÝ»w‹ŠŠˆ:Úe eÞ¼yÃÃÃz{ŒŽŽ¾uëVMM BèêÕ«B¡P{]ÃAÚØØì߿ǎDl†#0 W(TsæLâáº--ÿó>܈ž#ûöíððð‹Å¯¾újff&N_·nݬ¬¬–.]Êb±6mÚôí·ßŽnF£9s&11‘J¥ =zÔÖÖ!ôõ×_WVVFEEé”GóòòÊÊÊJOOÝceeåÖ¬Ycmm=00°nÝ:íõIä\Brr21òîàà@"‘FFF233ÏŸ?¯€Þv wM&“?ùä“>ø 55µ··wãÆÝÝÝz7ÐÝÝ}Û¶mgΜa³'ÿXºq‡íÁdõöþíoé—.UŽ[ð|xøpq¾Ô×wÿÞ½Ùׯß™…8ËDίj VTTtvvê,¯««Àq\$•••©Õj½Ûà8ŽaXmm­J¥zš˜G÷H,”ËåCC¿^ƒ †ÞU´ WVVþüóÏÄéБ‘ÍyѧìÇñšššÁÁAÃÕ××wóæM©Tj¸šÞó«$\ßSáÁ”UUµ$&ž—HW­Zôõ××[GïH‘‘‹àF$ðŒ ž/vùòec&êòåËñññ8ÌÏ7C”JõÁƒù™™eÄ,˜¥¥Mƒƒ#/½ôÛD9ýýò¢¢Ÿ‹‹ø¡¹¿_Æf/|ã‡åååd´ ¦ òûôhoïÙ²å«{÷~Áñ_ÿÅ0ìÖ­11þÝÝ}W¯Öóx ?þØ‚ãxx¸÷¾}1ááÞ®®“ž¡ &òû4àñ¶oÿF.WªÕ¿æ&“ÉŸ}VòÕW·ü±…L&‡†¾røpld$ËÑÑʈ¡^ߟŠR©þàƒüóçËH$„a¿ùR©Ô÷î=ЉñÿôÓ¿EDøhÔÀ,€ü>uB¡ä­·Î Ýš1*•ú¯ ó‰Ø0sàj)úþûšU«>ºUª1o= R)……÷f3*ÐøÝñ{KKKqq±±By^¨ÕxQ‘¨ªê Bã\ZªTª¯]ã>;;pîÜ9c‡~õüÃØ!€Åïò{uuõ–-[ŒÊsB±´¶Ž¢Ñ\H¤qžþC&“H$ÔÝÝ×Ðð ‹å2;ávë³ò;˜5zÆßᎧ ’Ë•––sÏžý"22Z.WŽŒ(åråȈJ.ÿ­02¢|F>Îììlâ¦`,Ä(ÆŽ¼@àüêÔÍ™CŰ++š››±c`šýðÑ‘‘ÆŽL”H$½ò;@Wpp°±C“3oÞܺu+BHsüþl~[àø̲Iç÷‹/:99é}K¡PTWWåææf*•*´Bèúõë8Ž×ÕÕ¹¸¸hVô÷÷çñx:õ÷÷'“É …B¡8::&%%uuuéíã/îööv&“©™ø<66öðáÃÚ!ªåååD…ÐÐМœÃŽã¡ÌÌ‹éé¥kÖœrvÞíêšäì¼['³?ùÝ(»ÇñŸ~úi÷îݾ¾¾$)**ŠØƒzÛß¹\.›Í&ê(•ʹsçjòû³ùmüfÙ¤¯Ÿqttìîî¾ÿ¾faiiiooïúõëëêêöíÛ'F¯K&“ÃÂÂBÅÅÅË—/×,_±bÇãp8ú={ölbb¢ÎBÃÝi+,,”H$ÄK™LÆ`0´C" eœÇCªÕXYY³MtjjµZý‰DÂq\­s¦¾¾#>þ߆ۜ9ææ W˜ýÝŠã8†al6›Íf#„¶oßþÖ[o•––êmgô½×%%%áááDÙÌÌL{•gíÛ€QL:¿/_¾œN§_»vM“pß²eËž={òóówîÜ™——A¡P¬­­uÖ%‘H4 !´xñâ .h–755%$$L6’q»Ó¶hÑ"‹UUUE¼”Éd$I"‘hB"É=!¡Rar¹!B$iüÁu33² }‚O;sÂìïÖ¢¢¢wÞyçÁƒÄK‹uôèÑ‘‘‘ ¶ãï›«]mõêÕcugÜo F1éünaa±wïÞ´´´ÈÈH???™LvîÜ9±XœŸŸïííM¯}÷Ýwýýý¦?­DDD…ÂÛ·o‡††òùüŠŠŠo¿ý!t÷î]‰D¥SÖkxxx¬î´û%ÊË–-ëììär¹ùË_úûûýüü._¾ììì<ÙÍ×077[½Ú÷É“kŸ~ú7ß￯ýÏø##ªÑ±X,—³g7O¹»§tî܆+Ìþn êîîþì³Ï¶mÛ†R«ÕÙÙÙK–,177×ÛÎèÓ§ÑÑÑ»víª©©YºtéÕ«W…B¡ 4î·£˜ÊȾ}ûâãã¼¼¼œ¿ÿþûÌÌL:¾nݺ¡¡¡€€€ˆˆˆ;wî°X¬±.€¡ÑhgΜILLôõõ}ýõ×=jkk‹úúë¯5—"h—õ«;ww÷mÛ¶UWWk—Édò'Ÿ|rðàA‹ååå8…mÍÌŒÉúôÓG>ÿ|SX˜…B&“Id2iZÚŸ5³¼[çÍ›wéÒ¥>øÀÑÑ1 ÀÑÑñÖ­[—.]2ÐŽWW׬Y³ÆÛÛ{Ë–-ëÖ­3°uÏÈ·€Y¥=?©ó?ƒƒƒ:Ëëêêp‰DeeejµZïUÄðkmm­J¥šÜ)ƒÝá8Þ××wóæM©TªS&ÔÔÔ >MÚ¾ó–]]O>ÿ¼„Ã9Æ`¼Ãdîa0v?ûçW5fy·*ŠÊÊJ÷àÁƒ ¶£Óµ\.¯¨¨šHwÆý¶ÀùU0ËH¸Ö…ÙÄü2ø3~©ö³„D"˜©¥åqnnÍåËU½kÖø§§¿1»ÑýÆpœ`vÀï Ì2xþû òðpس'jÏž(>¿C(”;À‹òûlðó[àç7Ί0½à/0MßÀ4A~ÓùLäw0MßÀ4Áõ‘S'—+Édóþ~E[[\®QÊåÊ‘•\þ[adDôòâÅ.ÆðÂÑsÿª£yöQ(–ÖÖQ4š ‰4Î#aÉd‰„ÔjœÇKf±ŒœßI¤çìa8& î_³æwÇïË–-»|ù²±By^¨TX~~[ii7B†~¨ÄS$œ¬žÜB°[x‘àhbjnßlÝúU¿\¥RU‡J¥¼ùæŠÔÔÿ3›ίNQhè+·n¥,[ö²ç+•ꨨųhP8`ìžWt:í/a[[Óø¡™˜ŸO§f&“)0 wq™G£Á©lÀ¬‚ñ™iPSÓ–˜x¾§gP©üm¬†J%ûù1çÌ1ûñÇ2™úÊêÕ¾‘‘,GG+#† xq@~ŸRéÐÎY%%÷5“ó‘Hèüù·^{m±L¦¸}[PPPwýzC¿ÌÓÓ)2’¹èt‡ËZ3òû´Á0üôéâãÇÿC"‘T*ŒF£46¥Ó›ŽY­ÆîÞòx×®ñ[[»¸Ì‹ˆðŽŒd…‡{S©ã\m “ù}šUUµüã_‰Åýë…ıª55u7\¿ÞP]-´²²X¹Ò“ÃYåke5g6£˜0ÈïÓO*ÚµëÒŸÿìû?ÿ4nåG¤·n=àñnÝz@"‘‚‚<"#Y11þNNÖ³*À„A~Ÿ†+ª9s¨_åɓᲲf¯¡¨èÞÀ€ÜÓÓiíZÿÈHLü˜ÈïÏœ‘UUUËõë W¯Ö‹D}nnvëµ×XË–ýÁÌ îWLä÷g†á÷î=âñ ê››»mm-ÿô'ŸÈHÖŸþäciinìèÏ:Èïχ¶¶¯¡  îî]!f¶b…gd$+*j±ƒÃ\c‡xFA~ÎôöݸÑxõj}ii“Z-]êöÚk¬èh?c‡x¶@~^ÁmSà ¿?÷à¶)€^ßMŠÞÛ¦V¯ö;n›à…ùÝ4ÁmSÈï&n›à…ùýE¡uÛTHÔ·M`ò ¿¿p4·Måç× "¸m Sùý…·M` ¿„êé¼yó>Ü6€)ünRžþÎ&2y޹¹ûœ9/››»)•¢žî´Æ¿D0í ¿›‰´{÷îeË–=}SJ%60 ´µ…ùWQQqêÔ)ø%‚igfìÀ4 Ž‹‹3v` ³ƒÆ€i‚ü¦ ò;˜&Èï`š ¿€i‚ëg^DJ¥’ËåVWWÏŸ?ýúõžžžcÕ”J¥éééï¾ûîSöØÙÙYPP ¢££W®\I¥R'¸âãÇsrrÂÂÂX,ÖSÆðÅ_twwåW^y%&&ÆÒÒò)ÛàYÇï/œ®®®ÀÀÀ'NÐét>Ÿ¼cÇŽ±*÷õõedd@àà ç±Àd29,, !T\\¼|ùrÍò+Vðx<‡£·GÇ1 c³Ùl6!ÔÐа}ûö·Þz«´´t¬ 5i£R©£Ã+** !Êt:}ïÞ½¡ÂÂB‰DâááA,—Éd ƒ(Ÿ={611Q§eÃ[­m¬–u "  ÅpƒÌ(Èï/–åË—Óéôk×®iò;Žã[¶lÙ³gO~~þÎ;óòò"""(еµîLÜ$‰F£!„/^|áÂÍò¦¦¦„„„±z,**zçw4#ã,ëèÑ£!!!###ÚÕT*U[[›NGÚô†çååuçÎM.—½hÑ"‹UUUE,”Éd›<îVkÓÛ²D"Ñ xZ®öàéÁñÅbaa±wïÞ´´4>Ÿ’Édiiib±8!!axxØÛÛ›ÃáP(”ï¾û®¿¿Ã0½DDD…ÂÛ·o#„ø|~EEqöîÝ»EEEDM9((¨»»û³Ï>#–«Õêììì%K–˜››ÛØØôõõµ··#„rssŸQžTËŸ±ˆÀtB¸>R¡PìÝ»×ÌÌÌÓÓÓÆÆ&<<<77Çq™LæååµtéÒððð¤¤$‹¤=þN¡P4\¸pÁËËkñâÅnnnšó¨»ví ]¾víÚüùóçÏŸ¿téR;;;ÿ¦¦&â­7ÚÙÙ‡††ã<:iÆßõ†‡ãø¿ÿýoww÷%K–¸¸¸\¹r…X‹Ëåúúú.Z´ÈÉÉ)99™X¨s}$a¬fCCCƒ‚‚~úé'òè–µ&Æß5‡……Áø;0"øV™”‰äwÂàà`EEEgg§ÎòºººÇE"QYY™Z­Ö{± Žã†ÕÖÖªTª‰t§P(*++y<ÞƒtÞzøðáÄÛÑ X¨R©ª««G·PSS3888µfûúúnÞ¼)•JuÊ“my" ¿ƒó7™‰”½aÃc&áòåËñññðKÓÆßÀ4A~ÓùLäw0MßÀ4A~ÓùLäw0MßÀ4Áý«&…D"ùúú:::;0 "‘è矆_"˜vð|`“gìÀ¤Í›7ÏÛÛÛØQÇï`š`üLäw0MßÀ4ý?´WÍ©¥\ÍIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FontFace__inherit__graph.png0000644000175000017500000000005011561716354030135 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FontFace__inherit__graph.png0000644000175000017500000004072411561716354030360 0ustar00murraycmurrayc00000000000000‰PNG  IHDRHýQybKGDÿÿÿ ½§“ IDATxœíi@×ÞÆOÂdTY„Ô z]Á"­zq£¢XQQ\j[k•jÝ›k]/bm]À jA@‹ ²+  ,‚,[eÞó6—’E–` œß§ÉÉ™ÿyf&OÎ6sƒ €@ ²VÚ ˆäƆ@dhlD‘“¶Èˆ&11±¼¼\Ú*Æ. ÅÄÄd;BcCÄqéÒ¥Û·oK[ÅØ%""2,øøøDFFJ[ÅXƒÁ z_ØÇ†@dhlDƆ@dhlDƆ@dhlDÓ]ÉÀf³i4ZVV––––———™™™¨œ ãòåË»wïJq—.]¢Óé½SœÉdò@óH¶Ä‘¬±! ®®nÖ¬Y'Ož$ŽŽŽ[·n•¹µµ5,,lˆ%R©Ô¤¤¤š^´¶¶üýý+**Äçé?’öIA Ñøøøøøøô'Û‚ Øl6úñÕ«WŠŠŠåååÃ'ŒD"…‡‡ ¦ëëëçææŠÏÓ$m """·/¬±!C…N§GEE­Y³FNîÿ{v$),,¬®®””´hÑ"uuuggç7n/^ŒîèééI£ÑôôôŠŠŠÊË˃ƒƒ'MšXTT„†:~ü¸ŸŸŸà¶P|}}étº¯¯oJJŠ˜l‚555Q(”˜˜kkkCCÃô?šàÒÒÒìíí'Nœèçç÷úõk4±¬¬ŒB¡¨©©¹¹¹ÅÆÆŠ?«Cö±!C%33@¡Pz'®\¹€ È–-[‚ƒƒÿøã¤¤¤€€€eË–±X¬'OžzzzRSSÙlöÉ“'§L™bff¶råÊÔÔÔ7n899}øðljDEEE4fïm@jj*[IIÉ××÷âÅ‹)))/^ttt•@&“ûÄf³SRRTUU{öÌÂÂMd2™ÇŽc³ÙïÞ½344är¹hº··÷áÇşX0„¦8¬±!CE[[»¾¾¾¸¸ØÂ‚Ÿ˜œœÜÜÜìåå•——·ÿþ²²2MMMÁ}±X¬›› 11ÑÉɉŸîêêšÐ§Ї   µk׊×&˜GhAVVV4‡Ãõ3<Àøøxgggt›@ „„„âââùj±X,]]]ñâ‡ìcC†Š““@xøð!?A€€€ÆÆÆ˜˜˜   ]»v•––fdd())õÙƒÁÈËˬ¬¬JJJøé%%%–––áVLAXì€í ô‰D",@£Ñ˜L¦¥¥%‰Dªìʼn'†|4"Ɔ %%¥*•ZPP`±XT*•N§¯Zµª³³ÓÜÜœB¡àp¸;wî´µµñx<¡AÈdree%Ú‰-((HOOGز³³ãããÑ<½·Å ªñ .šÐ\¸pafffaa! ..îÀÊÊʳgÏ®­­¥Ñh€¶¶6 ôt ÐØ °ÿ~___;;;"‘¨§§w÷îÝ+W®„eË–1™L;;;2™üìÙ3‰$jX[^^þìÙ³þþþÖÖÖK–,ùé§ŸÔÕÕ¿ÿþ;:FÝg[ÆÆÆYYY¢2ˆ*hpÑ„ ªªê±cÇ/^lkkëïïèÐ!‹ýå—_~üñG‰D$}||fÍš%þX†Äàºæ1B?ç±Q:::ÒÓÓkkkû¤çååµ··#ÒÐÐ’’Âår…Fàñx¹¹¹gЂ[[[?~Ì`0ÄgëgAýŒÖçÑD‡“••%XDNNNGG‡ø€(`ƒg®+ÍŠ+p©€Á`"""ÐK0P`S‘A ±!‘A ±!‘A ±!‘A ±!‘Aàc›pûöm1/‘Â`””ˆrrÚÚ’?¥*ˆxà-¥q¤§§×ÔÔ¦#R^Þž‘AÏËkâñéÓÕW¯6Åbÿ9ˆP ±#46d`44´Ñh/nÞ|^^þÁÂBoåJ‡åËíÕÔÒÖùÐØþ’‘ñöêÕÔ?ÿ|©¤„_ºÔöË/fÌ0”¶(ˆp ±!¡³³'**ëêÕÔââ: ½uë\¼½íyi낈"’ŠŠáá©‘‘™,{Áëuë\L¤- Ò/ ±!BÈή:þq\ÜKMÍñ«WÏ^½ÚI[[EÚ¢ NwAþ‡Ã‹ŽÎ¾t)¹°ð½­­Qxø†¹s-áX÷hÖØàñÛ·_œ;÷¸¬¬ÁÑqÊæÍd ÅRÌô5d„=ÖáñòOŠ/+kX°`ÚæÍd[[#i‹‚ hì± —Ë»yóùÙ³ItzÛ† s6mr×Ð'mQÉûØc.—wçNöÙ³IïÞ5ùû»¸Oœ--S@c922Þ|h?t(æÎl£û÷·Ãá1™[Æéîæœ=›xáÂ_jj„óçý-š'±ÆÐØ2 ‚ 4ZÖÏ??lmemßî±~½«’¼Á{¬-›df–ÿðýüüêåËí¾ùf‘ŽŽª´A>)ÐØ²ƒÁ<|ø~DÄs ½Û·œ¦J[D @cË‚ܾõã÷ðx¹S§¾üüs{x›÷˜[FÈϯ޽;òõ뺠 Ê–-sñÒV‘&ÐØ£žŽŽîŸ~øÛo©3fÅÅí´°Ð•¶"ˆôÆÝ>>JJJCŒ)žK—.ÑéôÞ)ÎÎÎd2y$D4°Ï6‚hiéܸñêÎ>>ö »¤î꺺ºY³fE =Ú wžÁ[ú°X=»wG®Yó_WW³'Oö¸¸˜J[Ðéô¨¨¨5kÖÈÉýD"………ÕÕÕ’’’-Z¤®®îìì|ãÆ @CCÃâÅ‹Ñ===i4šžž^QQQyyyppð¤I“‹ŠŠÐPÇ÷óóë³››ûàÁƒ­[·òÛÞ8n×®]ÑÑÑ•••½´¾¾¾ÏŸ?ª¤·kkk:îëë›’’’˜˜8£ëÖ­•755Q(”˜˜kkkCCàJøEˆ‰&¨––foo?qâD??¿×¯_£‰eee EMMÍÍÍ-66¶—K€Oü×éCQÑ{w÷£¦¦{"#3?Y¡ý©±ccc±Xlcc£àW<H$^¼x‘Á`Ðh4 &“YQQ¡¬¬Œ Huu5@ “É7nÜèêê244Ü»woEEEhh¨ªªjOO‚ ÷îÝ£R©h4þöÕ«WÇßÕÕÕ§8KKËï¾û®¸¸XCCƒŸ8}úô„„¡Jz ¨¯¯×ÕÕ}òäIOOOGGGYYYYYYAA±±ñ‘#GÐP$iÆ ásëÖ-4]Py]]¼¼¼··wUUUNNŽ‚‚Baa!ƒÁà!*šP\.WKK+44´¦¦fûöíK–,A˵··ß»wouuõ•+WTTTòóó?zA@ -5x<ÞåËÉ“'ïZº”úî]Ó§,º?ƾ~ýºŽŽŽÐ¯zzz²²²ÐíÒÒR<_VVÖÛØ€G!’——§¯¯Ïßu£¨;6sæLÁôõë×5¶P%½ š⾾¾_~ù%ÿ#‰D²±±Yú7k×®¥m­¤¥¥¡‰...·oßFšâ‚Ñ„ê|öì™……šÈd2;Æf³ß½{ghhÈårÑtooïÇ‹:c| GÅ¥CCCÛöí7ÒÒÞŒØ;O´µµëëë‹‹‹-,,ø‰ÉÉÉÍÍÍ^^^yyyû÷ï/++ÓÔÔ܋ź¹¹œœøé®®®  Eh‰S¦LÉÎΦÓéZZÿx“Ayy9ÚÈÇ U È?þX^^þôéÓÞ‰AAAk×®í"T¹••ÀÁÁMÄá„OC Fª3>>ÞÙÙÝ&!!!€¸¸¸ÆÆF4Åbéêæ†÷{ ¤¥½Y¸ðtYYÛ¶l™;] prr">ä§ ÐØØ´k×®ÒÒÒŒŒ Áé( #//°²²*))á§—””XZZŠ*ÑÁÁA^^>::ýØÞÞ~éҥׯ_§¥¥¹»»÷ÎÉápªªª¢”ðôF£]¾|ùîÝ»ŠŠŠâ_Œr,vÀ×K¨N"‘Ø{¸žF£1™LKKK‰TÙ‹'N ´8ý‰áñÓ§ùúž·±1JJ qv¹Kˆ*))…„„P©Ô‚‚‹Å¢R©t:}ÕªUæææ ‡Ãݹs§­­Çã B&“+++SSSéééhÝ›æáoëëëïÞ½ûÈ‘#YYY6›}éÒ%ggç•+WÚÚÚª©©µ¶¶¾{÷ÝÒÒè§4177wÓ¦MÑÑÑzzz=|QÊE!ê  Õ¹páÂÌÌLt2/..îÀÊÊʳgÏ®­­¥Ñh€¶¶6 ôü˜6ß!’¢®®ÅËë?&&»?å8™Pú9ÝÕÓÓ"''gff¦¦¦æîî ‹Å"‰¶¶¶îîîÁÁÁ$ÉÁÁ¡w‡Ãñƒ\»vH$ZYYñ̶mÛæàà ¸Íår=ª¨¨8yòd---{{ûššAV¯^­¡¡áèèèââ‚¶…*é#ÀÅÅÅÁÁáÅ‹›6mÂápÊÃïB‹š TŽö±ùÜÜÜÐ>6¿QÑ„êDäüùóÆÆÆ666úúúQQQhffmmmii©££³k×®^&žI‘¤¤"i?™üsii½´µôר(éééµµµ}ÒóòòÚÛÛihhHIIár¹B‡Ðáñx¹¹¹ýŸ‹îêêÊÎÎÎÏÏçñx‚üúë¯ü‘á·oß †ê£¤O´ÖÖÖÇ3Œ~–>åý,B¨N‡“••%XDNNNGGG?u ¾ø~Øa³¹?þsåJŠ——íÏ?û(++H[Ñÿ/¸)m!É€Á`"""z¯£GŇ—úúÖÀÀßóó«ÏœùÒÇg¦´å@Æ ÐØÃÈãÇÅAA×µ´Tââ‚MMµ¥-2†€£âÃ:ú½fÍgÏžz÷nt5äklÉÃ`0OO{ðà²õë]¥-2Æ–0Õ_}u•Ãáݹ󵭭‘´å@Æ(°).I~ý5iÑ¢3S§j%%…@WC¤¬±%‹Õy÷nξ} ?ƒïЂHhl PYÙèïþþ}Ëo¿}5w®ÅÇw€@†Ø*qq/==O"øóÏÐÕ¬±‡9òàܹÇ+VÌ>>ÿx—¼W|0¼{×´n]X}}Û… ~®®"Wä•18^zú›§OK KKëÇS “-\]ÍÜÝÍ'Mš mu=` ·lù}êTí+WÖëè¨J[ΰÓÚÚùèQabbѳgeÍÍÌ)S´æÏ·ž3ÇlæLcEE¼´ÕA„=0~ý5éèч˗ÛýüóŠÑÕ©‚¼|Y“P˜PTXø‹Å8:Nñð yxŒŒ4¤­òq ±ûKW;8øÖýûy?ýôùêÕ³¥-gXèèè~ò¤8!¡09¹äÇvmmUK’³³) d¥!Ȉ»_¼ÏX·.¬ºšqþü¿ÝÝÍ¥-G”•5ÓTòòrnnDÒœ9f††p$L6Æ‹Õt#)©èÌ™/—,±‘¶œÁÀŸ¦JM-c0˜zzj L›7do?YI Ž„É8cÝØYYööÆ}kk[Ö¬ù/ÞvåÊz©¿Ëv@¦š3ÇŒB!‰:ÒVùtŒic××·:;‡îÜ9?0ð3~bAAõš5aªªJ×®ù––j{{×_½æOSiiŸ7ÏÊÕÕÌÅÅtÂei«ƒH™½Å¢?„†Þïîæ„†ÆNš4moÇŽüúë?œMýõßãÆI`ñ ÓTææVq¹ˆµõ$??'‰¤?zG aìÖØ™™å^^gƒÃa®_ßøâEÅ©SÖ¯wýᇥ#Ö}¦©ÆWtw7§P,ÝÝÍ55ÇK[d¤0F È‚§ ßs¹<‹‘——ãp¸{÷.ìÝ,&jk[tuUô@X]]˃ …YY•,VÏÔ©ZžžÖsæ˜Íše"Ãw¶BÍýMÜ»—ûòe5ÿ?ÇCØlîøñJË–ÙwÑÑÑ9{÷Þ¾{7ÈÂâ#¯Ge³¹oùÓTx<ÎÝÝüàÁe®®fð†mˆxÆbÍbõ8:nllïsèrr8##õv¨¨ô}/¬DèèèÞ»÷ö;Ù Ø·oÑ×_ÏšNoôèUJJ):M¥££J¡À¶!c,û—_NžŒãp„¼÷ÇÙÙEDâñÂßi>h22ÞnÚtÁ`²Ù\0Ó§üùçþ·}¦©±³›ÌG Âϰ²²bqq¨œÜ0‡ŒjÆPS<1±(3³ '‡E°`Õ¿ÿíäìl*ñF_¼¨Ø´é·ÆÆ¢\ `2»rr*gÍ2‘léèSc'''>|XŠj†Á¼y3µ§Gg««7©©µÈÉ éi¹ÐÜ<±¾^€ÿYàñ¸ÀÀÏöìù—Äe þ È ýÌù»¡¡!11ÑÝÝ]òФMKËD….mí%¥v´†æHÞ×€ÉTéꫨ´r¹8.Ëãáx<‡åñ0‚/]a³¹Ž4c£¿i üƒêêꌌŒþçÒ?pà€äôŒX,Ž’’ÔúÔÐÐ »ÚÒÂêììf2»;:ºÛÛ»::ºxT™xzzΟ?лgffzyýïIÌ!Fx<$=ýí;ÙÓ§øù9I[ÎGضm›®®nLLŒœœ °°ÐÞÞ>88ØØ¸ïZ΀ɓ'—”” ±8tÃßßpáÂ…AY³fÍÚµk­!..î믿–T´áfÀ5vKKKrr²§§'êjÀäÉ“wïÞÝÜÜ ÈÉÉÙ·oß’%K¾þú뤤$ƒÁøæ›oÐCBB’““?ÿü󪪪ºººsçÎùøøœ9s¦ªª uëÖ­#GŽn‹B0H[[ÛÎ;ÓÒÒÖ¯_ïëë8xð`KKËÁƒ ÄD(,, Xºté‘#GÞ½{‡&ÖÔÔìܹsÑ¢EÛ¶mKKKè9ìC^Þ»~¸;}úŸ_oÞ|ÞÞÎbÀá†N§GEE­Y³u5€D"………¡m¢¤¤¤E‹©««;;;߸qÐÐаxñbtGOOO¦§§WTTT^^ÐÓÈÌ,ÿî»èéÓüë_§¯^MmjjÈËKxå–á 33@¡Pz'®\¹ÒÉÉ A-[¶,Y²5LPPPgg'‹ÅBOrOOOjjê¹sçNž<9eÊ2™¬  šš:iÒ$'''6› ‰3gÎDcöÞŠ`„3f\ºt ý6""BMMMMM ý˜ššzõo"""DE`³Ù)))¿ýöÛƒîÝ»÷óÏ?]¼xqâĉ/^tttMè±óx—ËEeß|óMdddrr2…BY²d ?sïmA„F˜7oNùò¥µµõõë×7oÞÌÏŸ““ÓØØˆnO˜0Á××Wh++«žžž]»vΜ9³¨¨ÈÒҋŪ©©áñxQÑ„;N×ÐÐ@­¡¡¡¿þú+‡Ã©««£Óé¡¡¡X,vݺu÷ïß6mÚÀ/…Hlì &477WUUñóóóÛÚÚ\]]ß¼yN# $ IDATóßÿþ·¦¦†ÿ7Ù 3cÆ @vv¶••?}Ú´iYYY}Z}ðööîÓ+íãñkf,Vx“D0šœœœ øÌÌL~ èØ~fffkkë—_~‰¦www ý‰÷¡§ûë¯I·ne¾}KÇãqèI¨«GÚÚÚõõõÅÅÅüÄäääææf//¯¼¼¼ýû÷—••ijj î‹ÅbÝÜ܉‰‰½ÿ»]]]ú´Ä#*ÂÒ¥Ki4@xõêÕòåËù‚‚‚úôŠ…F@¯¸ƒƒšØ»fê`4</xìñññÎÎÎè6@ ÄÅÅ566ò+‹%t|j( ØØ$IAAáùóç|c#ròäÉ+V¤¥¥Q©ÔÐÐP,»páÂ>ûb0ôÏÛØØ8>>žŸ^]]= +Š"&È ±*ÞÐÐðÕ«Wü<ÉÉÉ“'O666>þ<šØÝÝ-¾¸æfVmíä²2µÌÌûhN1~Fz?4ôþ@õK æ#k¡:99„‡ò H@@ÀÎ;cbb‚‚‚îÝ»G&“q8œªªª@pŒ¼¼<ÀÊÊêÚµküô’’´eÔDEX±bEHH‡óòòRV·tœ ¢ª1=v"‘øìÙ3~¶`ÁKKK‰„öh,Kâ‹ ØØhÅeooobbÒÝÝ}ÿþý––gÏž¢oJJJgg§¨åYlllêëëÑöRyyyaaá÷ß(--mmmE»U½·ûí§ EüZ1]]]‚âO:UYY9yòäÌÌÌððp777‰ÔØØ˜œœìææÖÙÙ¹~ýú~øÁÜÜ\Tduu%míj ÑÔ´ÏÈ(Çáp<Ç.ƒÞÞ¶žžÖb¤+éééGŽ|ä‰V%%¥*•êáá1mÚ4‹…Îë®Zµ*&&ÆÜÜý‡½sçN[['d5X™L®¬¬LMMuqq)((HOO¿uë ;;»±±ÑÓÓ³Ïvÿ#xxxÔÕÕýç?ÿ¹yó¦ø¡§GäB—¢Ž¥³³SðØ.\¸iÓ¦ÂÂB‰wàÀÏ?ÿ|öìÙµµµ4íóÏ?okk›6mZddä¬Y³Ä«ƒ™îZ½zuww÷Æuuu[ZZ¦Nº{÷n—«W¯nܸQYYÙÔÔtòäÉ?ýôêØ¾¥ÊÉmÛ¶íøñãrrrþþþãÇZ4L”—#800À áîÕÓÖ†°X »p8€Ãl6ÂfcØl¤²RóÃåËÏ2Lf7“ÙÓÕÕÓÙÙ£¥5>7÷à0 ,üµ #„ìììåblþÊ2²«¬¥µ“ùŠÅzÅáˆ[.gÐàpªjjžòòz¸AŸ!ÕknƤ§¿ý§$ ™l)ñçõ$B@@€´%@†Äzñ=•šxôèÔH3gûûÏñô´Âã%¼‚ aa)ÞÃ`0üG;„‚Á€°°õóçKí Mˆ 3†ŒÍfsª­eð_p©¨ˆ÷ö¶[·ÎÅÂBO²eToÜxõýû.Wä#rr¸×¯">²ª2p?üðƒ´5|"p8¬¾þ„{÷ò°ÙÜ¢¢º«WSÿüó‹15Õ–T®­­ºzµS[+7÷‹üóÄb1S§jÏŸo¥ªª$‘!ÞŒ¡eéRjNNUŸŠ‹Å`0¼··íºu®[€êáÂ;nvu±û,‡$'‡Å`0l6—HÔ™;×ò³Ï,fÍ2‘“ƒ“É0挗÷náÂ3¢Ž]f0 Àíûï—JªÄÚÚ–Í›¯egWöY,%9y_}}ËÓ§¥½*+kPTÄÏœiìáAZ°ÀZ_‚¤J‡ŒMÆœ±[·þ“'tEA<^NUU)..XOOÜ*…Ëå]¸ðäèчü5õçÏ¿ãg¨ªjJI)MH(LN.ééáiP(¤yóHŽŽS$>¼ ŒEcøÐîèx˜Åê»f‡UT”ð`›™™Îp”ûìÙ›ÀÀk--‚¬]ëòã^‚yX¬žÔÔ²„„¤¤âºº55‚««™««Ù¼yVZZã‡CD&‹ÆP©‰ÇÿÙ§§-'‡‹ŒÜìè8eøÊe0˜;vÜzôèÕÍ››ÜÜ„/«È§¤¤>1±ðéÓÒôô7<be5ÉÃÃÒÃdm=idÎ~CFcÔØÝݜٳÓémü~/ƒ™š§§Õ/¿¬TR·…q8¼œœÊ„„"tÚLIIÞÅÅÔÃ4w®…®®$Çö!£ˆ1mlÀÉ“q7º÷驦¤”~õÕUõß~ó—ì¼×pÓgÚÌÌLÇÃ4gŽÙìÙSáÝ/cбnlQTT|ðóûoGG÷Õ«¦O7¶œÃbõdeU>zTøðaA]]‹ºº²³³)…b9oIU• mua[$tzûúõa¥¥õçϯ™;×âã;ŒTøÓfoy<„DÒ‡Óf24¶8ººØÛ·ß|ð ß¾…yÃÛÈ6KI)}ôèÞ>iÒwwsWW32ÙbÜ8i«ƒHhìóÇéû÷GyzZ9³R6ž²ì3m¦  ‡Þ¦>¾õ¤Ið6uY»_dd¼Ý¸ñª¦¦JxøzCC!o½46vÓf¶¶Fóæ‘\]ͦM}óü24ö ),|¿n]/¶ÎÜ\bK)I‹ÄÄÄòòò~fnog¿yÃ,-í(/gvwó´µMM•gÏÖPV–ñöËÈB¡˜˜˜ˆË@KSS‡¯ïy#£]ׯ§K[ËPñññÄÏ ƒÁ)(¨¨ÌÑÔü7 gÂ?â/(| hð¨«+_¿¾ñÌ™G»wGfd¼=vl…¢"^Ú¢Oddä\“˜ˆXú3~  8vçÎùáኖ.¥VW7K[4¶Dðð ýù燷`Á©§OK¤-Æ–“'O|øpǼyV«V]:y2C’©ûØCAAîÔ©/lmöïzùò=•º ÎôB¤¬±%ÌêÕ³#"6çåUy{ÿ§¢âƒ´å@Æ(ÐØ’ÇÑqJ\ÜN<7þ©˜˜\iËŒE`S|XÐÑQÝþË/OL,:zÔG6ž÷°Ùl–••¥¥¥åååeff&*'ƒÁ¸|ùòîÝ»‡R•J?~ïR.]º4kÖ¬3f .à¥K—ètzïggg2™<¢IXcrrØ;çß¼¹)9¹dþü“ÅÅuÒV$êêêfÍšuòäIPPPàèè¸uëVQ™[[[ÆXâ±cÇŠŠŠz§P©Ô¬¬¬A¤R©III5½hmmPÿŠŠ IE&`=¼¸ºšÅÅoÞüû¿þuêÐ!ïÕ«gK[ÑØ¶m›®®nLLŒœœ °°ÐÞÞ>88ØØØX0óäÉ“KJFâäßš5kÖ®];èÝãââ¾þúkIE&`=ìèêªÑh[¾þzîÞ½·ƒ‚®wvö}gØhN§GEE­Y³u5€D"………ÕÕÕ’’’-Z¤®®îìì|ãÆ @CCÃâÅ‹Ñ===i4šžž^QQQyyyppð¤I“ùµññãÇýüü·ÅpáÂ==½ 6´´´ ‰eee EMMÍÍÍ-66V°tQÑU555Q(”˜˜kkkCCÃ|}}étº¯¯oJJŠm‚g––foo?qâD??¿×¯_‹,>ÉÈA§OK¦MûÎÕõ§¢¢Zik鋸<±±±X,¶±±Qð+G$/^¼È`0h4š††“ɬ¨¨PVVF¤ººš@ Éä7ntuuîÝ»·¢¢"44TUUµ§§A{÷îQ©T4Zïm}}ýèèèÞe‘H¤Ë—/¿}ûVCC#;;»®®ŽL&Ÿ:u ýÖÞÞ~ïÞ½ÕÕÕW®\QQQÉÏÏïS:‰DÚ°aCøßܺu ÝQPU]]¼¼¼··wUUUNNŽ‚‚Baa!ƒÁÐÕÕ}òä *[h4¡gƒËåjii…††ÖÔÔlß¾}É’%¢ôb~Ü+ýI©¬lœ?ÿ¤©éž»ws¤­åôÇØ×¯_×ÑÑúUOOOVVº]ZZŠÇãËÊÊzðèÑ#Aòòòôõõù;NŸ>=!!AL¡¢ŒýìÙ3 œœA::: ‚ ïÞ½344är¹hNooïÇ÷.ÝÝÆÆfé߬]»V”*´%’––†&º¸¸Ü¾}•”››+&šÐ³ñìÙ3 4‘Éd;vŒÍf ,æl ôÇØ°ýI12Ò¸w/èСØÀÀßÿúëõ¡CÞ£hyPmmíúúúââb ‹ÿ-ÆœœœÜÜÜìåå•——·ÿþ²²2MMMÁ}±X¬›› 11ÑÉɉŸîêêš@¡P*ÆÉÉiûöí .Äãñ_|ñÅŽ;qqqüçY,–®®nïÒQ‚‚‚úôŠ…ª²²²888 ‰8œð‡R£áñxÁ³ïììŒn„1‚‡ìcjäååòŠŒ |ú´ÔÝýhZÚi+ê/NNNááÇüAcbb‚‚‚víÚUZZš‘‘¡¤Ôwñ #//°²²ê=¢VRRbii)¦PSSÓ7oþwŠ:;;ß¿O$9Ú‚ŒŒ,++Cûä–––$©²'Nœè]º(ĨÂbì¡gƒH$òÇÒ4ÉdŠŽ’’RHH•J-((°X,*•J§ÓW­ZÕÙÙinnN¡Pp8Ü;wÚÚÚx<žÐ d2¹²²255PPPžžŽ°eggÇÇÇ£yzož?¾²²-ñرcÆÆÆ®®®4ÍÞÞ‹Å:88|ùå—è$ÓìÙ³kkki4 ­­Í•úQD©…¨£Cz6.\˜™™YXXˆ‹‹;pà€²²ò œ6è!ÃJLL.‘¸ï³Ï~–îˆZúØ‚ôôô„„„ÈÉÉ™™™©©©¹»»£`‹E$mmmÝÝ݃ƒƒI$’ƒƒCï>6‡ã¹ví‘H´²²222â’mÛ¶ÍÁÁAp›Ífèèè˜ššª¨¨|öÙgÉÉÉ‚twwÏœ9S[[ÛÑÑÑÀÀ >>ÍO£Ñ¬­­---uttvíÚ%X:‰D <4AUh›ŸÁÍÍ íc»¸¸888¼xñBT4¡gAóçÏÛØØèëëGEE‰üQ<TW7/[F56¹|9™ÇãIEC?ÒÑÑ‘žž^[Û÷Ÿ(//¯½½A†††””.—+tA—››ËápúY"ÇËÊÊjjjê“^]]““#xÒrrr:::ú| ªZ[[?~Œ׉¡ÏÙ@9NVV–`ÜcÃ5ÏFïâÅ'ÇŽýéìlzúô—ÚÚ*ŸXÀŠ+C[Aò‰À`0è%ìcää°[¶Ì½{7¨ªªÉÃãxBB¡´AF7ÐØ#Ã?ÿÜáädºn]Ø?ÞëêbK[d´=²PQQºpÁïçŸ}~ÿ=ÝÃãDvv¥´AF%ÐØ#‘U«f?{¶êT­%K¨»wG2™ÝÒVe@cP´´Æ‡‡o¸pÁïþýü¹s?{6jîcŒ ±G4‹Ïxòd‘¨³bÅ9XuCú4öHG[[å·ßü/\ð‹ÍŸ;÷ø(º"E ±G‹Ïøë¯=D¢ŽÏ¹Ý»#GïCÝO4ö¨A[[%<|ÃÁƒË¢¢²-:Ì!b€ÆM`±ÿ9II!ššã—.¥îÝ{»­%©à·o߯@Fý¹šð–ÒÑJBBá7ßDuttïÜé¹~½+Û¯ë-ŠôôôššIiƒ 7è£/b2@cbX¬žS§]¸ðÄÎnòÏ?û‰:ÒV)@cz ßïÙsûåË??ç}ûÊÌæ¡- ðxȇŨ«+ÿôÓçd²¹´A¤ 4¶ìP]ݼTRRñŠ3¿ýv±†Æ8i+‚H hlYãþýüヒîèèÚ²å³M›ÈŠŠxi+‚Hhl„Éìþõ×Ç.<Ñзÿ¢¥Kmú9G‘ ±e–æfæéÓ®^Mµ°Ð=xÐköì)ÒVùt@cË8ee ‡Å$&yx\6yòDi+‚|  ±Ç))¥?üp÷ͺŸŸsHÈEi+‚ /ÐØc‡wëÖóãÇÿäpx;vÌ[»ÖENÞP,³@c- æ‰ñü‘fa¡·k×| EÜ[8 £hì±Hyù‡Ó§ݽ›3}ºÁ®]óÝÝá -²4öØ¥¦†A¥&ܺõÜÔT{ûöy‹M‡³b24öX§¤¤þÔ©øòmm'ûû».\8‡ƒ}ïQ46Š‹kúéþãǯ ÔÜ|}àÃ$£hlÈÿ¨¬l K¹~=]Nëëë°y3YOOMÚ¢ ƒÒ—ÚÚ–Ë—“¯_Oçpx+VÌ\·Î>é=ê€Æ†§­uíZÚo¿={ÿžáì‡C?^ºt‰N§÷ÎàììL&“'^²Ñ†¬±!¡®®nÖ¬Y'Ož$ŽŽŽ[·n•¹µµ5,,l(Å•””ìÛ·ÿ144tÛ¶mµµµèÇ[·nݼy³££C|).\˜2eÊgŸ}fll|áÂ4ñÞ½{3gÎtvv600àA¥R“’’jzÑÚÚ: Áþþþ’Š&1ÈXÅÇÇÇÇǧ?Ù,XÀf³Ñ¯^½RTT,//&UÏŸ?ÔÖÖ"Âd2-,,ÂÂÂÐo)ÊÖ­[ÅGèîîVSSËÈÈ@$%%EUU•Éd"bjjŠÆ©ªªÒÐÐHOOG„D"…‡‡E°¾¾~nn.º=ôh!˜klˆ8ètzTTÔš5kääþ¿×F"‘ÂÂÂêêêIII‹-RWWwvv¾qã ¡¡añâÅ莞žž4MOO¯¨¨¨¼¼<88xÒ¤IEEEh¨ãÇûùùõÙ¶³³SUU}öì௿þ²°°X¹re||<€Çãeff’Éd~)MMM %&&ÆÚÚÚÐÐðÀ€—/_Ο?ßÁÁ0kÖ,.—›——÷òåKƒahh¸xñb&æÀ -Ë××—N§ûúú¦¤¤ˆ‰&x¢iiiööö'Nôóó{ýú5šXVVF¡PÔÔÔÜÜÜbccz½þǧüwŒ(úScÇÆÆb±ØÆÆFÁ¯x<‘H¼xñ"ƒÁ ÑhL&³¢¢BYYAêêj@&“oܸÑÕÕehh¸wïÞŠŠŠÐÐPUUÕžžAîÝ»G¥RÑh½·/^¼}ûvA¶mÛ¶{÷î/^¨««s8œüü| ÓÔÔÄ/¥®®N^^ÞÛÛ»ªª*''GAA¡°° ÒÝÝ}ïÞ½7ZYYuuuõVÞÜÜlbb… ‰DÚ°aCøßܺu Í#(XhY CWW÷É“'è &ôDq¹\--­ÐÐКššíÛ·/Y²-×ÞÞ~ïÞ½ÕÕÕW®\QQQÉÏÏ€ˆ{ìÒc_¿~]GGGèW===YYYèvii)/++ëmlÀ£GÉËËÓ××çï8}úô„„1…ž>}zæÌ™‚XXX$&&òxtG—Û·o£Ûµµµ6668.44”Ëåòƒ?~üØÔÔ400í\H$›¥³víZQ‚E•Õ§).Mè‰zöì™……šÈd2;Æf³ß½{ghhÈWëíí}øða1' ml8*‡¶¶v}}}qq±……?199¹¹¹ÙËË+//oÿþýeeeššš‚ûb±X777@bb¢““?ÝÕÕ5!!B¡ˆ*”L&‡„„”––VVVº¸¸`0˜yóæÅÇÇWTTaF[ÝþX7@WW7''§©©‰H$‰ÄåË—óx¼={öDFF9rdåÊ•üœAAAk×®íP¨`+++QeõF0|ÈOA$  ±±1&&&((h×®]¥¥¥JJJ}öÅ`0òòò++«’’~zII‰¥¥¸W M›6MMMíСC®®® €ùóçÇÅÅ¥¥¥ 56ûŸqllìñãÇÑm —ââbÀ’%KètzQQQoW EŒà>eõ¡'ŠH$òÇÒ4ÉdZZZ’H¤Ê^œ8qb Åý¿ÎÁí#())…„„P©Ô‚‚‹Å¢R©t:}ÕªUæææ ‡Ãݹs§­­Çã B&“+++SSSéééèÐWvv6:*ÖgƒÁ¸»»ß¼ysÞ¼yhЧ§gvvvEEÅœ9s>ª™D"…††~øðP__ÿøñã/¾øâÕ«WÏŸ?ÿþûï?|ø€z¦¹¹YTQ‚E!êÀQ„ž¨… fffâââ8 ¬¬<{öìÚÚZtT¯­­ÍÂÂ=íƒA| "Ãôsº«§§'$$DNNÎÌÌLMMÍÝÝ=::A‹E$mmmÝÝ݃ƒƒI$’ƒƒCï>6‡ã¹ví‘H´²²222âñ€]ÐqIDAT’mÛ¶ÍÁÁApAsçÎzÙÙÙÙÙÙ¡Û}úØüzu<ƒô¡ŸÆFéèèHOOG§—{“——×ÞÞŽ HCCCJJ —Ë:„Ž ÇËÍÍåp8CÑŒ"¦>]]]ÏŸ?çO¿‚~ nmm}üø1ƒÁŸ­Ï‰B9NVV–`999ý)ÊØpi¤± zÛfdd¤´…@ƒº4ìcC 246"ƒ@cC 246"ƒ@cC 246"ƒ@cC 246"ƒ@cC 2|lsLóôéSi«€Hh챋£££´%@†Š`:¼W‘A`‘A ±!‘Aþh•9Âêdw IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classcairo__matrix__t.html0000644000175000017500000000005011561716354025313 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classcairo__matrix__t.html0000644000175000017500000000512311561716354025530 0ustar00murraycmurrayc00000000000000 cairomm: cairo_matrix_t Class Reference

cairo_matrix_t Class Reference

See the cairo_matrix_t reference in the cairo manual for more information. More...

Inheritance diagram for cairo_matrix_t:

Detailed Description

See the cairo_matrix_t reference in the cairo manual for more information.


The documentation for this class was generated from the following file:
  • cairomm/matrix.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1UserFontFace-members.html0000644000175000017500000000005011561716354027403 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1UserFontFace-members.html0000644000175000017500000001410311561716354027616 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::UserFontFace Member List

This is the complete list of members for Cairo::UserFontFace, including all inherited members.
cobj()Cairo::FontFace [inline]
cobj() const Cairo::FontFace [inline]
cobject typedefCairo::FontFace
FontFace(cairo_font_face_t* cobject, bool has_reference=false)Cairo::FontFace [explicit]
get_type() const Cairo::FontFace
init(const RefPtr< ScaledFont >& scaled_font, const RefPtr< Context >& cr, FontExtents& extents)Cairo::UserFontFace [protected, virtual]
m_cobjectCairo::FontFace [protected]
reference() const Cairo::FontFace
render_glyph(const RefPtr< ScaledFont >& scaled_font, unsigned long glyph, const RefPtr< Context >& cr, TextExtents& metrics)=0Cairo::UserFontFace [protected, pure virtual]
text_to_glyphs(const RefPtr< ScaledFont >& scaled_font, const std::string& utf8, std::vector< Glyph >& glyphs, std::vector< TextCluster >& clusters, TextClusterFlags& cluster_flags)Cairo::UserFontFace [protected, virtual]
unicode_to_glyph(const RefPtr< ScaledFont >& scaled_font, unsigned long unicode, unsigned long& glyph)Cairo::UserFontFace [protected, virtual]
unreference() const Cairo::FontFace
UserFontFace()Cairo::UserFontFace [protected]
~FontFace()Cairo::FontFace [virtual]
~UserFontFace()Cairo::UserFontFace [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FtScaledFont-members.html0000644000175000017500000000005011561716354027373 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FtScaledFont-members.html0000644000175000017500000002352511561716354027616 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::FtScaledFont Member List

This is the complete list of members for Cairo::FtScaledFont, including all inherited members.
cobj()Cairo::ScaledFont [inline]
cobj() const Cairo::ScaledFont [inline]
cobject typedefCairo::ScaledFont
create(const RefPtr< FtFontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())Cairo::FtScaledFont [static]
Cairo::ScaledFont::create(const RefPtr< FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [static]
Cairo::ScaledFont::create(const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [static]
extents(FontExtents& extents) const Cairo::ScaledFont
FtScaledFont(const RefPtr< FtFontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())Cairo::FtScaledFont [protected]
get_ctm(Matrix& ctm) const Cairo::ScaledFont
get_ctm(cairo_matrix_t& ctm) const Cairo::ScaledFont
get_extents(FontExtents& extents) const Cairo::ScaledFont
get_font_face() const Cairo::ScaledFont
get_font_matrix(Matrix& font_matrix) const Cairo::ScaledFont
get_font_matrix(cairo_matrix_t& font_matrix) const Cairo::ScaledFont
get_font_options(FontOptions& options) const Cairo::ScaledFont
get_glyph_extents(const std::vector< Glyph >& glyphs, TextExtents& extents)Cairo::ScaledFont
get_scale_matrix(Matrix& scale_matrix) const Cairo::ScaledFont
get_text_extents(const std::string& utf8, TextExtents& extents) const Cairo::ScaledFont
get_type() const Cairo::ScaledFont
glyph_extents(const std::vector< Glyph >& glyphs, TextExtents& extents)Cairo::ScaledFont
lock_face()Cairo::FtScaledFont
m_cobjectCairo::ScaledFont [protected]
ScaledFont(cobject* cobj, bool has_reference=false)Cairo::ScaledFont [explicit]
ScaledFont(const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())Cairo::ScaledFont [protected]
text_extents(const std::string& utf8, TextExtents& extents) const Cairo::ScaledFont
text_to_glyphs(double x, double y, const std::string& utf8, std::vector< Glyph >& glyphs, std::vector< TextCluster >& clusters, TextClusterFlags& cluster_flags)Cairo::ScaledFont
unlock_face()Cairo::FtScaledFont
~ScaledFont()Cairo::ScaledFont [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x67.html0000644000175000017500000000005011561716354023557 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x67.html0000644000175000017500000003611011561716354023774 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- g -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x71.html0000644000175000017500000000005011561716354023552 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x71.html0000644000175000017500000000744311561716354023776 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- q -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Device_1_1Lock-members.html0000644000175000017500000000005011561716354027527 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Device_1_1Lock-members.html0000644000175000017500000000524211561716354027746 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Device::Lock Member List

This is the complete list of members for Cairo::Device::Lock, including all inherited members.
Lock(const RefPtr< Device >& device)Cairo::Device::Lock
Lock(const Lock& other)Cairo::Device::Lock
~Lock()Cairo::Device::Lock
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/bc_s.png0000644000175000017500000000005011561716353021510 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/bc_s.png0000644000175000017500000000124511561716353021726 0ustar00murraycmurrayc00000000000000‰PNG  IHDR /ð9ÐlIDATxíÝKHTmðÿóžwfÎgæÌ¯å8ŽÓ˜—Š6ñ-BÚ´‘]d–VZMa…D}ßg¸háB¤¶*Ñýbå¥U9Š—3ƒŽFy<£‹ šaæè²í³yøÿÎóžÅóî©ýÁÇåþtðªÚ %”8Vj•LÜlø·ÅCF@mÃÿˆÞ[”ïü À7ªj¿RÀ•ûC0TâU‹Y¸øYÕú’ÿsv~Æî,Ûi)€.w €™ˆæwø\cT i Ðúÿ`¼owgÛö»âH0¤5%À¥ÿ>Äû\.°ÉÒ×*O0¬-c}BàÞûä+msË…VÑÔ5Ö:€Îß}— *l’©Çç–cÁV¸€OÅ^ÅaâìÔXxñ)µÜ0‚ãé²xrKfÚÜxx±Ššo½5Ièk±WaŒÑjºùÆà¶;ÛVá´[¨ñÆ«Í@¥ÃfnöäØ¿°ÍRÕ.‡¨¬®B¥×_C™ˆæK|.¬ý²Ÿ®½0‚3ŠTŸ¥H¡‰½†Ž¶=7‚ ßã´™8k˜œÑ_Ó‘«Ï’Ã2«Èz·:V&fôBv—Ní9iVÎY— Õµ>‰‡.Qx{¾E“³ú»Ê‡˜'‰|dj6ÚØ‡ÚÀãx?åÏsJ‚@uÓ‘hbI„Ò½‡Ö2ì“,¼F¶[bÓ‘h e'«Ïõ@;Û^d•x·‰þ›¶ôg2Fa¿G^ÿ @,é) êlß… §Të’-ãêÜRý†—UÙÜ*È•EΩ64·4lÜÄÙ #èjDßþú Ųo{”N IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x70.html0000644000175000017500000000005011561716354024564 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x70.html0000644000175000017500000001143011561716354024777 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- p -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/pages.html0000644000175000017500000000005011561716354022062 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/pages.html0000644000175000017500000000242011561716354022274 0ustar00murraycmurrayc00000000000000 cairomm: Related Pages

Related Pages

Here is a list of all related documentation pages:
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1logic__error__inherit__graph.png0000644000175000017500000000005011561716354031115 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1logic__error__inherit__graph.png0000644000175000017500000001117211561716354031333 0ustar00murraycmurrayc00000000000000‰PNG  IHDRƒËÂô·0bKGDÿÿÿ ½§“/IDATxœíyPS×߇O 0Á"!,dÕ‚ PGíÔjµU¬2Öi©kU\k^­V´)–¶ZlµhY´H[QÄÈ€ð ˆ .˜ †þ@BX!Ë}ÿ¸¿¹oJn0!œ´çùëäxÎ=ßÜÇ{nz? Ã,L]â¿ °€LÀ2 È4`:ð믿šºL3F—3ŒaU÷#fgg^¹ÿH***RRRt¬‡‰•+Wލž/zý¬†î°€LÀ2 È, °`2ùùù<ÏT«“"‹Oœ8aªÕGÝD\\\cc£fNNNyyùh¯® D…‰äÌ™3¦*cÔMJ$’Ñ^ň ÙlöãÇMU†1M¤§§‡……¹¸¸|øá‡]]]€˜˜˜¶¶¶˜˜˜ÒÒRÀ½{÷bccœœÖ®]+•JñYIIIëÖ­Ól744,\¸ÐÁÁ!**ª  ŸŸ¿|ùr¥R ÈÉɉÅt*// qrrZ·nÝ£G´M/--ݾ}{BB‚‹‹Ë’%KÊÊʆTøâÅ‹·Þz Ÿ. wíÚ5uêÔ-[¶Ô××:::.\xåÊ•€€‹uèÐ!#ž:ôùÞiø1€Á`TWW·´´ÌŸ?ÿ«¯¾Â0L,;;;s¹ÜÁÁÁžžkkëÏ?ÿ\ lÚ´ ’’‚aX~~~jj*~õvHHÈþýûE"Ñ?þH§Ókkk•JedddRRRkk«³³sMM †aJ¥rÒ¤I‰‰‰ÍÍÍñññK—.Õ6½  `ܸqË—/üøñwß}gkkûäÉõ mllðé,kÿþý‰‰‰öööƒƒƒ---ãÆ[±bESSŸÏ§Ñhuuu†Ÿ7£™¸}û6ƒÁàóù†õööŠÅb¼ŸÉdâ§,777$$ï”Ëåvvv¸ Rž?Îb±”J%þrÅŠGÅ0L(Nœ81**êØ±cĺӧOÇÛ}}}'NœËå¤Óñ+£¹¹ï\µj^Q!aâîÝ»L&“(&((¨¨¨¨¥¥¿þðÎyóæåää~ÞŒ¶;Í™3'>>þÍ7ßtss;räÈÀÀÀ\.÷õ×_ÇÛT*uΜ9í°°°½½ÝÃÃÍf³Ùì²²2üD¸»»¯[·îîÝ»»wïÆG^»vmîܹx{„ {÷î¥R©ÃLg2™øàùóç‘®~ãÆ õò"""ˆ‘aaaxÃÒÒRÇ3£#F3¡P(ðÝ ;;»¡¡Øî ‚‚‚êêꈗÃß}}}ýüüž©qòäI@sssVV–··7þÀápÔ?›åææöõõi›þ×_õõõá#>|ÈápHW÷÷÷W/ïñãǾ¾¾xÛÂbÔ>ãèráèr•]¸p!((H¥Ra–=kÖ,¼ŸÉdVWWc&‰¬­­ñ6¾Qà›CUUUaa!>˜h+•J&“‰_þ‰ÄÍÍíÎ;*•jÁ‚'OžŽŽŽ÷ïßÇ0¬««ËÎÎîÁƒ†]½zÕ××WÛt|Ñääd•JÕÐÐÀb±¸\®z…Äî$“Éètzii)†aµµµ¶¶¶øUE¼ß¨¨(ãîNF3!“ÉBCC'OžîêêzíÚ5¼Þ¼yaaa•••†}ùå—S¦Láp8...o¿ý6nbÇŽaaaø`õvnnn@@€¯¯ï”)SöìÙƒaØ©S§fÏžïþ)))¯½öš\.Ç0ìôéÓîîî3gÎd2™yyyÚ¦¸»»yzz:88ÄÇÇãÓ‰ ÕïØ?ÿü3‡Ãñ÷÷wssÃ?D˜ ‘HÄçóñ+G"‘ܼy“¸ TTTôõõéXŸÏïíí}å0…BQUU¥P(†™^PP<88Èãñ:;;5+T*•íííD¿J¥ª©©Ñ<¦î˜ÒÌà&ÆrEÓ|v‚:îååeê*´¢ÇoOÍÈÈÈÈÈHSW¡•Ñ59È, °€LÀ2 È,˜½ ò²þ×ÔU=~žˆŽŽ½:FL¿us³kfæÿ˜º^¼x¡û`L¸ººBûb»ºìÇQ©“íìM]ËP}||tLÁÌù<ªTX`àÁÎÎÞ¸¸È#G–›ºƒ0ïûÄíÛ ½€œœ*…Beêr ¼M\ºÄ·²²tw÷—•=1u9aÆ&d2EAA\®P©—/W›º"ƒ0c7o>ìïÿï]Z.Wþþ{íÀ€Ü´%‚›¸t©ZýX (nܨ7a=b®&º»®_ P(‰KK‹K—Ìxƒ2Wׯ?P*ÿöaI¡P×ww÷›ª$1WyyU eH§R©ºzõ¾Iê1³4ÑÞÞ[VödÈ5€’›[e‚‚ŒYšøý÷Z†^•JUQñ´­­gìK2³4qùr•RIþ%Jþø£vŒë1 ægâÅ IuuÚ¾.î\©Ó‚Œ„y¸råî¦M?ýç?º>”ZÌïšø§‚LÀ2 È, °€LÀ2 È, °€LÀ2 È, °€LÀ2 È, °€LÀ2 È, °€LÀ2 È, °€LÀ2 È, °€LÀ2 È, °€LÀ2 º<£f,,hVV“L]Å«yåÞuzúJÆ6S²u2íCÍÿw/ºOÀ2 È, °€LÀ‚ L ŸŒÝÓÓóÅ_èu@ÓæZ‹Q41²dl‰DòÙgŸéµis­Å(š³dlÓæZ ã˜0n26fH5 ¸¸8 ÀÉÉiÛ¶mû÷ïÿóÏ?Õs­I³²IÑ Ðnkk[´hQnn®‹‹Ë­[·ˆv}}½f%êƒ‰Ú Á&„BaBBÂéÓ§ù|~cccff& ##ÃÉÉ)###<<¼··7<<ÜÇLJÇãÑéôË—/ã9Nhh¨f›`þüù4­¬¬lêÔ©sæÌ‘Ëår¹üwÞ‰åñxýýýÉÉÉýýý\. R©–/_¾bÅŠÚÚZƒñÉ'Ÿ Söš5kBCCØpŒ°;7›€4¤ÚÛÛ›èT(Ïž=SŸBš•MzpmÚ eܸqø¢­-.[}°0üÊ2n26±;‘†T·¶¶ÚØØàiØ¿üò àüùóÄîDš•M i€¶H$²´´Ä¨·I+Q`ø9Ä^™<öÉØ„ Œ,¤𤤤‰'úúúΞ={úôé¿ýö›z®5iV6)šÚÚLV£ £'cã ©noo¯««ëíí­¬¬”J¥ÖÖÖ•••Cr­µee“¢cþ¶f%º£ã9|ÅSJ³³³cbb†3–tttLŸ>===}Ú´i……… š'hii)..Öì ÍJÿÏ¡™¥23Œ¼¼¼óçÏŸ6 |lX@ùذ€ò±¡åcÃÊdž” (P>6, |l(@ùØ‚ò±F™€d X@&`™€d X@&`™€d X@&`™€d X@&`™€d X@&`™€d X@&`™€d X@&`™€d X@&`™€d4Ÿ o^˜K>¶&CžµOòô¹C‡}Yÿ*êëësrr†t’˜ 2…c ºOÀ2 È, °€LÀÂM(Šâââ´´´ .4773²§§çâÅ‹#[G*•feeé5ÅðEÇž‘˜èèèØ¼ysvvöøñãÁ–-[RSSµ îëëûã? ¨ôõõ={Vß).:öŒ$1êÛo¿e0‰‰‰ø£)Ÿ={¶qãÆ•+WâÑ¡C˜2eʹsç -SOL²¨è}Mtuu•””,Z´ˆxB(›ÍÞ·o_gg'€Ïçúé§K—.ýøãñ 9±X|àÀ|âÞ½{KJJÞ}÷ݦ¦¦–––´´´•+Wž:uª©© ?ÔÅ‹?®Ù& Åçó?øàƒeË–¥¦¦~ÿý÷wîÜ!ÔÕÕmܸqÙ²eÇþüù0o­¹¹y÷îÝK–,Ù±cžj¯^óÝ»w‡¯ÈÔ÷ÄêmâáÇ€àà`õÎ øùùavêÔ©¹sçfee­Zµ*55U&“Éd²šš€\.¿ÿ~~~þæÍ›]\\âãã­¬¬¾ù曉'nݺU¡PX,‡ÃÁ©Þ&М¥P(<žž.“ɲ³³»»»‰E1 KHHˆŒŒú°víZ.—[[[¬~¬ÞL: àììüÞ{ï¶nÝZXX¨>¥¾¾ÞÞÞ~íÚµ€¸¸¸Ë—/+•Jõ’ÚÚÚÄbq\\…Byã7***ÊËË-ZDÔüòåËáëg±XÄ}Ï* GGÇÎÎΦ¦&777¢³¶¶¶»»;""âéÓ§?üðCss³ƒƒƒæ\ …2cÆ @uuµ¿¿?ÑXUU5ä:Ó„tÀÏÏï™0a›ÍVŸÂãñˆ)4mõêÕÚÎãñ$ n “É †zͯ¬ŸÅb©Ö½w'???vç΢ðääd‰DR^^žššsþüù´´4Íìh …B¥Rîîîê[¶H$rI!åêêŠÇ·”Jekk«ú‹ÕÒÒB¼,)) =8›Ívww¿¨ÆæÍ›ÕkÖ¥~õÁú¢· üoV^^žP(Èd²K—.uuuEGG °X¬àà` ‹ÒÒR©Tªí!ƒ3gÎlmm½ÿ>@(ÖÕÕá{Ñ“'O*++ñ1êíafÍž=»¾¾,¿uë–T*U¢oxxø£Gð?åñx™™™ãÇ'-ÉÏϯ½½½¤¤ •Jßÿ}ü êU¿!ŒD`ll¬L&Û°aƒ³³sWW———×¾}ûh4Ú¼yóΞ=»aÛiÓ¦±ÙìcÇŽmÚ´Wbæ—Ê<:~øðᢢ¢ÆÆFWW×”””ᳩTª½½½f?FµuÂìMuloo?kÖ¬Q­gd oÅa™€d X@&`™€dH~žØ³gÏØ×ñ¯B,kvþÍüiØÿ4cöé8ÿÐ} X@&`™€dþm?Iw¡ÞŠIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1GlitzSurface__inherit__graph.png0000644000175000017500000000005011561716354031052 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1GlitzSurface__inherit__graph.png0000644000175000017500000001024111561716354031264 0ustar00murraycmurrayc00000000000000‰PNG  IHDR{Æ÷”öbKGDÿÿÿ ½§“VIDATxœíyP×Àßæ+*š‚‚Ñ(A-H õ¨ÐjѩұS ÞN‹2x!—£TkiE<êmA«Šb E¨HS‡‚ ÈD„¢P!$‰9v³¿?ö7Û4 Š›¾Ï_o_Þ{ßïî'ûöHfÁq@^yh£dP@OÔz¢Ð5€ž(>t|}}G;kj£Ç6gèÉÃÃ#44tx³ÿ/PTTtòäI=:êéÉÖÖîUz ÷Õ*<>Qè‰@OÔz¢Ð5YO*•êÊ•+aaaGŽ©«« eggçÑ£G_>â³gÏΜ9.T*Õà;þùçŸñññÕÕÕ/ŸÃH0‚žZZZÞ|óÍãÇ›šš …B;vô׸««+11ñ%#^¹reΜ9ååå111¶¶¶R©t}·mÛöý÷ßÓh¯ê£ßý__ßÁ4[¾|¹J¥"ïß¿ollÜÐРGÄAâêêzáÂrÑÓÓóôéÓƒìëèèxûöí‘Éë/RRRôÛæ#õõikkKMMݸq#ƒñÿKi—˜˜ØÒÒ+V¬˜8qâ‚ ’““b±xåÊ•DGooo>ŸommýàÁƒ†††ÐÐÐ)S¦lݺõÁƒÄPÇŽÛ°aƒVY¥R‰D"2àìÙ³...€ÆÆF///²ÞßßÿîÝ»šÜÝÝŸ>}ºiÓ¦ììlé ÝÜÜ^{íµ 6<|ø¨‰DK–,177_¼xqffæmLFlÊÌ̤Ñhííí}?R«Õ\.÷Ì™3|>ŸÍfK¥ÒÇ›™™á8ÞÔÔdjjêå啜œ,—ËíììöìÙóøñãèèèñãÇ+•JÇ322âââˆÑ4Ë‘‘‘t:}åÊ•gÏžÕÜqkjjØl6¹8wîÜÜÜ\Í@b±ØÞÞþÆr¹\gz†YZZFGG777ïÚµËÇLJÊÍÍmÏž=MMM?üðøqã*++Þ,zïO#åéòåË“'OÖù‘R©,))!ÊuuuL&S$izܼyÇñŠŠ ²#±}Ž{ïÞ½Ù³g#âíí-‰ðþ=‘pŸ6mZQQQéݾ}{Ö¬YD¥T*=zô¨J¥zúô©†aDý‡~xðàÁÓ{åæ½I“&µ¶¶ÖÔÔhVæå奧§3™ÌŠŠŠeË–M›6mýúõ}ûÒh´Å‹~ýõ×ùóç“õ‹-ÊÍÍí/"Žã†¹¹¹8qB(VUU)ŠO?ýt€$É@šèL/''gÁ‚DÙÔÔ4""‚Á`ܸq£½½ÝÁÁÃáp8œ‚‚bV FÊÓüùóMMM‰éžÇñÀÀÀöööŸþyçÎáááuuuwîÜ111Ñê‹ È˜1cÎÎεµµd}mm­““Ssrrx<¹Èãñ:”ŸŸ¯P(4›¡(úäÉ­@šèLËå>~ü˜lÃçó¥R©““ÇkÔà믿Üæ2#åÉÄÄ$"""..N(^¼x×ÖÖ¶víZ™L6sæÌ%K–Ðéô´´´îînµZ­s//¯ÆÆÆ‚‚€P(,**"Î5JKKsrrˆ6dÙÝݽµµ5>>ž¨Ç0,%%ÅÅÅÅÈÈÈÜܼ««ëéÓ§€ôôt‰D2@æ:Ó{ÿý÷‹‹‹‰««7n8pÀÌÌì­·ÞzöìŸÏtwwÏš5‹XÙA¹rçåJ¥’˜f̘annîé陞žŽãø‹/¸\®«««§§ghh(Çsww×<>Ñétr‹/r¹\ggç©S§’ç ÁÁÁîîî}ËÙÙÙ––––––®®®l6{îܹµµµÄGëÖ­c³Ù .$æO­@äñIgz8Ž'$$ØÛÛ»¸¸ØØØ¤¦¦½ø|þìÙ³œœ&OžþÛä•; éíí-**zöì™V}EEEOOŽãb±8??Ã0'‡8Ž«ÕêòòrEN©TÞ¹s'77÷áÇZÕ××~­ôˆJEKJJúŽPVVÖÛÛ;˜aõö„àCÿåÊÏÏpíÚµaß¹ žk×®ùûûë±Í_ÕÛ$¿=Qè‰@OÔz¢Ð5€ž¨ôD ÐÓåËEz\H¾âèù¿åßÿ}éҥÛÊp!ÍHHˆ11y1Ú‰è@,ë×QOúûèî£TŽQ(,­­»G;L˜0aæÌ™ztÔçþÞ«Ìþý鉉¿³Ù¬ÊÊ/i4d´Ó6 êø„¢j>¿ÐÑÑ[X(ít†ƒò”Ÿ_×ÕõÀdÒÓÒÊG;áÄ <¥§—2™4€J…ef–+•èhg4lŽ'¹\••U©RaÄ¢L¦øí·š»PÃñ”›[-—ÿµÑé´´´ÒQÌgx1Oii¥šÿGQõ͛ս½ŠºPñÔÝýB ¨Á0L³E±œœªÑJix1OÙÙ¾.£ÑÔÔ’QÉgØ1O|~ ‚h_Õ¢¨:?¿®½½wTR^ ÁS[[Ï;õ¦óÏšHVVå¿Ð`ž²²*úùC-À0<=ÝÎú ÁSFFýÝ¥ÄKJÅâWñžì0´û°këÓ§7úø¼>Ú‰ '†°?ý€ž¨ôD  'j=Qè‰@OÔz¢Ð5€ž¨ôD  'j=Qè‰@OÔz¢Ð5€ž¨ôD  'j=Qè‰@OÔz¢Ð5€ž¨ôD  'j=Qè‰@OÔz¢Ð5€ž¨ôD4_Š2Ú¹ L¦%f4ÚY )))¤íçŽúúúðÎ2È¿FTT”梶''''OOÏ/H?hy‚Ç'j=Qè‰@OÔz¢úxBQT ÄÇÇ_¹r¥¹¹y€–===W¯^Õ7·¿Àq¼   11ñܹsÕÕÕ䥞L&KNNÖ#PGGGfffBBBYYŠá±Ì‰$##£±±q(éCöÔÑÑtíÚ5ccãúúú­[·ÆÅÅõ×X*•fee½\†@"‘lß¾=!!A.—+•Ê#GŽøùùõôôãŸ?^+бcÇ~·@ øä“OD"‘¹¹ùåË—ýüüärù “‰ÍÌÌìûLÆ‘fÈï×øöÛoÙlvtt4N466úúúZYYõm>Þ××÷Ô©SäÛÖ¯^½£Unkk+((ðññ!$ìÙ³‡ËåjÞè"EEEI$’¨¨(¡PXZZ Á‘#G(ŠþñÇdþ€ðððéÓ§Z[[CBBÈú¨¨¨ššÍ̃‚‚ÄbñáÇïÞ½«s}ÕÕÕ|ðALL ñ¦r@sssXXØŠ+‚ƒƒ ‡´Í †æ©¦¦0oÞ<ÍÊwß}—Çãá8~êÔ© $''ûùùÅÅÅ) …BQ^^P©TUUUAAAÖÖÖ»víb2™ß|ó……ŶmÛˆ#„—Ë%Æ$Ë÷ïß§ÓéóçÏ׌Èf³½½½5'2PXXØøñãÜœœx<^TTTTTTdd¤L&³µµ0ŒU«V:tè³Ï>ËÊÊjii±±±!Þ!£T*È1›ššd2™fæ111;wîtuuÕ¹¾8ŽïÛ·ïí·ßNLL7nÜ™3gˆ¡<8sæÌ¤¤¤eË–EGGkF$C›÷d2Ù„ Æ×÷# ÃöíÛ7cÆ €ƒƒƒL&koo×üÚ*Š5kÖ¸¹¹Õ×׫ÕêÍ›7Ö®]{ëÖ­ÊÊÊyóæiÊ Ë …ÂÎÎÎÌÌŒX +++#Êß}÷………V, A‹Å`0 † àË/¿trrZ³f Ñ& `Ñ¢E --íøñãnnnÁÁÁDK™133c2™(Šö]_‰D2~üøµk×QÒÓÓ1 ëèèèìì @dùòåEEE………CØîCõ4a„çÏŸ?yòDs‚®¬¬ìîî^´hÑ£GÎ;×ÜÜlnnÞ·/‚ ¯¿þ: ´´ÔÙÙ™¬Ÿ3gNII‰Ö>JbeeÕÖÖ¦V«‰gÈGGG£(ŠaØúõë™óÅ‹[ZZbcc‰Eâö3—Ë%ö×ÆÆÆØØØ£G’ È\ƒÑw}‹‹‹ÉU322úøã‰Ê®®®Õ«Wõ …‚Íf2y’¡Í{<ÏÈȈ˜ p?~üxWWWaaa\\œ¿¿ÿ?þ?fÌ­¾‚0 €½½=9qššš8NÕjõíÛ·‰Eccc‹% ‰ó½$//ïúõë$ó¹wïÞ¦M›È'  ªªJ¥RivÄ0Œ|÷™¹&:××ÎÎNóT3//O.—s8{{û« &yM†æ‰øŽ¤¦¦3¬B¡HKK“H$K—.•ËåvvvóæÍ£Ñhùùù2™¬¿´\\\Z[[«ªª ÕÕÕÄ,WWWwïÞ=¢ Yf±Xëׯ%Úã8^ZZzñâžN"´H$:qâÄW_}¥ùý5kÖóçÏ322ˆEµZ}ëÖ-GGG&“Éb±¤Ri[[ ??¿·w Ÿë\_‡WWÅÅÅIIIÆÆÆ<¯½½=// “É6nÜ8âÇ'Àºuë Å–-[¬¬¬$‰££ãîÝ»ŒŒ.\xþüù-[¶˜™™MŸ>Ãá:tèóÏ?×’Á>vìƒÁÉdcÇŽܼyóÁƒo¼ñ†VÙßßjnnŽ ˆJ¥Ú½{÷/¿üÒ_†VVV'Ož ÎÎÎîííݵkQÏb±~úé§±cÇîß¿ÿðáÃçÏŸ·°°‹Å_|ñ`âĉï¼óÎæÍ›§L™B§ÓçÌ™3Àvй¾ñññ‘‘‘,«³³“¸r@dÇŽ.\HJJêééYºt©¯¾ûÛó–9pàÀ`~’Ëå “&MÒšjëëë­­­MLL$ISS“³³sOOÎóÇëëë4_^2 …¢¡¡ÁØØ˜Ãá ‚¢(N'Oùp'Éd²ÚÚÚéÓ§³X¬þFCQT$Éd2KKKâ<¤¥¥E*•21­õ={6@­V?zôÈÑÑQk‘Hdkk«y1^^^)))~~~Ä¢žž #–'x–@OÔz¢Ð5€ž¨ôD  'j=Qè‰hßß»téÒõë×G%ÈüÍ“¯¯ïhåÑÂÁÁAóÆ£¾÷Î Ç'j=Qè‰@OÔz¢ÿÊ£žì•? ÝIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1PsSurface.html0000644000175000017500000000005011561716354025322 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1PsSurface.html0000644000175000017500000007525111561716354025550 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::PsSurface Class Reference

Cairo::PsSurface Class Reference

A PsSurface provides a way to render PostScript documents from cairo. More...

Inheritance diagram for Cairo::PsSurface:

List of all members.

Public Member Functions

 PsSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~PsSurface ()
void set_size (double width_in_points, double height_in_points)
 Changes the size of a PostScript surface for the current (and subsequent) pages.
void dsc_comment (std::string comment)
 Emit a comment into the PostScript output for the given surface.
void dsc_begin_setup ()
 This function indicates that subsequent calls to dsc_comment() should direct comments to the Setup section of the PostScript output.
void dsc_begin_page_setup ()
 This function indicates that subsequent calls to dsc_comment() should direct comments to the PageSetup section of the PostScript output.
void set_eps (bool eps)
 If eps is true, the PostScript surface will output Encapsulated PostScript.
bool get_eps () const
 Check whether the PostScript surface will output Encapsulated PostScript.
void restrict_to_level (PsLevel level)
 Restricts the generated PostSript file to .

Static Public Member Functions

static RefPtr< PsSurfacecreate (std::string filename, double width_in_points, double height_in_points)
 Creates a PsSurface with a specified dimensions that will be saved as the given filename.
static RefPtr< PsSurfacecreate_for_stream (const SlotWriteFunc& write_func, double width_in_points, double height_in_points)
 Creates a PsSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.
static RefPtr< PsSurfacecreate (cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)
static const std::vector< PsLevelget_levels ()
 Used to retrieve the list of supported levels.
static std::string level_to_string (PsLevel level)
 Get the string representation of the given level id.

Detailed Description

A PsSurface provides a way to render PostScript documents from cairo.

This surface is not rendered to the screen but instead renders the drawing to a PostScript file on disk.

Note:
For this Surface to be available, cairo must have been compiled with PostScript support

Constructor & Destructor Documentation

Cairo::PsSurface::PsSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::PsSurface::~PsSurface ( ) [virtual]

Member Function Documentation

static RefPtr<PsSurface> Cairo::PsSurface::create ( std::string  filename,
double  width_in_points,
double  height_in_points 
) [static]

Creates a PsSurface with a specified dimensions that will be saved as the given filename.

Parameters:
filenameThe name of the PostScript file to save the surface to
width_in_pointsThe width of the PostScript document in points
height_in_pointsThe height of the PostScript document in points
Examples:
ps-surface.cc.
static RefPtr<PsSurface> Cairo::PsSurface::create ( cairo_write_func_t  write_func,
void *  closure,
double  width_in_points,
double  height_in_points 
) [static]
static RefPtr<PsSurface> Cairo::PsSurface::create_for_stream ( const SlotWriteFunc write_func,
double  width_in_points,
double  height_in_points 
) [static]

Creates a PsSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.

Parameters:
write_funcThe function to be called when the backend needs to write data to an output stream
width_in_pointsThe width of the PostScript document in points
height_in_pointsThe height of the PostScript document in points
Since:
1.8
void Cairo::PsSurface::dsc_begin_page_setup ( )

This function indicates that subsequent calls to dsc_comment() should direct comments to the PageSetup section of the PostScript output.

This function call is only needed for the first page of a surface. It should be called after any call to dsc_begin_setup() and before any drawing is performed to the surface.

void Cairo::PsSurface::dsc_begin_setup ( )

This function indicates that subsequent calls to dsc_comment() should direct comments to the Setup section of the PostScript output.

This function should be called at most once per surface, and must be called before any call to dsc_begin_page_setup() and before any drawing is performed to the surface.

void Cairo::PsSurface::dsc_comment ( std::string  comment)

Emit a comment into the PostScript output for the given surface.

See the cairo reference documentation for more information.

Parameters:
commenta comment string to be emitted into the PostScript output
bool Cairo::PsSurface::get_eps ( ) const

Check whether the PostScript surface will output Encapsulated PostScript.

Since:
1.8
static const std::vector<PsLevel> Cairo::PsSurface::get_levels ( ) [static]

Used to retrieve the list of supported levels.

See restrict_to_level().

Since:
1.6
static std::string Cairo::PsSurface::level_to_string ( PsLevel  level) [static]

Get the string representation of the given level id.

This function will return an empty string if level id isn't valid. See get_levels() for a way to get the list of valid level ids.

Returns:
the string associated to given level.
Parameters:
levela level id
Since:
1.6
void Cairo::PsSurface::restrict_to_level ( PsLevel  level)

Restricts the generated PostSript file to .

See get_levels() for a list of available level values that can be used here.

This function should only be called before any drawing operations have been performed on the given surface. The simplest way to do this is to call this function immediately after creating the surface.

Parameters:
levelPostScript level
Since:
1.6
void Cairo::PsSurface::set_eps ( bool  eps)

If eps is true, the PostScript surface will output Encapsulated PostScript.

This function should only be called before any drawing operations have been performed on the current page. The simplest way to do this is to call this function immediately after creating the surface. An Encapsulated Postscript file should never contain more than one page.

Since:
1.6
void Cairo::PsSurface::set_size ( double  width_in_points,
double  height_in_points 
)

Changes the size of a PostScript surface for the current (and subsequent) pages.

This function should only be called before any drawing operations have been performed on the current page. The simplest way to do this is to call this function immediately after creating the surface or immediately after completing a page with either Context::show_page() or Context::copy_page().

Parameters:
width_in_pointsnew surface width, in points (1 point == 1/72.0 inch)
height_in_pointsnew surface height, in points (1 point == 1/72.0 inch)

The documentation for this class was generated from the following file:
  • cairomm/surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/toy-text_8cc-example.html0000644000175000017500000000005011561716354024746 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/toy-text_8cc-example.html0000644000175000017500000001075711561716354025174 0ustar00murraycmurrayc00000000000000 cairomm: toy-text.cc

toy-text.cc

A relatively simple example of using Cairo::ToyFontFace

#include <cairomm/cairomm.h>

const double HEIGHT = 200.0;
const double WIDTH = 400.0;
const double FONT_SIZE = 64.0;
const double TEXT_ORIGIN_Y = (HEIGHT / 2.0) + (FONT_SIZE / 2.0);
const double TEXT_ORIGIN_X = 50.0; // arbitrary

int main(int, char**)
{
  Cairo::RefPtr<Cairo::ImageSurface> surface =
    Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, WIDTH, HEIGHT);
  Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);
  // fill background in white
  cr->set_source_rgb(1.0, 1.0, 1.0);
  cr->paint();

  // draw a little dot at the point where text will be drawn
  cr->arc(TEXT_ORIGIN_X, TEXT_ORIGIN_Y, FONT_SIZE / 4.0, 0, 2*M_PI);
  cr->set_source_rgba(0.0, 1.0, 0.0, 0.5);
  cr->fill();

  // draw the text
  cr->move_to(TEXT_ORIGIN_X, TEXT_ORIGIN_Y);
  cr->set_source_rgb(0.8, 0.2, 0.2);
  Cairo::RefPtr<Cairo::ToyFontFace> font =
    Cairo::ToyFontFace::create("Bitstream Charter",
                               Cairo::FONT_SLANT_ITALIC,
                               Cairo::FONT_WEIGHT_BOLD);
  cr->set_font_face(font);
  cr->set_font_size(FONT_SIZE);
  cr->show_text("cairomm!");
  surface->write_to_png("toy-text.png");
  return 0;
}
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1RefPtr.html0000644000175000017500000000005011561716354024631 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1RefPtr.html0000644000175000017500000007606511561716354025063 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::RefPtr< T_CppObject > Class Template Reference

Cairo::RefPtr< T_CppObject > Class Template Reference

RefPtr<> is a reference-counting shared smartpointer. More...

Inheritance diagram for Cairo::RefPtr< T_CppObject >:

List of all members.

Public Member Functions

 RefPtr ()
 Default constructor.
 ~RefPtr ()
 Destructor - decrements reference count.
 RefPtr (T_CppObject* pCppObject)
 For use only in the internal implementation of cairomm, gtkmm, etc.
 RefPtr (T_CppObject* pCppObject, int* refcount)
 For use only in the internal implementation of sharedptr.
 RefPtr (const RefPtr< T_CppObject >& src)
 Copy constructor.
template<class T_CastFrom >
 RefPtr (const RefPtr< T_CastFrom >& src)
 Copy constructor (from different, but castable type).
void swap (RefPtr< T_CppObject >& other)
 Swap the contents of two RefPtr<>.
RefPtr< T_CppObject >& operator= (const RefPtr< T_CppObject >& src)
 Copy from another RefPtr:
template<class T_CastFrom >
RefPtr< T_CppObject >& operator= (const RefPtr< T_CastFrom >& src)
 Copy from different, but castable type).
bool operator== (const RefPtr< T_CppObject >& src) const
 Tests whether the RefPtr<> point to the same underlying instance.
bool operator!= (const RefPtr< T_CppObject >& src) const
 See operator==().
T_CppObject* operator-> () const
 Dereferencing.
 operator bool () const
 Test whether the RefPtr<> points to any underlying instance.
void clear ()
 Set underlying instance to 0, decrementing reference count of existing instance appropriately.

Static Public Member Functions

template<class T_CastFrom >
static RefPtr< T_CppObject > cast_dynamic (const RefPtr< T_CastFrom >& src)
 Dynamic cast to derived class.
template<class T_CastFrom >
static RefPtr< T_CppObject > cast_static (const RefPtr< T_CastFrom >& src)
 Static cast to derived class.
template<class T_CastFrom >
static RefPtr< T_CppObject > cast_const (const RefPtr< T_CastFrom >& src)
 Cast to non-const.

Detailed Description

template<class T_CppObject>
class Cairo::RefPtr< T_CppObject >

RefPtr<> is a reference-counting shared smartpointer.

Reference counting means that a shared reference count is incremented each time a RefPtr is copied, and decremented each time a RefPtr is destroyed, for instance when it leaves its scope. When the reference count reaches zero, the contained object is deleted

cairomm uses RefPtr so that you don't need to remember to delete the object explicitly, or know when a method expects you to delete the object that it returns, and to prevent any need to manually reference and unreference() cairo objects.

Examples:

image-surface.cc, pdf-surface.cc, ps-surface.cc, svg-surface.cc, toy-text.cc, and user-font.cc.


Constructor & Destructor Documentation

template <class T_CppObject>
Cairo::RefPtr< T_CppObject >::RefPtr ( ) [inline]

Default constructor.

Afterwards it will be null and use of -> will cause a segmentation fault.

template <class T_CppObject>
Cairo::RefPtr< T_CppObject >::~RefPtr ( ) [inline]

Destructor - decrements reference count.

template <class T_CppObject>
Cairo::RefPtr< T_CppObject >::RefPtr ( T_CppObject *  pCppObject) [inline, explicit]

For use only in the internal implementation of cairomm, gtkmm, etc.

This takes ownership of pCppObject, so it will be deleted when the last RefPtr is deleted, for instance when it goes out of scope.

This assumes that pCppObject already has a starting reference for its underlying cairo object, so that destruction of will cause a corresponding unreference of its underlying cairo object. For instance, a cairo_*_create() function usually provides a starting reference, but a cairo_*_get_*() function requires the caller to manually reference the returned object. In this case, you should call reference() on pCppObject before passing it to this constructor.

template <class T_CppObject>
Cairo::RefPtr< T_CppObject >::RefPtr ( T_CppObject *  pCppObject,
int *  refcount 
) [inline, explicit]

For use only in the internal implementation of sharedptr.

template <class T_CppObject>
Cairo::RefPtr< T_CppObject >::RefPtr ( const RefPtr< T_CppObject >&  src) [inline]

Copy constructor.

This increments the shared reference count.

template <class T_CppObject>
template <class T_CastFrom >
Cairo::RefPtr< T_CppObject >::RefPtr ( const RefPtr< T_CastFrom >&  src) [inline]

Copy constructor (from different, but castable type).

Increments the reference count.


Member Function Documentation

template <class T_CppObject>
template <class T_CastFrom >
static RefPtr<T_CppObject> Cairo::RefPtr< T_CppObject >::cast_const ( const RefPtr< T_CastFrom >&  src) [inline, static]

Cast to non-const.

The RefPtr can't be cast with the usual notation so instead you can use

 ptr_unconst = RefPtr<UnConstType>::cast_const(ptr_const);
template <class T_CppObject>
template <class T_CastFrom >
static RefPtr<T_CppObject> Cairo::RefPtr< T_CppObject >::cast_dynamic ( const RefPtr< T_CastFrom >&  src) [inline, static]

Dynamic cast to derived class.

The RefPtr can't be cast with the usual notation so instead you can use

 ptr_derived = RefPtr<Derived>::cast_dynamic(ptr_base);
template <class T_CppObject>
template <class T_CastFrom >
static RefPtr<T_CppObject> Cairo::RefPtr< T_CppObject >::cast_static ( const RefPtr< T_CastFrom >&  src) [inline, static]

Static cast to derived class.

Like the dynamic cast; the notation is

 ptr_derived = RefPtr<Derived>::cast_static(ptr_base);
template <class T_CppObject>
void Cairo::RefPtr< T_CppObject >::clear ( ) [inline]

Set underlying instance to 0, decrementing reference count of existing instance appropriately.

template <class T_CppObject>
Cairo::RefPtr< T_CppObject >::operator bool ( ) const [inline]

Test whether the RefPtr<> points to any underlying instance.

Mimics usage of ordinary pointers:

 if (ptr)
     do_something();
template <class T_CppObject>
bool Cairo::RefPtr< T_CppObject >::operator!= ( const RefPtr< T_CppObject >&  src) const [inline]
template <class T_CppObject>
T_CppObject* Cairo::RefPtr< T_CppObject >::operator-> ( ) const [inline]

Dereferencing.

Use the methods of the underlying instance like so: refptr->memberfun().

template <class T_CppObject>
RefPtr<T_CppObject>& Cairo::RefPtr< T_CppObject >::operator= ( const RefPtr< T_CppObject >&  src) [inline]

Copy from another RefPtr:

template <class T_CppObject>
template <class T_CastFrom >
RefPtr<T_CppObject>& Cairo::RefPtr< T_CppObject >::operator= ( const RefPtr< T_CastFrom >&  src) [inline]

Copy from different, but castable type).

Increments the reference count.

template <class T_CppObject>
bool Cairo::RefPtr< T_CppObject >::operator== ( const RefPtr< T_CppObject >&  src) const [inline]

Tests whether the RefPtr<> point to the same underlying instance.

template <class T_CppObject>
void Cairo::RefPtr< T_CppObject >::swap ( RefPtr< T_CppObject >&  other) [inline]

Swap the contents of two RefPtr<>.

This method swaps the internal pointers to T_CppObject. This can be done safely without involving a reference/unreference cycle and is therefore highly efficient.


The documentation for this class was generated from the following file:
  • cairomm/refptr.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x76.html0000644000175000017500000000005011561716354024572 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x76.html0000644000175000017500000000742411561716354025015 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- v -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1PdfSurface-members.html0000644000175000017500000000005011561716354027101 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1PdfSurface-members.html0000644000175000017500000003041711561716354027322 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::PdfSurface Member List

This is the complete list of members for Cairo::PdfSurface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(std::string filename, double width_in_points, double height_in_points)Cairo::PdfSurface [static]
create(cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)Cairo::PdfSurface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points)Cairo::PdfSurface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
get_versions()Cairo::PdfSurface [static]
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
PdfSurface(cairo_surface_t* cobject, bool has_reference=false)Cairo::PdfSurface [explicit]
restrict_to_version(PdfVersion version)Cairo::PdfSurface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
set_size(double width_in_points, double height_in_points)Cairo::PdfSurface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
version_to_string(PdfVersion version)Cairo::PdfSurface [static]
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~PdfSurface()Cairo::PdfSurface [virtual]
~Surface()Cairo::Surface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1logic__error.html0000644000175000017500000000005011561716354026074 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1logic__error.html0000644000175000017500000001300411561716354026306 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::logic_error Class Reference

Cairo::logic_error Class Reference

Inheritance diagram for Cairo::logic_error:

List of all members.

Public Member Functions

 logic_error (ErrorStatus status)
virtual ~logic_error () throw ()
ErrorStatus get_status_code () const

Constructor & Destructor Documentation

Cairo::logic_error::logic_error ( ErrorStatus  status) [explicit]
virtual Cairo::logic_error::~logic_error ( ) throw () [virtual]

Member Function Documentation

ErrorStatus Cairo::logic_error::get_status_code ( ) const

The documentation for this class was generated from the following file:
  • cairomm/exception.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/deprecated.html0000644000175000017500000000005011561716354023063 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/deprecated.html0000644000175000017500000001400111561716354023273 0ustar00murraycmurrayc00000000000000 cairomm: Deprecated List

Deprecated List

Member Cairo::Context::device_to_user (double& x, double& y)
Use the const version.

Member Cairo::Context::device_to_user_distance (double& dx, double& dy)
Use the const version.

Member Cairo::Context::set_dash (std::valarray< double >& dashes, double offset)
Instead use the version that takes a const dashes parameter.

Member Cairo::Context::set_dash (std::vector< double >& dashes, double offset)
Instead use the version that takes a const dashes parameter.

Member Cairo::Context::user_to_device (double& x, double& y)
Use the const version.

Member Cairo::Context::user_to_device_distance (double& dx, double& dy)
Use the const version.

Member Cairo::FONT_TYPE_ATSUI
Use FONT_TYPE_QUARTZ instead.

Member Cairo::ImageSurface::create_from_png (cairo_read_func_t read_func, void* closure)
Use create_from_png_stream instead

Member Cairo::PdfSurface::create (cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)
use PdfSurface::create_for_stream() instead

Member Cairo::PsSurface::create (cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)
use PsSurface::create_for_stream() instead

Member Cairo::ScaledFont::extents (FontExtents& extents) const
Use get_extents() instead

Member Cairo::ScaledFont::glyph_extents (const std::vector< Glyph >& glyphs, TextExtents& extents)
Use get_glyph_extents() instead

Member Cairo::ScaledFont::text_extents (const std::string& utf8, TextExtents& extents) const
Use get_text_extents() instead

Member Cairo::Surface::write_to_png (cairo_write_func_t write_func, void* closure)
Use write_to_png_stream instead

Member Cairo::SvgSurface::create (cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)
Use SvgSurface::create_for_stream() instead

Member Cairo::Win32Surface::create (Format format, int width, int height)
use create_with_dib()
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32PrintingSurface__inherit__gra0000644000175000017500000000005011561716354031263 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32PrintingSurface__inherit__graph.png0000644000175000017500000001203511561716354032613 0ustar00murraycmurrayc00000000000000‰PNG  IHDRÃ{F„£åbKGDÿÿÿ ½§“ÒIDATxœíyTSGßÇ',"‹,FEvY#h7D…"Ç­¶ ÖE-. ‚µ.ϱX°YjÝ¥BõAiª4€lBLXk²$A!Ë}ÿ¸}Ò4„zk’çÏ_÷Nfæ÷½s¿wfîä&‡ €@>5E €üÁè$6@'A°: ‚ Š8NÑT‰”™™©hÊá$@TTÔܹs­Bõ8s挢%ü‰²8ÉÇLJD")Z…êqçÎEKø8O‚`t “ ØÁè$6¨’“ø|þ­[·¢££¿ÿþû¦¦&99ûúú>>â›7oRSScbbÈd2ŸÏ{Á·oß&''×ÕÕ}¼UAeœÄ`0¼¼¼NŸ>­££SSSããã³{÷îÑ2³Ùì‹/~dÄ[·n¹¹¹UVVÇÇÇ[XX Œ±ìÎ;ÓÒÒÔÔT¦y1QòóH¤   >Ÿî¾|ùrâĉt:ýŸSåîî~åÊñ®ŸŸ_JJÊËΘ1ãéÓ§ÿŒ®¿A"‘H$Ò'ô^Tã¢éêêÊÎÎ ÑÐøs)•@ \¼x‘Á`ÈdòŠ+&Ož<þü›7o:;;W®\‰ ÌÊÊš6mZ}}=Nß»wïôéÓwìØQ__VuêÔ©Í›7Kmóù|*•*HOO'‰€–––Å‹‹Ó×®]ûüùsÉ@ÞÞÞmmm[¶l¹ÿ¾Ly€’’OOÏ)S¦lÞ¼ùÕ«Wh"•Jõ÷÷744\´hQ~~þ?מÿж2‚Œ¡OÊÏÏWSSëîîù‘H$rttLMMíëëËÊÊÂãñÍÍͺºº‚´··ëèè,^¼øæÍ›CCC–––hnnŽ‹‹300FäîÝ»IIIhm’Û‡RWW_¹rezzºdç×ÐЀÇãÅ»³fÍ*,,” ÔÙÙiccSPP044$SžP(411‰‹‹ëèèØ³gϪU«Ðª<==8ÐÞÞþóÏ?ëëëWWW¿·é”§OR 'ݸqÃÌÌLæGÃÃÃåååèvSS“¦¦&•J•tàáÇ‚TUU™››‹ ¢/¬¬¬,**ÊÕÕ‡ÃR©Tdt'‰!bggWZZ:š¼§OŸ:;;£‰ |>¿­­ÍÒÒR(¢é_|ñÅñãÇåËC”ÉIª1º™šš2™Ì††ÉÄ¢¢¢ÜÜ\MMͪªªeË–ÙÙÙmÚ´idY55µE‹~ûí·yóæ‰Ó.\XXX8ZDA„B¡§§ç™3gjjjjkky<Þ7ß|#G¤8$2å=xð`þüùè¶ŽŽÎ¾}û444 º»»mmm­­­­­­Ÿxð€@ ˆw ‰'Š‹‹y<žd6@ÐÚÚ*H™ò›››Åy²²²\\\B‹?üðÃØšG)P 'ikkïÛ·/))©¦¦088˜””ÔÕÕµaÃ.—ëäääïﯮ®ž““ÃápD"‘ÌJ/^ÜÒÒòäÉ@MMMii):+¯¨¨xðàšG¼íííÍd2“““Ñt¡P˜‘‘A$µ´´ Ùlv[[ 77—ÅbÉQ.SÞòåË) ºÚTPPpìØ1]]ݹsç¾yó&++ ÀápœÑƒU=¼"ÈØV†‡‡ÑQÀÁÁÁÐÐÐÏÏ/77AÁÁAGGGwww??¿½{÷oooÉy’ººº¸’«W¯:::Μ9ÓÊÊJ<³ŽŒŒôöö¹}ÿþ}www<?kÖ¬ÆÆFô£7âñxŸ  £¤T ñ_øë¯ÕCCãøA÷ÿ7 “F%'§B]]]¼;4$øí·zêQr “dÃá =|øR ŠSÔÕÕrrà7*ÐI²yøð¥Pø·›5@H&×s8ƒŠ’¤ä@'É&;»|ä; …¢ÿü§V!z”è$tw¿{ò¤IªO€ËÊ*W€ U:I¿þZ €Œ?›‰D¥¥¯»ºú?½$å:I¹¹åB¡ì/‘D"pï^õ'Ö£@'IÓÙÉ®¨h`´¯#‘¼¼ÊO*HE€ß྇¼¼ªo¿½òæÍYE Qv`ŸÁè$6@'A°: ‚ ÐIl€N‚`t “ ØÁè$6@'A°: ‚ ÐIl€N‚`t “ ØÁè$6@'A°: ‚ ÐIl€N‚`t “ ØÁè$6@'A°: ‚ ÐIl€N‚`t “ ØÁè$6@'A0‘@ÑZ”55-MME«PFH$’¤y¤ß^J"‘\\\¢ ¢BܹsG*EÚI...~~~ŸHDe)**’Jó$6@'A°: ‚ ÐIl€N‚`Ç8I Éääää[·nuttÈÉÙßßûöíÕÅÅÅ?ïVVVæääˆw[[[oܸÁf³Ç…Á`Œ\3ëêê‰þzÛ½{÷®ý—G ¬gìõÁ‡ßÓÓ“ŸŸáÂ…/^‚±d±XwïÞmiiù€ ɸÔÓÓž™™9qâD¶cÇŽ¤¤¤Ñ2 Ü»wïcôµ··§¥¥‰w¯]»vþüùžžt÷÷ß'“Ƀƒƒò£äåå­_¿>**jݺuyyyhâÓ§O¿ýöÛ]»v§§§£‰¹¹¹oß¾}ûömffæš5kJJJÆ{P§Nb0cÉ)2™J¥R oܸ,ÓÐ2ILLÌÏÏù¶ÌO€ôzÒ{ùñÇñx|\\úÞê–––íÛ·“H¤©S§ŽÌlffvíÚµÑçîîžžžÞÓÓƒÇãy<^]]••…B ÔÕÕ‰DùQAzzzBB‚³³smmíÁƒµ´´RRRÖ¯_ÔÕÕµuëÖùóç£K²Ë—/G˦¤¤äååÍ›7o\E¡PÖ¬YóÁ‡Ÿ‘‘±sçÎÏ>û °nݺ¨¨¨Â•+WŽ¥,•J=xð ••Õxƒ~<ãë“X,VQQQ`` øõçÖÖÖû÷ïïíí¼xñâàÁƒ«V­Úµk™Lôõõ:t-¸oß¾¢¢¢¯¾úªµµ•Á`$''“H¤sçε¶¶¢Uݾ};>>^jÛÁÁAWW÷åË—€ªª*++«¥K—R(‚ ³gÏGáp8ÑÑÑ%%%¡¡¡k×®½té€N§{yy9;;œE"Ñëׯétz?z¶LLLæÍ›7r© `gg×ÔÔ$¥¿²²RN¸ØØX‹S#_Úb¡¡¡«W¯NJJJKK{þü¹@ øã?$ß.coo`2™QQQâôØØØ††Iaááá'Ož|þü¹ÌÓ¨««Û¾}ûêÕ«ãããÛÚÚÐÄŽŽŽèèè+VDFFŽìƒÇÈøœÔÐÐðððL\ºt)@@äܹsóçÏ¿yófpppRRÇãñx•••>Ÿ_[[{÷îÝðððiÓ¦íÙ³GSSóüùóÆÆÆ;wîD§–––ŽŽŽhâm55µY³f¡N*++óðððòòª¨¨‰DÍÍ̓ƒƒ³gÏG555'Ož<~üø­[·Z[[Ž9"JJJÍÌÌlmmùåô„õ÷÷WWWÏœ9 =88Èf³ÙlvEEEFFÆ’%K¤ôO™2EN¸èèhƒèèhùÂÁÑ£GRRRx<^ff&‡ÃÑÐÐX³f͉'¾ûî»{÷î1 sss'''Àðð0N7{{{;—Ë•olláîî.ót røða__ß‹/êë맦¦¢U?~ÜÉÉéÒ¥KË–-‹‹‹“Œ2vÆ7ºq¹\###}}ý‘ …ÂÇ;88lmm¹\nww·äµÅãñÖ¯_ïééI£ÑD"ÑÖ­[6lxôèQuuµ‡‡‡ä "¹M$ÑKª¼¼<""ÂÁÁA]]½¡¡F£ÙÙÙMš4i``@œY ¬]»ÖÄÄÄÄÄÄÉÉ©¥¥íêÙlöåË—i4Zhh¨†Æ_G]YYyæÌ///qÄäää . üýý¿þúk)ýL&S~8§§§'EfÎîîî©S§®[·°sç΂‚4gXXØÂ… ÉdrNNÎéÓ§===###ÍÍÍG;)ba§«««©©)Fž‹e``°aÃ4Jnn®P(ìéééëë ÃápAAA¥¥¥%%%¶¶¶£…ñ9ÉÈȨ···µµUr$®®®æp8 .|ýúõO?ýÔÑÑahh8²,‡›={6 ¢¢BÜÜÜÜÊËË¥ú9IˆDbJJJGG“ÉtuuÅápžžžeee ƒH$ŽÌ/þZMí¯ǧ¥¥q8œM›6YXXøúú"’ššúèÑ£mÛ¶-]ºTœ3::ZŸ/YV(vvvÊ&ótXZZ¢7•(EEECCCÖÖÖ666·%ãI2>'¡FÎÎÎF‡R—““Ãb±†††,--=<<ÔÔÔŠ‹‹¹\îh<‰D&“Y[[  ÓéuuuèÈÒÔÔTVV†æ‘ÜF¯92™|X__ÚEr@$‹ŠŠÐ©ÀÐÐÐÎΠ««û^ÁS§N]±bEHHˆ©©iOOÏ—_~innžÍf³ÑÊçŸ9ÞÖ-âÙ³g### äd322Ú²eKTT”žžž•••¶¶ö¤I“Ž9ròäÉË—/wvvÿë_ÿLž}ºººº›››œÊežŽäääíÛ·:tHOO¯¯¯/""€ÃávïÞ}åÊ•K—.õ÷÷ üñò·wsãp¸cÇŽåù¤¡¡!:njj*5¦Òh´iÓ¦ikk³X¬ööö™3gö÷÷Ëœ¡#B£Ñlmmß;½x/‚ŒE ŸÏ§Ñhööö’7ÿP8.—ÛØØhoo¯««+''‡Ãéëë355mmmµ¶¶^½zubb":=T*•Ë嚘˜XXXH–b0cl7©Óáêê @×Af̘!U•Jµ°°˜8qâX!66ÖØØ833SœòN‚|<'$$dïÞ½æææùùù åúõë YžþF:iÜ£+ôõõccc ›››-,,Ξ=«*6’ t’"qss“?ÝQ!àS%l€N‚`t “ ØÁè$6@'A°AzÛÖÖÖÈÈH‚ *N÷÷÷u›D"}rI•ÄÖÖÖÇÇG2ÿì‚ pžÁè$6@'A°: ‚ ÐIlø?G9¥=IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ScaledFont.html0000644000175000017500000000005011561716354025451 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ScaledFont.html0000644000175000017500000014450211561716354025673 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::ScaledFont Class Reference

A ScaledFont is a font scaled to a particular size and device resolution. More...

Inheritance diagram for Cairo::ScaledFont:

List of all members.

Public Types

typedef cairo_scaled_font_t cobject
 The underlying C cairo object type.

Public Member Functions

cobjectcobj ()
 Provides acces to the underlying C cairo object.
const cobjectcobj () const
 Provides acces to the underlying C cairo object.
 ScaledFont (cobject* cobj, bool has_reference=false)
 Create a C++ wrapper object from the C instance.
virtual ~ScaledFont ()
void get_extents (FontExtents& extents) const
 Gets the metrics for a ScaledFont.
void extents (FontExtents& extents) const
void get_text_extents (const std::string& utf8, TextExtents& extents) const
 Gets the extents for a string of text.
void text_extents (const std::string& utf8, TextExtents& extents) const
void get_glyph_extents (const std::vector< Glyph >& glyphs, TextExtents& extents)
 Gets the extents for an array of glyphs.
void glyph_extents (const std::vector< Glyph >& glyphs, TextExtents& extents)
RefPtr< FontFaceget_font_face () const
 The FontFace with which this ScaledFont was created.
void get_font_options (FontOptions& options) const
 Gets the FontOptions with which the ScaledFont was created.
void get_font_matrix (Matrix& font_matrix) const
 Gets the font matrix with which the ScaledFont was created.
void get_font_matrix (cairo_matrix_t& font_matrix) const
void get_ctm (Matrix& ctm) const
 Gets the CTM with which the ScaledFont was created.
void get_ctm (cairo_matrix_t& ctm) const
FontType get_type () const
 Gets the type of scaled Font.
void text_to_glyphs (double x, double y, const std::string& utf8, std::vector< Glyph >& glyphs, std::vector< TextCluster >& clusters, TextClusterFlags& cluster_flags)
void get_scale_matrix (Matrix& scale_matrix) const
 Stores the scale matrix of this scaled font into matrix.

Static Public Member Functions

static RefPtr< ScaledFontcreate (const RefPtr< FontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())
 Creates a ScaledFont object from a font face and matrices that describe the size of the font and the environment in which it will be used.
static RefPtr< ScaledFontcreate (const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())

Protected Member Functions

 ScaledFont (const RefPtr< FontFace >& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options=FontOptions())

Protected Attributes

cobjectm_cobject
 The underlying C cairo object that is wrapped by this ScaledFont.

Detailed Description

A ScaledFont is a font scaled to a particular size and device resolution.

It is most useful for low-level font usage where a library or application wants to cache a reference to a scaled font to speed up the computation of metrics.


Member Typedef Documentation

typedef cairo_scaled_font_t Cairo::ScaledFont::cobject

The underlying C cairo object type.


Constructor & Destructor Documentation

Cairo::ScaledFont::ScaledFont ( cobject cobj,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper object from the C instance.

This C++ object should then be given to a RefPtr.

virtual Cairo::ScaledFont::~ScaledFont ( ) [virtual]
Cairo::ScaledFont::ScaledFont ( const RefPtr< FontFace >&  font_face,
const cairo_matrix_t font_matrix,
const cairo_matrix_t ctm,
const FontOptions options = FontOptions() 
) [protected]

Member Function Documentation

cobject* Cairo::ScaledFont::cobj ( ) [inline]

Provides acces to the underlying C cairo object.

const cobject* Cairo::ScaledFont::cobj ( ) const [inline]

Provides acces to the underlying C cairo object.

static RefPtr<ScaledFont> Cairo::ScaledFont::create ( const RefPtr< FontFace >&  font_face,
const cairo_matrix_t font_matrix,
const cairo_matrix_t ctm,
const FontOptions options = FontOptions() 
) [static]
static RefPtr<ScaledFont> Cairo::ScaledFont::create ( const RefPtr< FontFace >&  font_face,
const Matrix font_matrix,
const Matrix ctm,
const FontOptions options = FontOptions() 
) [static]

Creates a ScaledFont object from a font face and matrices that describe the size of the font and the environment in which it will be used.

Parameters:
font_faceA font face.
font_matrixfont space to user space transformation matrix for the font. In the simplest case of a N point font, this matrix is just a scale by N, but it can also be used to shear the font or stretch it unequally along the two axes. See Context::set_font_matrix().
ctmuser to device transformation matrix with which the font will be used.
optionsoptions to use when getting metrics for the font and rendering with it.
void Cairo::ScaledFont::extents ( FontExtents extents) const
Deprecated:
Use get_extents() instead
Since:
1.2
void Cairo::ScaledFont::get_ctm ( cairo_matrix_t ctm) const
void Cairo::ScaledFont::get_ctm ( Matrix ctm) const

Gets the CTM with which the ScaledFont was created.

Since:
1.2
void Cairo::ScaledFont::get_extents ( FontExtents extents) const

Gets the metrics for a ScaledFont.

Since:
1.8
RefPtr<FontFace> Cairo::ScaledFont::get_font_face ( ) const

The FontFace with which this ScaledFont was created.

Since:
1.2
void Cairo::ScaledFont::get_font_matrix ( Matrix font_matrix) const

Gets the font matrix with which the ScaledFont was created.

Since:
1.2
void Cairo::ScaledFont::get_font_matrix ( cairo_matrix_t font_matrix) const
void Cairo::ScaledFont::get_font_options ( FontOptions options) const

Gets the FontOptions with which the ScaledFont was created.

Since:
1.2
void Cairo::ScaledFont::get_glyph_extents ( const std::vector< Glyph >&  glyphs,
TextExtents extents 
)

Gets the extents for an array of glyphs.

The extents describe a user-space rectangle that encloses the "inked" portion of the glyphs, (as they would be drawn by Context::show_glyphs() if the cairo graphics state were set to the same font_face, font_matrix, ctm, and font_options as the ScaledFont object). Additionally, the x_advance and y_advance values indicate the amount by which the current point would be advanced by Context::show_glyphs().

Note that whitespace glyphs do not contribute to the size of the rectangle (extents.width and extents.height).

Parameters:
glyphsA vector of glyphs to calculate the extents of.
extentsReturns the extents for the array of glyphs.
Since:
1.8
void Cairo::ScaledFont::get_scale_matrix ( Matrix scale_matrix) const

Stores the scale matrix of this scaled font into matrix.

The scale matrix is product of the font matrix and the ctm associated with the scaled font, and hence is the matrix mapping from font space to device space.

Parameters:
scale_matrixreturn value for the matrix.
Since:
1.8
void Cairo::ScaledFont::get_text_extents ( const std::string utf8,
TextExtents extents 
) const

Gets the extents for a string of text.

The extents describe a user-space rectangle that encloses the "inked" portion of the text drawn at the origin (0,0) (as it would be drawn by Context::show_text() if the cairo graphics state were set to the same font_face, font_matrix, ctm, and font_options as the ScaledFont object). Additionally, the x_advance and y_advance values indicate the amount by which the current point would be advanced by Context::show_text().

Note that whitespace characters do not directly contribute to the size of the rectangle (extents.width and extents.height). They do contribute indirectly by changing the position of non-whitespace characters. In particular, trailing whitespace characters are likely to not affect the size of the rectangle, though they will affect the x_advance and y_advance values.

Parameters:
utf8a string of text, encoded in UTF-8.
extentsReturns the extents of the given string.
Since:
1.8
FontType Cairo::ScaledFont::get_type ( ) const

Gets the type of scaled Font.

Since:
1.2
void Cairo::ScaledFont::glyph_extents ( const std::vector< Glyph >&  glyphs,
TextExtents extents 
)
Deprecated:
Use get_glyph_extents() instead
Since:
1.2
void Cairo::ScaledFont::text_extents ( const std::string utf8,
TextExtents extents 
) const
Deprecated:
Use get_text_extents() instead
Since:
1.2
void Cairo::ScaledFont::text_to_glyphs ( double  x,
double  y,
const std::string utf8,
std::vector< Glyph >&  glyphs,
std::vector< TextCluster >&  clusters,
TextClusterFlags cluster_flags 
)
Parameters:
xX position to place first glyph.
yY position to place first glyph.
utf8a string of text encoded in UTF-8.
glyphspointer to array of glyphs to fill.
clusterspointer to array of cluster mapping information to fill. cluster mapping flags

Converts UTF-8 text to an array of glyphs, with cluster mapping, that can be used to render later.

For details of how (clusters and cluster_flags map input UTF-8 text to the output glyphs see Context::show_text_glyphs().

The output values can be readily passed to Context::show_text_glyphs() Context::show_glyphs(), or related functions, assuming that the exact same scaled font is used for the operation.

Since:
1.8

Member Data Documentation

The underlying C cairo object that is wrapped by this ScaledFont.


The documentation for this class was generated from the following file:
  • cairomm/scaledfont.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FtScaledFont.html0000644000175000017500000000005011561716354025743 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FtScaledFont.html0000644000175000017500000003226711561716354026171 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::FtScaledFont Class Reference
Inheritance diagram for Cairo::FtScaledFont:

List of all members.

Public Member Functions

FT_Face lock_face ()
 Gets the FT_Face object from a FreeType backend font and scales it appropriately for the font.
void unlock_face ()
 Releases a face obtained with lock_face().

Static Public Member Functions

static RefPtr< FtScaledFontcreate (const RefPtr< FtFontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())
 Creates a ScaledFont From a FtFontFace.

Protected Member Functions

 FtScaledFont (const RefPtr< FtFontFace >& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options=FontOptions())

Detailed Description

Since:
1.8

Constructor & Destructor Documentation

Cairo::FtScaledFont::FtScaledFont ( const RefPtr< FtFontFace >&  font_face,
const Matrix font_matrix,
const Matrix ctm,
const FontOptions options = FontOptions() 
) [protected]

Member Function Documentation

static RefPtr<FtScaledFont> Cairo::FtScaledFont::create ( const RefPtr< FtFontFace >&  font_face,
const Matrix font_matrix,
const Matrix ctm,
const FontOptions options = FontOptions() 
) [static]

Creates a ScaledFont From a FtFontFace.

Since:
1.8
FT_Face Cairo::FtScaledFont::lock_face ( )

Gets the FT_Face object from a FreeType backend font and scales it appropriately for the font.

You must release the face with unlock_face() when you are done using it. Since the FT_Face object can be shared between multiple ScaledFont objects, you must not lock any other font objects until you unlock this one. A count is kept of the number of times lock_face() is called. unlock_face() must be called the same number of times.

You must be careful when using this function in a library or in a threaded application, because freetype's design makes it unsafe to call freetype functions simultaneously from multiple threads, (even if using distinct FT_Face objects). Because of this, application code that acquires an FT_Face object with this call must add it's own locking to protect any use of that object, (and which also must protect any other calls into cairo as almost any cairo function might result in a call into the freetype library).

Returns:
The FT_Face object for font, scaled appropriately, or NULL if scaled_font is in an error state or there is insufficient memory.
Since:
1.8
void Cairo::FtScaledFont::unlock_face ( )

Releases a face obtained with lock_face().

Since:
1.8

The documentation for this class was generated from the following file:
  • cairomm/scaledfont.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x65.html0000644000175000017500000000005011561716354023555 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x65.html0000644000175000017500000000737611561716354024006 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- e -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x66.html0000644000175000017500000000005011561716354023556 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x66.html0000644000175000017500000001154411561716354023777 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- f -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x6c.html0000644000175000017500000000005011561716354023633 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x6c.html0000644000175000017500000001045311561716354024052 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- l -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions.html0000644000175000017500000000005011561716354022773 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions.html0000644000175000017500000001060211561716354023206 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- a -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32FontFace__inherit__graph.png0000644000175000017500000000005011561716354030760 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32FontFace__inherit__graph.png0000644000175000017500000001027711561716354031203 0ustar00murraycmurrayc00000000000000‰PNG  IHDR {|T–bKGDÿÿÿ ½§“tIDATxœíkPW€ßäR”‹(HÔp ©FT¤`‘‘ÚB‹´jű(S[ÁŠ8jmg¤v´VK;*Z‹—Ö˘ˆwñ‚˜AC p0 c€’Æ\öû±6%…`¨Ëy~mgß÷Íy²{N6 KÂ0 Ä…<Ü Þ,H0ÁA‚ Lp`‚cn|‰d|„AŒ3‚à›o¾™3g΄Bàìß¿ßø8C#xöìÙqqqC 3T×'ÐLp`‚ƒ$˜à ÁghVѯƒJ¥b2™<ÏÉÉ)&&†J¥öÕS"‘=ztóæÍƤ;räHKKKÏ–°°°ÿB4Sb¢#X,îÛ·ÏÊʪ¬¬löìÙëׯ﫳L&;v옑322rss{ “É!11Q$ U´a38wî\ÿ}ââ⢢¢T*þðÑ£G£G …Ægï –••eL777>Ÿ?TÑʹsç†ÄŽ)Žà––‹•`nþrF ÑhÇŽ‹Å››ýÎ;ï„„„œ>}š››?øà|ÇÈÈH&“9a„ÊÊJ¡P¸qãÆ‰'®[·®²²µwïÞ•+Wêo÷…~¶¶¶ˆˆˆË—/Óétww÷;v@|||KKK|||~~~?Ñô‹‡0nܸ•+W>~üo¬­­ˆˆ°·· ½råÊ`ÆqpÿWÁW®\!“É­­­úÒjµ^^^™™™‰„Éd:::vuu‰D"kkk 쬬ÂÂÂNŸ>ýüùsww÷-[¶ˆD¢ôôt;;»/^`véÒ¥ŒŒ Ï;7((¨°°°¯h‹Ç0ìСCžžž ÃÍÍÅbá™L&N÷õõuqqÙ´iÓ+GõmZdéèìì,((xöìY¯ö’’¹\ŽaXsss~~¾F£1¸äÆ0L«Õòù|µZmLÁ¯D&“ݽ{W"‘ôß­Wñx£Z­æñxú)Š‹‹;;;_§È·R0âõy›.t †$˜à Á &8H0ÁA‚ Lp`‚3²—•5”—7w&…„ý ‰D§Ó‡¤ 7JS“3‰DrvnîB^Msssyy¹ñv†àóà·èWIµµï€··r¸ y5ÞÞÞÆÇ‚#ømááCaL̯pñâúÀ@Êp—c"FÐÌbñ,,Ì,,ÌX¬¢á®ÅtŒÁ*•æâE¾J¥Q©4ÙÙÅ*•f¸+2#Eð½{;;_N½Ê{÷o=&c¤¾p¡ÈÜüå“57'gg”³ôˆÜÕ¥¼q£\­~yZV«57n”wu½kiã‚oß®ÐÙÅQ©4wîTW=¦dDf±xdò¿þ‰Db±xÃU)!¾`‰¤‹Í®V«ÿõXF{ïÞc‰¤k¸ª2Ä|íZ™Áo7c\¿nª/'ÄÌdòH$Wë0 ˜L⟥ .¸¹YÆã‰4‚µZma¡¨¹¹ÃôU™‚ ¾zµT«íób»V‹]»VjÊzLÏú°’’N@ffÂpb:~#`‚ƒ$˜à Á &8H0ÁA‚ Lp`‚ƒ$˜à Á &8H0ÁA‚ Lp`‚ƒ$˜à Á &8H0ÁA‚ Lp`‚ƒ$˜à Á &8H0ÁA‚ Lp`‚ƒœý‰ÔOW`ffl¸ y³ôtÚû_úÇÅÅ âÎÚˆÿ•••çÏŸïÙÒ[°¯¯ï‚ LWâ ƒæ`‚ƒ$˜à Á &8ƒ¹ó™Z­f³ÙÕÕÕóæÍ›8qb_=årùµk×>ýôÓA×—ŸŸ¯Ñht {>Ÿ/‰bccñ‡õõõ÷ïßŽŽ¾qãÆ+³ˆÅb—^ïõ[ZZÆG&¿|¡_½zU"‘ôìàççÇ`0WüÐFÜÖÖ¶eË2™$Μ9‘œœl°sWW—‘‚®^½ª|êÔ)>ŸêèèwïÞÍÏÏï?ËåË—Ïž=«Õj`Ù²eK–,€œ:uª½½]«ÕFFF®Y³X,–½½ý¤I“z>…¼wïÞ+V¸ººI4ã°àß~ûÍÑÑ1==ÝÌÌ êêê’’’âââð§Ô —S§NSßÌ™3=ÚÖÖæèè¨T*+**<<<¸\nTTTTT0Œþ³¨Õê£GîÙ³ÇÇǧ¼¼|ëÖ­‘‘‘–––‡^¶lYTTTKKËš5kBBBð+<‘‘‘‹-tÁ\.7&&F÷ÐÈhÆ3°9X*•²ÙìÈÈHÜ.Lž½téÒŒŒ ¥R©T*ù|>¨TªòòòK—.}ùå—&Lذaƒ……ů¿þ:~üø¯¾úJ­V€»»»——S·M&“§OŸŽ .,,ô÷÷ ,**Òjµ"‘¨»»{ÆŒº,jµº¬¬,''çÇܵk×™3gêëë©Têwß}§V«9Î/¿üâââB¥R)ÊÅ‹ñ—©\./--õóóÃS———çüC^^Þ¨_°Á\©©©vvv©©©ºË½úÑ †aÛ·oŸ?þ±cÇlmm333ñÝwíÚåíí••µhÑ¢ôôt¡P8PÁ;E+ [[[ý?i4šíÛ·S©T P( …¢µµUw €R©\¶lY@@€@ Ðjµøœ·|ùò¼¼¼ÒÒRÿàà`]çžÛ ™óx¼ääd*•jffVUU%¦L™2vìØž›Z­Žwrrrrròöö®««óðð™Lvüøq@°zõjsóÿ?k>ŸÿóÏ?ê2ÖÖÖÊd/?;vlXX˜Á‚=== æ"‘H666ºúÑ ”T*µ³³[¾|9$&&fggk4š¶¶6‰D’˜˜H"‘¢¢¢ 8…2°û¦L°ƒƒC{{{}}=>j8¥¥¥óæÍ{òäÉï¿ÿÞØØhoo¯¿/‰Dš1céx÷Ýwy<^¯³BO ÆáÇ›ššèt:‰D (,,‹ÅW¤º£G·6GGÇ#GŽttt|þùç“&Mš?>†a™™™yyyk×® ×õŒí5k,ØÓÓ³¯\=Ñfnn®?P\.W—ÂÒÒ_0r¹\™LöÙgŸáíJ¥_Zˆ ¦Ñh–––>Ô Æ0lß¾}K—.åp8ééé ƒL&/^¼¸×¾$ ]{zzÞ¼yS×ÞÐÐÑOR …bccsòäI:naaÙÙÙëÖ­Óïßë‡Ãyúô)>d¶¶¶t:ŸD·mÛfkk{âĉѣG÷ÿ¬û)x°(www|Âa³ÙAAA“'Oöôô=·ñC?77wÖ¬YxˬY³jjjÄbñôéÓ_Y³§§çŸþ)•J ½½Ïç¿÷Þ{"‘¨ªª*!!A*•655555Éåò¾"ôUp_ô ƒ5{öìÇ×ÕÕ—ËÍÊÊ=z4FkmmÅW …"!!áÏÁ°bÅ ¥R¹víZWWW©T:uêÔÍ›7[ZZÎ;÷øñãk×®µ¶¶ž6mÚäÉ“øá‡ï¿ÿÞ@Jsó”””½{÷š››+ŠÄÄıcÇÀ­[·*++q‹=·€Á`°Ù쀀ü¡½½ý”)SÀÚÚú•»ººFGG'$$8;;·µµ}üñÇnnn,K&“ásÎG}”’’b0‚Á‚ñ7Óíß¿?%%E·`ì…Á:xð`RRÒ¶mÛlll$ ~]D"­_¿þĉYYYr¹|áÂ…ƒ¸é{ïotìØ±ãu>~þü¹P(tvvî5+‚ &Œ3F*•644øùùÉårƒ‹2 Ã…Béköz}0 ë+‹•J%¦M›ÖsÝ7Ð,¯S°B¡¨®®ž6mšM?Ýz Nü-ÜÔ©S{¥¨­­4iÒ+§¸wïÞÎ;ÿåtp‚ÿMô£Lp`‚ƒ$˜à Á &8H0ÁA‚ Nï+Y ÅÁÁa BƒD" …}þø,..Îä%!†˜^Ÿ¬¬[¼@ÐLp`‚ƒ$˜à ÁçbÙ}1iwžºIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x6f.html0000644000175000017500000000005011561716354024651 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x6f.html0000644000175000017500000001131111561716354025062 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1ToyFontFace.html0000644000175000017500000000005011561716354025610 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1ToyFontFace.html0000644000175000017500000003131211561716354026024 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::ToyFontFace Class Reference

A simple font face used for the cairo 'toy' font API. More...

Inheritance diagram for Cairo::ToyFontFace:

List of all members.

Public Member Functions

std::string get_family () const
 Gets the familly name of a toy font.
FontSlant get_slant () const
 Gets the slant a toy font.
FontWeight get_weight () const
 Gets the weight a toy font.

Static Public Member Functions

static RefPtr< ToyFontFacecreate (const std::string& family, FontSlant slant, FontWeight weight)
 Creates a font face from a triplet of family, slant, and weight.

Protected Member Functions

 ToyFontFace (const std::string& family, FontSlant slant, FontWeight weight)

Detailed Description

A simple font face used for the cairo 'toy' font API.

Since:
1.8

Constructor & Destructor Documentation

Cairo::ToyFontFace::ToyFontFace ( const std::string family,
FontSlant  slant,
FontWeight  weight 
) [protected]

Member Function Documentation

static RefPtr<ToyFontFace> Cairo::ToyFontFace::create ( const std::string family,
FontSlant  slant,
FontWeight  weight 
) [static]

Creates a font face from a triplet of family, slant, and weight.

These font faces are used in implementation of the the Context "toy" font API.

If family is the zero-length string "", the platform-specific default family is assumed. The default family then can be queried using get_family().

The Context::select_font_face() function uses this to create font faces. See that function for limitations of toy font faces.

Parameters:
familya font family name, encoded in UTF-8.
slantthe slant for the font.
weightthe weight for the font.
Examples:
toy-text.cc, and user-font.cc.
std::string Cairo::ToyFontFace::get_family ( ) const

Gets the familly name of a toy font.

FontSlant Cairo::ToyFontFace::get_slant ( ) const

Gets the slant a toy font.

FontWeight Cairo::ToyFontFace::get_weight ( ) const

Gets the weight a toy font.


The documentation for this class was generated from the following file:
  • cairomm/fontface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Surface__inherit__graph.png0000644000175000017500000000005011561716354030040 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Surface__inherit__graph.png0000644000175000017500000011061311561716354030256 0ustar00murraycmurrayc00000000000000‰PNG  IHDR`Ó–]UÀbKGDÿÿÿ ½§“ IDATxœìy ÔÛÿÿÏÌØJ–¢² ‰‘­”ë[êê&·UQ¢ˆ>•îmÕzÕÍí*¤ÒB4J4Ü®dIBÊ:×.{YÇ2Ûû÷Çûþæ3†Ä˜±œÇ_ï9ïó~ç{–çœí}A@ ìÀòZ»@ƒ€@   ¯@Æeee‰‰‰¼Vù/{öìÕøØI :vvv¼Vù/£ýû…5ÈwÿTÆÜ1kØ@hd@ A@ @hQJ¥†……:tèâÅ‹%%%ƒälii¹téÒÈKd0OŸ>=~üø±cÇÒÒÒ šÞÑÑqáÂ…aT[[àéé™””D¥R‡~aSS“¿¿~~þwé›@ƒ€pžººº%K–øúúŠˆˆäå帺º”¹­­-88x„%666yzz’Éäžžž;w***¶´´ ñOž<Ù§ GGÇòòòA†……-X° ''GJJêüùó³fÍ"“ÉCãââˆÅNˆ ™ððð¡|glmm­¬¬¨T*úòÓ§OBBBeee£'lýúõFFFÌ”U«Víß¿AêêjAAÁ>ùåååsrr ¨««Â|iffvóæÍ!Š™7o^jjêP¥—!~#dB˜d,ÑØØ¹mÛ6>¾çéâñøàà຺:@RRÒš5k¦OŸndd hhh°¶¶F/´´´$rrreee ûöí+((@C]¾|yëÖ­}Ž«««£¢¢œEEE™2îܹ£§§‡°LúddggרØhgg—’’’˜˜¸…;v¨T*‰Dbêéèè***ÌÍÍ™évvvoß¾eU®¯¯_UUµ}ûö¸¸8¶÷ HKKÓÓÓ›1cÆÖ­[‹ŠŠÐD‰daa!!!ajj˹ddŒ¶A&Cù׊Åb±ÍÍÍýO1 UUÕ€€€–– ))I&“ËËËEEE©®®177 íééQTT>¾¹¹YYYMïîîž9sæÅ*°Âa EDDÐ8 ‚ NNNÍÍÍ111nnnžžž%%%ÂÂÂ}®Å`0MMÍââbfzqq±††Æ@%.\¸Á`DGG£/EEE%$$RRR¾~ý:Á!((èéÓ§BBBhJBBgfÀãñçÎKIIéííe½F£UVVöQÎ ÛûUUUe@!d2YCCÇW°ðÛo¿ Eüh Âa„……½¼¼üüüòòòÝÝÝ~~~ööö]]]jjj8îÉ“'íííÌÙ }077¯¨¨xóæ ///==í_|ÿþ}BBš‡y,!!qüøqWWW4?ƒÁHLL<}útÿ_,+hÑ999ÎÎÎQQQrrrÌSúúúõõõþþþèK:®££#(((!!ÑÖÖVUUˆŠŠjmm¤¶÷»zõêÌÌLt–D||ü‰'DEE—.]Z[[K íííêêêè»Ç{F» ™H ±ÝK¡P¼¼¼øøøTTT$$$ÌÌÌ¢¢¢éîîVUUÕÕÕ533óððÀãñúúú¬}8ŽäÞ½{ªªªššš³gÏfvL8p@__¿ÿ1ƒÁ¸xñ¢€€€¼¼¼‚‚‚””TllìúõëêƒX¶l™¾¾þ»wïœq8œèÿ‡Ùñ'-----­««+))©­­]\\Œžrpp””400X¶lÚö飜ÙÁö~¹q㆒’’ŽŽŽ¼¼|dd$z@ÐÒÒÒÐЕ•õôôäÔg1B A@¾ƒïúRvvv¦§§×ÖÖöIÏÍÍíèè@¤¡¡!%%…N§³ò@„Á`äääÐh´!–ØÕÕ•‘‘ññãG´·¯··—Ùí‡ kAmmmýõWKKË Ñ(JFF‘H,**êsª´´tèÂúÜ/šH£Ñ²²²úGÈÎÎfÍ1Ü1¸ää;@W1‚ß™±w> Ø@hd@ A@ @ø,dHÐh "1ÿÆBAAE^kphoÐÐÐöðaƃé íóæMEïX| 2ÞaÆxñ"ïÁƒôÔTÒ´i¢Û·ÙÛ/}ý:áõë:^Kƒph¾0HllîÕ«/KJêµ´.]Úøãº""ÿ}ð ƒÁðP„›@ƒ€üyö,÷Ê•—¥¥ëÖé\»¶E[{k†¥K—FDDðJ„ûÀg1 @£1=zûljí†ÎÎfòòÓx- Â{` b²ƒ Hl쇫WÊÊš6lXìæf1{¶$¯EAÆ Ð &5ÙÙ•'OFçäTnÚ¤ÿþXk€üÐ &) m§OÇ<}šcl¬B$zª©‰!c h“ ysáBœ¤ä”G ‹×z„@ AL.òó?>ñéÓgggsw÷UBBü¼VÓ@ƒ˜,ÐéŒ?ÿüË×7^KK!!álS@†4ˆIAYYÓ¡yyÕîî«öï·àãƒéA†4ˆ‰ÏóçÜÝÃfÍšþìÙA--^ËŒ' ALd¨Tº·wdhh†»ûªVÁŠä{1aùú•¼gÏÝknÜØjm½×r ãh“¢¢º;‚1̳gçÏ—áµÈxÖ9' Ož¼·²º¢ª:óåKOè‘k 9þ¹¿ÿ_ûö-?räÿp8øÐ &T*ÝË+<**ûܹŸ¶m3âµÈDÄ¡»›²gÏÝŒŒ²G335^ËL ALš›;››;ž=;¨ª*Ëk9‰4ˆqOyyÓæÍ¢¢‚ÏŸ”‘çµÈ„vboJJê7lðŸ6M$<|/tÇ1Ž)(¨ýé§?••g.3fLáµÈÄx%5õŸuëüôõ•CCEEy-211.II)Ùº5ÈÊJ+ `??Ž×r ¸ªõøãÍ›’íÛƒ-,ðüaÏw€»`Œlmm9¾)Åg¼yS²uë-kë…W®lâÚDIww÷¥K—r§,Èð¸råÊh„…1žHJ*ܹ3ØÎnÉÅ‹¶Üüc700°µµåZqaðøñãÑ û Æ ©©ÿìÞ}gíZ ¸êÉ 4ˆñAzz)Ú+ùûï›±Xè. bðÏ?;vÍûý÷-ðM7ß¶±Nmmë¦M7ðx¹  pDÂe AŒiÚ7løsæL‰ö Âe·1vikëÚ²å&6$ÄQXX€×r¾•J ;tèÐÅ‹KJJÉÙÒÒréÒ¥žœœ< C§¶¶6 ÀÓÓ3))‰J¥ý¦¦&ÿüüüÑÓ6ª@ƒ£tuQÛÚº=Ú;}º(¯å|ƒººº%K–øúúŠˆˆäå帺º”¹­­-88x„%Þ¿ŸH$Ž0È [°`ANNŽ””ÔùóçgÍšE&“‡x­‹‹K`` ;nhdìA§3vï¾3þ>|¨âµ>x[[[+++*•оüôé“PYYÙè©Z½zµ··÷èÅgEWW7$$„ùÒÌÌìæÍ›C¼vÞ¼y©©©££ë°µµµµµåxØqklšS§¢“’ ?vY°`¯µ|›ÆÆÆÈÈÈmÛ¶ññýÛK‚ÇッƒëêêIIIkÖ¬™>}º‘‘Qhh( ¡¡ÁÚÚ½ÐÒÒ’@ ÈÉÉ”••yxx(((ìÛ·¯   uùòå­[·ö?fòåË ‹ÀÀÀ9sæÌž=;<<ü×_•““ÓÑÑyùò%š§¿4QKKkÆŒ®®®Gމ‹‹H$ SSÓØØX•J%‘HÌ[éèè***ÌÍÍ™évvvoß¾e½)}}ýªªªíÛ·£ÁÙÊHKKÓÓÓ›1cÆÖ­[‹ŠŠÐÄþ2xÇ-2Bnß~-/ï›Ëk!ÿ¾UƒˆÅb±ÍÍÍýO1 UUÕ€€€–– ))I&“ËËËEEE©®®177 íééQTT|@䨱c8ÎÚÚ:((ˆµZTXX())É|©­­M$Yoª¡¡AII)>>¾§§‡­ :.--íããSSSsðàÁµk×¢¡ØÊœQªA@ƒ[$$|TPððó#òZÈù¦A<|øPVV–í) …’••…—””ðóó“H$Vƒ¼|ùAÜÜ\yyyæ…èmBY PWW‡ Haa!_KK ‚ ïÞ½“‘‘H‘H\¸p!šØÖÖ†Ãáîß¿_UU¥¨¨H§ÓÑôõëן={=~÷î»»»––ƒ±´´$‘HÈÀÁ¼)AæÎ›žž>ŒÔÔTuuu4‘L&_ºt‰J¥"cFÉ àÈÙ¢¤¤ÞÍ-tÝ:ýûWðZËw ##S___XX¨®®ÎLLNNþúõ«Mnn®··7‰D’’’ê-‹555$&&2Ó‰D¢……Å5ÈÊÊøøø%$$Ðcô?? D"‘Yœ˜˜˜†† >>¾¹¹YYYMïîîž9s&‚ COOOOOŸŸ¿ÿþ]»v 2†Â¼)VØÊHHH02úwýq//¯d ñ}à8Ð Æ --ä­[o©©Í¼reÓøzÔÂÐÐPDD$..Ži‚899:t(&&ÆÍÍ-::ÚÜ܇É‹÷]ƒÁ455ïÝ»ÇL/..¶··çˆ<¶TTTÂÂÂÐ 4­¢¢ ¡¡Çã333Ñôîîn “pðàAfï?w‘Qoo/k)4­²²²ÏM}S†ªªjjj*3@°²²b+ƒ#oÅ0€”c*•¾m[0‹¹{w—€À8smaaa///??¿¼¼<@ww·ŸŸ_cc£½½}WW—ššš……‡{òäI{{;ƒÁ`ÄÜܼ¢¢âÍ›7€¼¼¼ôôt´#óýû÷ hÖã¡ÃVÚ5k222Ðé  féÒ¥µµµÐÞÞ®®®ž——§¯¯___ïïïF£Óéááá:::hU¥­­­ªª ÕÚÚú½2V¯^™™‰Êˆ?qℨ¨([ß{׃ãÈ0øÏ"TU””ÔóZÀ†9)Š——ŸŠŠŠ„„„™™YTT‚ ÝÝݪªªºººfffx<^__Ÿµ‡Ã1ƒÜ»wOUUUSSsöìÙÌÎÈèëë÷?îÓ&’H$42‚ 999h[ ‚\¾|YJJJCCcéÒ¥êêêOŸ>E„@ hiiihhÈÊÊzzz¢¡ââ⤥¥¥¥¥uuu%%%µµµ‹‹‹ÑS’’’Ë–-C›E}nŠÙ1Œ7n())éèèÈËËGFF¢W±•18°“rÂrï^ª¼¼{|üG^ aÏP ¥³³3==½¶¶¶OznnnGG‚ )))t:í‚ #''‡F£PsúhhnnÎÏÏïìì|÷î]WW—°°ð»w³³³;;;Y/§P(D"±¨¨¨OäÒÒÒ¡kî#M¤ÑhYYYý#ô—1£dpÉ9“]ùÓO×÷í[îåeÅk-ìÁ`0ááá7näµNòåËuuõ›7oΟ?? >>žD"¯®Ÿ> Ç—œƒ}¼¤©©ÃÑñŽ™™Ú¡C?ðZËäBRR2222!!ÁÉɉL&¿zõj\»Ãè1ÎúÃ&T*}çÎÛbbÂׯ;À5`¸±±±±±1¯UŒu AðŒsçž•”ÔÇŹÃ]- ch¼!66700ùÆŸçΕæµd@` ‘<<mß¾líZ^k@·¡Ph..÷••¥~ýu-¯µ@ ß61¸Í‰O««[=ár±üŽr•˜˜œÔÀÀíòòÓx­ù6°‰Á=jjZ~¼i“þš5Ú¼Ö 8“’KÐhŒ þli!¿xá!"2ÖW eÒÜÜ© €WQ—‘‘áµÈ`|üøÑÄÄnÞ;^ñ÷ÿ+'§2&æÀxq‡œœª;wRbbrååתª6Ày†cއ…Á >~¬ñõ÷ôüA[{¬¯1ÙÕE Í I-+kZ¶l~PÐö+4àDÏI lbŒ:drïÊ•¿)(L{ôhïXþ¥‘ɽ!!©7o¾joïY·NgÇŽe *òZ„ÇÀĨsöllKKWd¤Ë˜u‡ŽŽž;wÞþM¡Ð¶m[æäd6cÆ^‹‚Œ  AŒ.‰‰÷î¥]»¶eæL ^kaC[[WppJPÐkaìÜi²{·É´ic}“7MŒQ¤­­ËÜü’¶ö¬;wvñZK_(ZppŠŸ_"ÀÑÑd÷n11a^‹‚Œ9` b9}:–Á`øúnâµÿAØØÜsçžýÚéâ²b÷nÓñ2°á>Ð F‹W¯ŠÂÂ2îÝÛ=¦vÖLJ*ÌÌ,sw·Ü¿??Ž·z ãhœ¤¨¨ÎÏ/ÑÛÛZA—Ë=DEe9òX^~ÚË—žjj<Û÷2€M ŽA§3Ö®½†Ãáž>uåÕ¬j2¹÷èQµk—‰·÷Øã!°Á1îÜyóéÓçøøC¼r‡OŸ>ïÝ{ïË—ÎààVVZ<Ñ™`À¥8C]]ë¥KqNNfê꼩Ò?x¾nŸ„„ð‹Ð œ618ÃîÝw‹‹ë’’s¿;°·—vøpDdd–««Å¡C?ðñAÓ‡p ØÄà¯^=þ!<|/÷Ý¡ºúëŽÁŸ?·>|èdjªÊåÒ!øo3R¨TúÉ“OøAËØX…ËE§¦þceu…Á@^¼p‡î  AŒ”àà”šš–3gl¸^îëÍ›o΋=0gÎ .—™$À&ƈhhh»r%~ß>snîsA¥Ò½½#CC3Ž]½oßr¸o=dô€1"Î{>}ú—\+±µµkïÞ{ïޕ߸±ÕÚz!×Ê…LN A ŸŒŒR!ëÖ­\›TSÓboÐÕE‰= ®.ÇB"99ùìÙ³¼Õ09!‰\+ Ä0¡Ó¿þen®ÆµIYYåÛ¶++K=}ê:VŽlhhHLL´µµåµIDuuuFF7K„1LÂáLñ}de•?þ!8x'7ŠÝ7½½´]»ngf–……9/]:wô ‚@Ä÷áãólñb¥QÚ$“{·m»õñcÍÇN‹+^A\ƒJ¥„¬¬,iii•Ziii :|øðHŠ»uëV}}=z<þü5kÖˆŠöŽŽŽž9sæ’%Kššš?~ljjŠÇãµµµ±±±$ÉÊÊÊÄÄ„Ÿ¨3\úÄ™0ÀQŒï€HÌÏÌ,ÿõ×u£WDgg¯ƒC`aaÝãÇû&†;ÔÕÕ-Y²Ä××WDD$//ÏÀÀÀÕÕu ÌmmmÁÁÁ#,ñúõ뉉‰555555W®\‘‘‘‰í“çñãÇiii—ÀÀ@,  [°`ANNŽ””ÔùóçgÍšE&“‡X(kœ T*ÝØøÜöí·F¯ˆööîµk¯-\økqqÝè•Â)ÂÃÇòý±µµµ²²¢R©èËOŸ> •••ž0mmí   æKOOO++«>yìíí¯^½Š ȼyóRSSÑD]]Ýf33³›7o±PÖ8£Çßs2á oÔ ÞUT4?n=Jñ[Zȶ¶þÕÕ_ • ²íUcccddä¶mÛøøþmÌâñøàà຺:@RRÒš5k¦OŸndd hhh°¶¶F/´´´$rrreee ûöí+((@C]¾|yëÖ­ýû ­­ ÈËËspp˜1c†½½}WW`ÇŽUUUÛ·o‹‹£R©$‰©¤££¨¨¨077g¦ÛÙÙ½}û–U¡¾¾>3Ûû¤¥¥ééé͘1cëÖ­EEEh"‰D²°°055í_ÍpÓÆ/]]½::'z4JñÛÚºW¯¾ºpቒ’úQ*‚ã åß,66‹Å677÷?Å`0TUUZZZ‚¤¤$™L.//E¤ººZDDÄÜÜ<44´§§GQQñÈ‘#ååå>>>âââ Aèèh???4ë±¶¶öÕ«W›šššššˆD¢¶¶ö:::„……Ïœ9SZZêìì ¸zõjkk«’’R|||OO‚ ÇŽÃápÖÖÖAAA¬uœÂÂBIIIæKmmm"‘Ȫ°¡¡‡í}ÑétiiiŸšššƒ®]» ¥§§wäÈ‘êêêÛ·o‹‰‰}øðaäï9g1$®_OTV>\_ß:ÁÉäÞuëü.üµ¼¼i4âCù²>|øPVV–í) …’••…—””ðóó“H$Vƒ¼|ùAÜÜ\yyyæ…èïsBµµµ±X,‡Ãáp222uuuAOOÍ@¥R§NŠ61æÎ›žžÎ¼öÝ»wîîîZZZ ÆÒÒ’D"!S!k¶÷•ššª®®Ž&’ÉäK—.Q©Ôªª*EEE:ަ¯_¿þìÙ³ƒ¿ŸÜ78ŠñmZZÈü‘äèh"##Îñà]]”M›nVW‰Šrxë¾ÈÈÈÔ×ת««3“““¿~ýjcc“››ëííM"‘¤¤ØÌXÇb±¦¦¦€ÄÄDCCCfº±±1‘H´°°¤Ü€€GGGÖ”W¯^™™™¡Ç|||¬Qa0zzzzzz€üüüýû÷ïÚµ+99y R˜ Yáççï_ FFF豈ˆˆ—— >>¾¹¹YYYMïîîž9sÌmbû ¾Í¯°X̾}æßÎúôöÒvì.-m užxî044A[æ(‚899577ÇÄĸ¹¹yzz–””ddd ÷¹ƒÁ455‹‹‹™éÅÅÅß½gº¶¶v~~>k>XG(ñxü¹sçRRRz{{Y³Ñh´ÊÊÊ> Ya{_ªªªåååÌ<L&khhàñø ~ûí·ï½¯ÑÄ7hhh Jöð°áldáì’—W±—W‹å6ÂÂÂ^^^~~~yyy€îîn??¿ÆÆF´›PMM͇Ã=yò¤½½Á`° bnn^QQñæÍ@^^^zz:Ú‘ùþýû„„4ë1[¬¬¬þþûo´·òÙ³g}2èëë×××ûu&7 IDATûû£/étzxx¸ŽŽŽ   „„D[[[UU **ªµµu‚ØÞ×êÕ«333Q‡Š?qℨ¨èÒ¥Kkkk  ½½]]]}—ÆÜlÏŒGNœˆÒÑ9ÑÓCålX¾{÷yóþ“•UÎÙÈ\cˆía …âååÅÇǧ¢¢"!!aff… Hww·ªªª®®®™™™‡‡×××gíƒÀápÌ ÷îÝSUUÕÔÔœ={6³3òÀúúúýû s2¹xñ¢¬¬¬ªªªœœÜ?þØ¿"..NZZZZZZWWWRRR[[»¸¸=åàà ))i``°lÙ2´ÓG!3ÛûBäÆJJJ:::òòò‘‘‘èUAKKKCCCVVÖÓÓ“Sï91uu­sæxÞº•ÌÙ° ãàÁÐ9s£ û@ƒ?ÿükúô)ööK9“@È:~üÉÑ£«þ¹ï02ÁžººÖÒ\]-8V}xýºøÐ¡GŽŽ&®®ƒáC chì¹~ý/ii1{{NÌÏÿ¼{÷Ý~Ð:qb…@8 46ÔÕµ>|˜îⲂS›ñÖÔ´88-\¨xýº 7‚Œ A°á?eeÅ9µ¨\[[—ƒCàŒSnÝÚÁýí¿!‘ ¢/_¾t>z”éädÆ‘3•Jß³'¤½½ûîÝ]S§Žî"·Çkõ%00Y\\˜S½¿üò$+«âéSWnîî p XƒøÚÛ{îÞ}³k— G/üýÿzø0#(h»––ÂÈ£A ÜÖ þ‡Ò0°m›ÑÈC%$|:wîÙ±ck–/WÿvîqE{{OBÂÇÀÀB~~éÀÀ@^Ë™D¼ÿžË%Bƒø/½½´€€¿ GÞYPXX»ÿƒ-[ öí[Îmc2¹—HÌŽÎyõª ¢"prrâµ.È(‚A„ׯ ¦;™™ùˆijêX½úêìÙ’¡¡Î`Ø¢§‡š˜X““˜X€ ˆ™™šµõ•+ñ°Ïu2kÿB§3þüó¯Ÿ~Ò¡;P(´]»îðñá·wwxÿ¾"<<3&&§·—fn®îë»iåJü”)‚¼ÖáÐ þåÅ‹UU_îßß=Â8§NÅÖFG»M›Öw³–ñB}}žYZÚ¸hÑœãÇ×®]«3Ú‘BÆ&Ð þåÏ?“V­Òœ;Wz$A¢¢²ïÞ}°MCCŽS¸Fo/-!ácDÄ»ääb)©©6èÙÙ-áï@ƒ€7oJ>|¨>wnÃH‚äæVyx„<¸rÍmN ã55-÷…½íìì±´Ô q45UÕÍG!ãØI ›6ݤPhOžìv„/_:--}54äîÞu/O[ ’’RrçΛÄımÛŒìí—NŸ>^[FÑÖ ‰Ô’RrûöÎaG Ñ{÷Þàûãûqá_¾tÞ½ûæÁƒŒÆÆv ÐP'#£ùãB9„Ë@ƒAAÉsçJ­Z5üM™/\xž]{ã+_sœººÖ7^…†fÐé ›E»vãñò¼»Lvƒhi!Y¿übÁ óÿ3&&çÆWþþ?ñ¥ë++¿\¿ž‘)**¸wïò;–ÁÖä›Lvƒxø0C@·qã’á]þÏ?^^Û·­[§ÃYa$'§ê÷ß_&&Ìœ)îãóÓÆ‹9¸Ldb3©¿(T*ýöí”M›ôEE‡3ù§»›²gÏÝùóeNžü‘ãÚ8BIIýÅ‹q ŸfΔ8{Öfóf!!~^‹‚Œ'&µA¼xñ±©©c×.“á]îáñ¨±±Hôƒ3&?nñõM ÞÍž=ã·ßì~úIo Š„Œ}&µAܺõzåJü¬YÓ‡qmxxfLLîýû»gΔะ‘PUõå·ßâŸ>ÍVUùð¡“±± ¯AÆ1“× rrª²²Ê —a\[PP{äÈã½{ÍÇÔ£Üíí=þ™üzêTaŸŸ6o6àビ #bòÄíÛ)r††ó¾÷ÂÎÎÞ={î.X0ëȑգ!lÐéŒGÞ^¼G¡Ð\µk—±°pß]§!a0I ¢¾¾-&&çâEÛa\ûË/OZ[»?Þ7FþŸ‰ÄüS§¢kjZvï6Ý¿ùØŸ‹GLRƒ ͘2Ehc“ÑÑ9áá™AAÛÇB×Ceå—³gcŸ?ÿ°b…úíÛ;UTdy­2јŒA£1îßOß¼Yÿ{ëáUU_ŽØ±cÙêÕ<~‹J¥ß¸ñê÷ß_Ξ-ù葳‰‰*oõ@&*“Ñ ^¼ÈknîØ±cÙw]….`¯¨(Éó­±^½*:vŒðõ+ùôi›-[ à3Ñc2Äýûéææjß»ýÕ«/I¤†øxNC¬­m=z”@$æoØ çím-##Æ+%I¤3ˆ²²¦ÔTÒÝ»»¾ëªôôR??¢ÏOóçËŒ’°Á¡Ówî¼ùí·¢÷ïïY±b ¯B&0“Î BC3äå%¾kþBGG»{ØÊ•xŽ,‡? ²³+y\RÒàêºÂÅeœ. á“Ë (Ú£Gowî4þ®å’¼½#{{©¾¾›FOØ@ttôœ9šad4ÿÕ«ÃJJRÜ×08p_ n¢¬¬laaÁÕ"‘ÉDTÔ{EÅCõõmßu‰œœ{rrÑ詈ää¢Å‹O©ª½sç Îྀ¡ÀÕ/ë¤ÇÖÖ–ËŸïäªAÜ¿Ÿ¶r%~è}{ íÞÞO¶o7âò8"™Ü{æLÌýûé—/ÛIKOåféßKxxøÆy­bâÓ7yDII}zziX˜óó#âæöPZz*—Ç5‰ÄüÇ#¨TúÍ›[­­r³h¤“È BC3””¤LL†útã½{iiiÿDG»qm\³³³÷ôéè‡3~øAóâÅ3fLáN¹È@Lƒ PhBÖž=fC\Z®¼¼éÌ™˜½{Íuug¶6”ÔÔ<<Â::z`Å2v˜,ÿ±½½{ófý¡d¦Ó„Íž-ééùÃh tuQNž|úðaƸèq€L*&‹A“s?~üIOuô â€ðððÁóØÚÚZYYQ©ÿÞï§OŸ„„„ÊÊÊFO•¶¶vPPó¥§§§••Õ ùuuuCBB˜/ÍÌÌnÞ¼9IJæÍ›—šš:<ß…­­-÷gRNPÛcáÑ£·ššòCÙöêØ±HEEIW×Ñj\ÖþðÕÄÄ‚ààgÎØ NŠö]cccddä¶mÛøøþ½_<\WWHJJZ³fÍôéÓŒŒBCC ÖÖÖè…–––ANN®   ¬¬ÌÃÃCAAaß¾}h¨Ë—/oݺµÿq´µµ³³³Ñã›7oêëëËÉÉíÚµ«µµ@¥RI$S ((HGGPQQannÎL·³³{ûö-«0}}ýªªªíÛ·ÇÅű½@ZZšžžÞŒ3¶nÝZTT„&’H$ SSÓÁk7<†Ë†Äe::zæÎ=üú›9?~§ à‘]9JJ‚‚’çÌñüñG¿ÏŸ[F©ž¾UƒˆÅb±ÍÍÍýO1 UUÕ€€€–– ))I&“ËËËEEE©®®177 íééQTT|øæ[Í“Ä7ˆGÞΞíÙÒB<[cc»††÷/¿< ­­ä;ƒ<~ûíF"xÈ7 âáDz²²lOQ(”¬¬,ô¸¤¤„ŸŸŸD"±àåË—‚äææÊËË3/D¨ƒª­­Åbq8‡“‘‘ñð𨫫C$55URR2;;AÎÎΖ–ÿšõ»wïÜÝݵ´´0Œ¥¥%‰DB6¦0AæÎ›žž>Ðí¤¦¦ª««£‰d2ùÒ¥KT*µªªJQQ‘Nÿ÷˰~ýú³gÏr;(<1ˆ ^Ë%Þ­X¡.!ñ…žù剘˜ÐÑ£œ_ÆþÓ§ÏÎÎ!ííÝ!!Žcj ®!##S___XX¨®þßÛONNþúõ«Mnn®··7‰D’’bó$;‹555$&&2Ó‰Dâà>8::öI444ÂXa{;ªªªåååÌ<L&khhàñø ~ûí·aܘÈ#!!2ø/³»›âíùÿ·`åJNbwuQöïpèУC‡, —ɼx¤°°°———ŸŸ_^^ »»ÛÏϯ±±ÑÞÞ¾««KMM͇Ã=yò¤½½Á`° bnn^QQñæÍ@^^^zz:Ú‘ùþýû„„4ëñ@===,«¯¯¿yóæ¶¶6€¾¾~}}½¿¿?š‡N§‡‡‡ëèè JHH´µµUUU¢¢¢ÐNÍ`{;«W¯ÎÌÌÌÏÏÄÇÇŸ8qBTTtéÒ¥µµµÐÞÞ®®®Ž¾9c.7i¸‰©é/¯oŒÀ9£ªz´¡¡ƒå–—7­XqIMíXbbÃŽMÀ†9)Š——ŸŠŠŠ„„„™™YTT‚ ÝÝݪªªºººfffx<^__Ÿµ‡Ã1ƒÜ»wOUUUSSsöìÙÌÎÈèëë÷?î3Ìɤ··wñâÅ222³fÍJHH@Óãâ⤥¥¥¥¥uuu%%%µµµ‹‹‹ÑS’’’Ë–-C›6}„1û ØÞ‚ 7nÜPRRÒÑÑ‘——ŒŒD¯"ZZZ²²²žžžCy«a'%')(øu*ÚÞÞ@[{ÖÈ‹ËÏÿ¼{÷ÝînJX˜³¾¾òÈB c„‰9ŠñäÉ{uu¹A6³½x1N@wì˜õÈËŠŽÎ±¶¾&++ºd‚1 ‚Fc¼xññÇܹûýûÊÒ½½­ÅÄ„FRƒ\¼·oßý‡‡ïÌc™‰Êlb¤¥‘Z[»Ö­cot:ãØ1‚¡á¼A C¡½½ÛÙù^FFéŸ:üø£îHBA c– hQQÙ::ŠŠŠ’lÏÞ»—Z\\ÿ×_#Z䟷m»ÕÕÕûø±Ë¢E\ZÕá>­‰A¥Ò_¼ø¸f ûU¡Ú.\ˆsv6SVþv))%ÖÖ×$$„ãã= ;@&6Í ’“‹;:zÖ®eogÎÄNŸ.zðàªaÇÿóϤ-[~øA3*ÊUFF|Øq qÁDkbÄÆæêê*ÊÉIô?õömYTTö­[;†·;6•J?z”žyâÄ:GG“+…@Æ\ž¹9ªôôPUTŽÜ¼ùªÿ):±råe{û€áEnm%oÜè?oÞââòF$qÂÁú]ÂáD……5$$¬¦LQ0d àz#"9¹¨³³—í¶T¦—”4nFØÊÊ/?ÿØÝM‰90”¥ë&„•–vµ·ÕÕu àæÍ[¼XJWwDÝÀ¶(((p¹Ä e±±tug÷o_´·÷\¾übÛ6£9sf|oÌÔÔï¨«Ï Þ1mÚ7–NŸ$P©ôŒŒÒׯKRRJòó?c±ƒ¹;w.26VÁãå'ü"Ý“Š‰cT*HÌ?p`eÿSׯ'2ˆ‡Çw÷MÞ»—vüxäºuº¾¾v\ÛÂwÌRUõååË|"1?;»’LîUT”\¹ïí½FWw¶¨¨ ¯ÕAF…‰ó¥OKû§££§û¢¢¢9 àï“'׉‹cá9V äĉ§·o§xx¬òð°â–¿ööîääâ””’””’ÊÊ/bbB¦¦j'N¬36V™=›ýLÈDbâD|üG 9…i}Ò/\x>w®ôÏ? =TOÕÍí!‘˜ãÆÏk×8e{¢Ò§Á€¥Kç98,…-ˆIÈ1Aâã?98,퓞™Y“ûàÁ>¾¡~­›š:v쮬üòøñ>==%N+»TWMN.&óÓÒþ!“{¦™™©¹¸,_¶l>ì|™´LƒÈÉ©jhhû¿ÿÓbMDäÔ©hssµ¡/[QÑìàH¥Ò UÕ0ôiAL*df[ÿ2A ">þãìÙ’êêr¬‰QQÙŸ>}NLôbªþ9PAazHˆ£”ÔÔQ9&èÓ‚@DSSaý•+ñòC¯jA&ãÒ ¨TzQQ¦¦<³ïðùó<--…¦¦æ»»›âãóÌÞÞ`þ|™¡Ä|þüƒ‹ËKKÍ?þ°Ÿ55-ÿ]”’Ròæ ©¥…,''±|¹º‹ËrCÃy’’Sx­2F—¿±´ô•”]µJkùr5yùiååMââÂK–œvv6ß»w¹˜˜P@ÀßÝݔÇÿ¯ÏµÍýgCàpX{ëÖ [·^·¶v÷ÏC£ÑÑ=oBBùùq£©¤¦þ³ÿý††v%%©A mA¤¤”¼|™Ÿ“SI£1,˜µfÍB•E‹æˆˆÀ„«ŒWƒ˜:U‡ÃÐhLƒÀð?£BB|8éë+“ɽW¯&Ðéì÷•Gäï¿‹.^Œ;~œ›è°…Lî=r„™…þç——7}þÜ"/ÿ?•ÕÖ¶þõWaJJIZÚ?_¾tŠ‹‹˜˜¨œ;·NX€ð–ñk‚Ì:6–Fûïï‡ÃŠ‹‹ûÐÉ·n½fe"(ÈßÛK]¸Pqï^ó~ÐêŸ#df–íÛw¿±±€¶qp8lrrñ–-½¯^öiA8;›Á‡&!c‡ñj¢¢Bl×hàãÃÉȈEFº ûb47w^»Fdµ‹ÅØÛ/ݹsÙHÖ¿*•~éÒ‹›7ÿÂ`0¬0pï^êË—ù©©$2¹WZzª‰‰ª§ç&&ªøÈ8e¼Ä”)‚h‹Y³fall.ÎàãÃΙ3ãñã}Ì]ðnÜxE£ÑÑc‹ È´i¢ÎÎfvvú£:}èŸCŠ‹ëét„µí ÑùùubbÂîî«ÌÌÔÔÕgNÚÕh cŸñjS§ Ñ鈀ߢEsäå§!àãÃÎ+±—ù?ÜØØqûökÁÏ£ÑrrNNfvvKFuÌ‚Á@nÜøëÒ¥€:>ètúÑ£kttGOÂÆ«AL™"D§3ÄÅ…¶yy…3 ]Ý98±îÇûûï/{{i]ÝÙ{ö˜YZjŽöÐ`]]ëþý22ÊŸ~ÆÏûûï"h±Oß‘Â7>~ü˜Wj†Ž àœéÓli‰íé)•’ÚF§·µ´\…ÿ’””´sçN‰$!!ñðáÃ7öô°yF“-×®]‹ C¡(==Ô/_:y­‚cÔÕÕ-Y²Ä××WDD$//ÏÀÀÀÕÕu ÌmmmÁÁÁ#,±¦¦ÆØØø×_¥ÑhBBB~~~ºººùùù#‰éèèX^^>H†°°° äääHII?~Ö¬Yd2yˆÁ]\\±ØñWaf âúõë’’’>>>8PQQáäädkk;sæÌþ™eeeïß¿?"™„‡‡»¸¸¬Zµ °yófwww"‘hm=¤EH$ÒÑ£GgÏž=B #„Fc¤¤”DEe¿x‘wùòÆÔå­NqàÀ™3gÆÄÄ uºüü|===%%6;›Î™3§¸¸x„%:;;O:õ¯¿þBk gΜٵk×–-[²³³Ñ/ä0ˆß¿ÿ ~ûí·+W®lݺðŸÿhôš^ IDATüÇÜÜüÁƒNNNC ž““¢®>Ô- Çñ4´ÆniiÉü0æÌ™søðá¯_¿²³³=ºvíÚýû÷'%%ZZZŽ;†^èå啜œ¼aÆÊÊʺº:[[Ûßÿ½²² õèÑ£óçÏ÷9¦ÑhŸ?fýì===çÏŸ¨¯¯wwwg¦Ÿ:uª°°µ ½{÷644\¸páíÛ·låòóóœœÖ­[wþüùªª*4±¦¦æÐ¡CkÖ¬9pà@ZZÚ0Þ(AÞ½+?v,RK븽}ÀÓ§ïÉdʰ£5###·mÛÆlñáñøàà຺:@RRÒš5k¦OŸndd hhh@m½±±ÑÒÒ’@ ÈÉÉ”••yxx(((ìÛ·¯   uùòeôÉzœ““óüùsWWWf›‡ÃyzzæååEEEUTT˜››3åÙÙÙ¡Ÿ{%¬´´´íììRRR²°cÇ•J%‘H¬­Ú   ÛYƒëëëWUUmß¾=..Ž­@ZZšžžÞŒ3¶nÝZTT„&’H$ SSÓØØXN~lCf8QXXX´hkâŠ+ðx<‚ ¿ÿþ;zç7nôóóëíííííÍÉÉP©Ô?FGGïÝ»WNNîàÁƒüüüüñ‡”””‹‹ F(**ªªþ»=ó˜ÏÆÆæÜ¹sÞÞÞÏŸ?¯««“——WSSP(”²²2¦Œêêê®®.ւΟ?/%%åææ¦««ËV‚ Ç711  @C={VMMíÎ;?üðƒk)CAÌ̲Ç#ÔÔŽ­[çšÑÖÖ  Ñc¦­Ã233¬‰[¶l144DÄÅÅeíÚµèßÍÍ­«««»»ûÕ«W …òæÍ__ß¹sçš›› ¾yóFAAÁÐÐJ¥TUU/þw¿æq^^ÞÔ©SѺ$MMM ¼¼¼žžž?2Ó‹‹‹;::Ø*a˜˜8cÆŒ€€ƒ¥K—pÿþýöövôÈÏÏïêêºuëÖµk×Þºu«¼¼|Þ¼yK–,°-‘5xll¬¼¼üü±bÅ ¶J †Íúõë?|ø ))ùŸÿü‡ù6.^¼øÓ§OÛ·owppÈËËãüç÷-†ÓÄèêêš6mš˜˜XÿSt:ýøñãh•²²rWWWss3ë?ooï–-[ôôôJKK ÆîÝ»ööö¯^½úðáâE‹ ™™Y“’’ž}ÏŒÍmllçãá RP(´o^8ioo—–––”d³.F{øð!úG²`Á‚öööÚÚZÖ?á®®®£G®\¹òÇt:­-;v,"""99ÙÂÂbíÚµÌÌÌãÆÆF555AÁ¾±46²*­!!!¦‹•àçççççŸ7o`Ó¦MGŽAƒøøøØØØ„††úùùíÙ³gÕªUׯ_Gs²¥OpqqqAAA*•Ú_Icc£¤¤$ZËöññùóÏ?i4Z]]]cc£‹Ý±cdzgÏbcc,X0øÇÁq†cÓ¦Mûúõkee%k«þÇíííÆÆÆÿüóÏ­[·jjj$$$ú_‹Á`.\xÿþ½¦¦&3}Á‚YYY}j%LADUUµóŠŠŠk×®]ºtéÚµk‰dÄ _y™™™L%‚‚‚èhKfff[[ÛæÍ›ÑôÞÞ^¶¿VººQÑ…«V]ÎϯÃb1èbÌåjúðæ ©³³—í©±CVVûIâ222õõõ………¬ ìäää¯_¿ÚØØäææz{{“H$))6O`±XSSS@bb"럱±1‘HìS+a2wîÜ÷ïß766JKK³¦—•• Ô'ÅÏÏÏV S@NŸ>]VVöúõkô%‚ COOýËÉÏÏß¿ÿ®]»’““Ù^>Pp¶JŒŒŒÐc///@|||ss3ó?©»»›mßh3ƒÀãñ‚‚‚oß¾e‚ ¾¾¾7nLKKóóóóññÑÑÑÁb±«W¯îs-ƒAÿC”””˜éÕÕÕ}!ïÞ½»~ýú½{÷ЗsæÌqtttuuE+¢LètzCCCŸ‚Xa+OQQñÓ§OÌ<ÉÉÉúúúsæÌQRRºqãšØÛÛ;ø ÈçÏÿÝ%&fúéS-ƒh©&¡¡¡¡ƒç ðñ±qyV EDDââ☠ˆ““Ó¡C‡bbbÜÜÜ¢££ÍÍÍq8œ¸¸xŸk1Œ€€@SS“ùኋ‹Ñ [ôõõ¢¢¢ÐÂŽŽŽ°°0“´´4___Öœ4 íÛH S@BPPÐÛ·o…„þ}x?!!áàÁƒÌÞ<îÜ9##£ÞÞÿqyf‰g«DUU555•µt+++ <¶àÝÝÝ<†ŽA ³‘‘‘zzzÊÊʽ½½Ïž=kmm]¹rejjª¢¢"ZHIIéêêè 3úúú?jii•••åççÿú므’’’¶¶6´µÉìééé/ÏÀÀàÊ•+sæÌÉÌ̼sç:^ÝÜÜœœœljjÚÕÕµsçΓ'O¢½l‘—Ÿúÿ'zæÌ…GR=ÊÌÈ(Åá° £ÏfLüýû£vv¿žGXXØËËËÏÏoåÊ• ,èîî lll´··‰‰QSSC}ÿÉ“'ííí {ß477¯¨¨xóæÍ²eËòòòÒÓÓ=zxÿþ}ss³¥¥%ë±¼¼üáÇϟ?¿hÑ"===*•xôèÑ-[¶èêêÖ××·µµUUU)**FEEµ¶¶ººº†¢MÌÉÉqvvŽ—““cžÒ×ׯ¯¯÷÷÷ß·o€N§‡‡‡ëèè JHHô/q Ø*Y½zµ³³s~~>?qâĆ –.]Z[[K 6lØÐÞÞ¾`Á‚ˆˆ´×ƒ› s˜ÓÁÁ¡··wÏž=3gÎlmm7oÞáÇ—-[v÷îÝ={öˆŠŠÎŸ?Μ9çÎCù} æã;pàÀåË—ùøøººº§N xùòeAAjÌã©S§þòË/.\¸{÷®””TCCƒ””ÔÉ“'Ó§O_¾|ùîÝ»p8Üà4¶òüýýœœŽ;6eÊ”––777ƒquu ¹sçNGGÇÊ•+q& F¯­íb[ÛÅuu­ÏŸç=yò>7·ŠŸŸJ˜(ÞÞÞ]]]‹-RVVnll\¸páíÛ·EDD~üñÇ“'O.Z´HLLLWWÇoݺýå÷A@@àúõ뎎ŽüüüçΛ>}:àþýû¨A°Ÿ8qBDDÄØØXVV‹Åvvvjhh|úôéóçÏòòò›6mÒÕÕ?>Ÿ±±1€­ÀªAIIiß¾}ׯ_nmme®x !!QSS3mÚ´°°°íÛ·Ÿ:uJAA¡²²RAA])CVV¶‰ÁVIFFÆ¥K—¬­­%$$Ñ)EX,öÚµk§N:qâÄׯ_¸ï€íŠRMMM'Nü¿öî3 Šãmø\¡# H‘Þñ¨R¤( ü+Š ’`I$ R ÑÄÅ‚ŠAÄ®ˆ^¥B¤KUª¡#RŽrmß›÷BÎÁQæ÷ioovæÙ;îagwvöðP6îêê*--ïÕ?ÿô铤¤$Ïׯ_«ªª455ÛÚÚú<©‰ ȧOŸ‡2†„F£•””tttˆ‰‰ÉÈÈô|«¦¦†L&±ž^áiii ÆÇ•••{ÕPRR"##Ã<ÔÀÛ·o=Úëó,)©{ö,3$$íóç/Ìéù1ÌÕ«[&ÉĆ!Î2@&“sssåääzu•³³³•””øùùëëë‹‹‹›››û<¡ƒ Hvv¶––ÖÇ2twwøðÇkiia0???SSSô?Diiikkk¯ªzEbjjÚ³¶ÖÖÖ÷ïßëêêöyî E¥R322ÚÚÚddd˜×ÚP}¶ØŸ>#¡ÓéYYYsçÎíUCff¦ªª*ßà3 ëû¢Q%¨§>ŠÁ@RSKI¤Œ°°Œ¶¶nÉÓÅ`ñ4vÆâûš¬ÆL.X,fÁ¥ ”¼½íÞ¾-$‘2¸¹‡:Œ‚Ø&ˆqÅÁ[²DcÉ’IvÇ4mM¾»G 70A@Ô/˜ êLõ &‚úAýš¬—9?nc0YYÑÖF™9sð‘Žã¦­­ëÿŸEîñL­Ž¯_;ššÈMMíÍÍäöö®ŸÉÁ«ƒ öé#Adgg{xxŒ(ÃÒÝ-ØÒ¢(&– £¡AWX¸‡ëìY «K˜Nçâå­Ç`ú¾ášµètžÆFqñ]22ntzÏ¡l<‹>UœNg0ïòœ1ƒ[M wïŽ:£4ñ1oef¡Þ ÂÈȈåmŒ…/_¸›šø1…–ÖV®¦&=-­&>¾§rc00ééâííJ³g“%%Û99Çþ×… U±XLOF «;æ© ‚F‡Îª0é$&–$%}¢Ñè òõkGCC+‚aa™ââÚÚ2,#**ðâE¸åËrttÞ;‰a6O³ —¾ŒŒðÛ·… æÛ9c89ñ·n%ÄÆæþÜŒÇcÅÅq¸Éš©¡©m²v1NŸŽ¸ví :ìûüƒÁ<¸r÷îEA/>SRR×k8ÇÁ]·Î`Çsñ1 ²²²ÉÙù~ffEÏÁÉ‰Û²ÅØÚZóåË/_æUU}áâÂÏŸ¯¸p¡ª™™ª––ôÄyÀMÖñÛoOïÝK꿳€ùá³cÇVc0˜—/ó¾ÿþfŸ»‰ÃaY¶LûçŸÑé ðæÔ© óÿg+1ì´´üç\IEES||q||q\\Qkkç¬Yü (›™©ZY©KHôžÄ‚ÆÙdMûö‰éÌã ôÚ,³fþùóßáñØeËÎååU÷7‘,ƒ¹tiÓÚµcmZZ™³ó½ÚÚVŽÇã OðòöîÝÐéŒþŽ/þë¯â””OT*]NNÄÊJcéRùó¹¸&ëˆhR›¬ ÂÉéfddîÀe°XÌâÅ„ë׿Ïή\½úrŸe0Ì… ßÙÛσÿ£½½ûðá?ƒƒS I¤~]‰"“»“’>ÆÄ|xû¶ðóçfnnŽyó`“5A¬]{%9ùÓ Åp8¬ü½{;·o¿™œü‘JýÏAƒ9vlÍ? 4Ë(kÅÄ|hhhÛ´iƒMzôA [[»DEg)™™©.Y¢!.ÞÇ4ŸÄB“5A,]z6/ïï¡•Å*üòËòµk¯þ÷\&°°˜óàÁ¾:ÐhŒüüú ÉÉ DSSÚÌLuáBUCCENNØXo²&ˆ ŽWT4 ZŒ‹ ÏÅÅáâ²dÛ6“½{ÄÄ|@Ïkb±33•„„»vY<¸rÒ´77“Jâã‹Ñ>§<ÚA/ñBKLÖ¡¥õ{SÓ@ÏÈáàÀqrâ]]—üðƒ:Þ¡  ÆÊê ‚ 8vÅ m??‡¤¤'§[&&*~~['ï,²Ì>ÈÛ·…mm]ââhdáBUAA^vGMn“5A()ýÒÙùÏ8:ýßgXápX,#--訮þŸÛ%wï¾÷矖–snßÞÎÁääTmÝ(++|÷3ôÀD†öAbb>ÄÄäçå}Æ`0RhÄÈH Ý_–I™ ‘–vÇá04ƒ‹‹CYY¬°°FJjfUÕÀªUºžž6»wß“‘ tì¹ayy£—ñöm§žÇ ••M›6àñ¸vJIÍç}#_¾Kâã‹ß¼)üûïf^^N}}ù… U—.Õ»aÐÔ3)D{{÷’%g­¬Ô/&,X ÜÝMÓÒúMSSJ@€ç·ßl54¤‰‰ׯ÷#,Pê¹-ƒ|{es3yÛ¶ ªª/ììuÐ1ôêƒÈɉ˜™©š™©š›« ð°;:hB›” â[›6ppàîÜÙÞs¥£cÐß7GG»åÆêÖÖ®íÛoæçWß½»COOnÌ"e'؆kŠ$ˆ»w“Ž ËË;Öóþ«òòFsóS>>ë‡xc5…Bsqy‘sîÜÆuëÆp`åDÐÔÔž”ô1>¾øõë‚êê¯3gò™šª˜™©ZXÌ‘–ž"ý,hô¦H‚hhhÓÕ=ôƒµµfÏõ‡‘ÂÂ2̘1¤9éh4Æï¿?½{7ÉÍÍÚÍm餻ü92Ì>È›7ííÝÌ>ˆ…Åœ!~nÐT5EÀÖö¢²²Øùóßõ\ÙÒÒal|bÛ6“ýû— ½ª‡S~ý•¸t©æåË›'ïåÏè{Wú×_ÅññʹŸq8ŒººÔ’%êK–hhjJOü)° –›: ÂÏïõÕ«¯³³ÿÀãÿ3·Ây{‡ÇÇÖ‘ó_íÜy[EEüÖ­í³fñ³:ØI€Ùyõª ¦æ«°0Ÿ‰‰Š™™ê¢EII!vG“©“ JJêÌÍO‘H{ {®§Ré––§µµeüü¶«ÂšmÛn`±˜{÷v*+‹±4ØI†Ùyýº€Lþ·biIàççbwtК: `iyÚÌLõ?ÖôZN A"ý<¾bŸö§¾¾ÍÑñFYYcPÐ÷ÆÆÊ¬‹t²êꢦ¥•1û œœ88ÕÍÔ6¥Äùó/ïÜIxÿþÈ·3¸mÜèßÞÞî2Ü?âînš«ëȈ_ßc:gÄ¤ÓØØžœü1>¾866¿¶¶Nu3%M©QZÚ`jz"4ôç^ƒ£ùùÕÖÖç.]Ú¼fÞp«¥Ó‡ÿyûvÂÿÌd7ÍÅÅÅ?~œùA@Wo[™<£³“Œ°p£„D-#œbbbÆ¡•)u°¢¢( ùüyÖ· B]]ríZýãÇ×,Ñn·‡Ã?n§¢"~è)?¿úìÙ ÓêÒÆ·êêêbcc¿yd €f­¥¥… ‡BBp0ÅX©ªªJII§Æ©åüùhßi4ú·o}ùÒ®¡qðÀÐWžž^¦£óû¢E>£ˆqÒ ™z9“Èx~þSm¶õU«tëëÛÞ½+ûö­™3ù¼¼Vܹ“™Y9²Êõõ壢Ü99qË–OH(]¤4 Lµ¡¨(ª®.ùüyVŸïnÚd¤«+w౿ l%!!øçŸ{--çlÚäãÆ_£ˆ‚&©– ¶¶sŸ?Ïî3`±Ÿõ>ü}ÿ~òˆëçâÂ_¾¼ù—_–9òçþýÇô9]Ä^S0A,_®ÝÐЖ–ÖG/@ ÌÞ¶ÍôÔ©ˆÆÆ&¤ƒqv^ìï¿íéÓ÷ëÖ]mhhqU4‘MÁ¡¢"N H††¾ï¯À/¿,çáá8vìÙ(Z¹RçñãÝ••M«W_.)aý“×!ˆí¦`‚¬]«ÿüy6ú`¾oñós:´ŠHLOLü8ʆôôä"#ÝyV¬8Þ÷‰éŒJ¥»»»Ÿ>}º¸¸x€’ÍÍÍ>>>£o±ºº: ÀÃÃãÕ«WT*uœ+ihhðóóûðáÃàE'‰©™ V¯Ökkë|õª`€&&*†Žþ ‚„„à³g.Û¶™þøã]xJ¢§šššùóçŸ;wŽ——7''ÇÈÈhÏž~ŸÔÒÒ4ʃƒƒµµµ333EEEOž<)##C&“dzggçëׯc±Sèg5>WSÇŸÝåíÛo P ´´^^ÞãêÕW¬j122GMÍËÚú\ee«êœ˜†xÞÞÞ~Ù²eT*}™——ÇÍÍ]ZZ:véééݹs‡ùÒÂÂÂßß<+QVVNLLn‹ÃÇA°€~lì‡ÖÖÎþ ((ˆþôÓ¢sç¢Ñ©nGÏÆFëÅ‹}ÝÝÔeË|ãâŠXRçäU__ºmÛ6<þŸÑºAAA555€W¯^­\¹RXXØÄÄäáÇ€ºº:[[[tCkkk"‘())™ŸŸ_ZZêææ&--½{÷îüü|´ª3gÎ888ôZ¦R©%%%Ìæººº€üñúõëèʶ¶6ƒòòr4 --­Y³fíÙ³ÇËË+""b€JÊËË---™ë7lØššÚ3ZCCÃÊÊJGGLjˆˆ>÷””d``0kÖ,‡ÂÂBteII‰•••¹¹yxx8+¿†ÑŸ<4þ¾~%ËÉy§ P¦³“bdt쇂XØn[[×η¥¥ÝΞ¤Ó,¬yâʰððp,ÛØØÇSƒ¡¦¦ÐÜÜL$EDDÈdrYY‚ UUU¼¼¼–––>ìêê’••õòò*++óöö¤P(‚„……]ºt ­­çòp8œ­­m```ÏC•+W®Ì›7]¾{÷îܹs¡P(‚‚‚§Núôé“““¿wïÞ•ˆˆˆ0_êèèÄÄÄôŒ¶®®NAA!**ª«««Ï}¤ÓébbbÞÞÞŸ?vuu]µjZ•——WUUÕÍ›7²³³Gÿù³Ê”M‚üðC½ýÕ˼~]0{¶ëË—y,l—Á`ÆÉʺ;8~ýJfaÍÄPþ@&&&t%™Löññ¡R©•••²²²tú?7ØÙÙ?~|à}„] Ö°³ÓOJúXSóu€2––s¬¬Ô ëï’Ç`0˜íÛ>~¼;'§jÙ²óÕ¬ªy¯­­-(øÏy⸸8‰ÄÁÁ‘••ecc£¤¤´uk³ø`±Xsss@ll¬±±1s½™™Ù·0"B§Ó |}}srrrss»»»œœ¢¢¢‹/ mllŒß¼y3 &&†Y¹€€€ººúÀ•ô‡mO}îctt´‰‰ ºÌËËëéé‰Ç㣢¢ååååååÐ^Ø1•ÄâÅê||\ááÙóö^[_ßzþüKÖ¶nh¨î*(ȳzõe)ƒµ•O|ÆÆÆ¼¼¼ho… È®]»Ÿ={¶wï^âââ””žÞÏæÀ`0œœœMMÍ¢¢Ïæ¡?ã>EGGkhh0_jhhœ8q">>¾»»°iÓ&"‘H$—/_.,, PUUeVN£ÑгWÂD£Ñ***zEÛSŸû¨¦¦VVöïø="‘H&“ÕÕÕ544Ê{8{ölûÈãs Â.®®—,93h±»w¥¥Ý23+X@w7õ÷ߟJJîsqyÐÞÞÅòúÙbˆ‡¸‡–••E{Ô.\˜9s&™LÖÓÓCË„††ŠŠŠzv1p8únww·€€@||<‚ ÙÙÙüüüMMM‚¤§§GEE¡e˜Ë_¾|¼zõŸN%Fsqqa6ÔÖÖÆÇǧ®®Îܰ¶¶–///Aîß¿?@%555x<í§<~ü€v1˜Ñ"=º}îãׯ_g̘¶©®®Ž N—’’zòä ‚ ---rrr©©©,ùüYbŠ'ˆ´´ÒÙ³]³³+.Æ`0Ö¯÷[´è4…B‹0âã‹çÎ=l`p45õÓXÔ?ΆøJ¡PУhUUU!!! ‰„ Hgg§šššžžž………›››†††¡¡aŸ A»w睊©ijjÊÉÉ1OFº¸¸~»!&&&&&¦§§'""¢££STTĬjýúõ222ÌÞ>‚ gΜUWW_°`@øóÏ?®dË–-"""FFF¦¦¦h§¿Ñç>"ríÚ5]]]))©ÐÐf ‰ZZZêêê¬úüYbŠ'A.}z0½ö]I£ÑÒÓÓ¿­!##£½½}(ÕÂÁJW®Äºº¨ƒ–ôó{-+ë^XX3F‘0¯n¬]{¥ººyŒZScÂ˜ÆÆFQQÑÐÐМœggg%%%cr\–†W1XÉÞ~~{{WttÞ %wí²ÐÖ–qw4âÙ"†^ÝxöÌ¥ºú«¥¥Ï³gðÞ v ŽŽÞµk™L~óæ œ•û[S?Aˆ‰Í07W I´$‹9qbmNNÕ½{#Ÿ-bP::2ÑÑîVVê?þxgïÞ”±k ˜™™Y@@@RRÒ­[·dddØÎD4õ`Ãø¸¢êêD ´´¤{{‡WV6]<3fp_¾¼ÙÛÛ.<<ËÎîʧOõcׯ´HÖÖšBB¼DbúP »»Û¨¨ˆ;;ß£Ž ƒÁ|ÿ½Ù‹û(ú’%g¯_c0¦Îó )cZ$ÜêÕz!!ï!<Ç^¼¸)/ïs`à˜O9©®.íîîn}âÄs[Û pÖh¢™ `o?¯¬¬!#£b(…UTÄÝÝmNzQT4æOÁã±Î΋£¢Üh4ÆÒ¥g¯^}5¦G.4,Ó%AèèÈhhH=|8ø©JÔîÝ‹æÎ•Ý»÷ÁøL3gÎìçÏ]=}“êêæ9süòË㱋ª?­­¿þúDJjߺuW>~¬ÿúƒõ…Øk|¾ëéuX¹ò‚¬¬ˆŸ_ó”ô‡DÊpv¾wû¶ÓÒ¥šcX ª÷ï’]¹m›é/¿,î£É!h4¦Ñ9ÔÖ­Æ/^dë±ZkÖè­Y£çîR_φ'h’Ïží=wn#‰ôÞÌì$|ú4ž¦]‚øßÿtyy¹†rkFO'OÚóòrºº>d˃±·Ÿ—p`Éõ¼»mÛ VÍÄ A›v ‚››cíZýû÷“‡uQ@€ûòåÍññÅ·o'Ž]lâõñYê\QÑdaqúܹ(øh¬áŽ9ÂîÆ›ŒŒðÅ‹±òòò³†¾•”ÔL2¹ûò娕+çΜÉ7vá LZZxÆù ýêÕ×±±ùÚÚÒââ‚ì šò¦ÝIJ”­í ¡À@ÇamE¡ÐV¬¸€ÃaŸ=ÛËÉ9®W=¿U\\ëåELK+Û¸ÑÐÓs™˜Ø öÆMIÓ®‹Ú¹Ó"22g¸Ã89ñ·o;UV6ýþ;iŒ:UU‰ÐPg?¿­ Å&&Þ/ÆtuðYµÔŸéØÅ()‰…„¼ëèè¶°˜3¬ xTU%þøã™¼¼ˆººä…7D FMMÂÁÁ˜‹ õêëû÷“EDø „ÙjT4©MÓÅb¨TÚ9:šwˆ¤’’Ø—/ä‹c–/×fÛÉ&;ožÂ¦MFõõ­>>‘/_~•–“ÆéêÏ4íb¶lYÀ` C¿5£§Ã‡W))‰íÚu{âÕ óy{¯Œt›5‹ãFÿõë¯egW±;(hÒ›¾ BPwíZƒ7þÁM“œœx‡¿ÿnþã°±ˆmÄ44¤îßßùçŸ{¨TÚòåçwíº“Ÿ?ü±Ê4íb ääD.^Œ;WVQQt¸Û ñÊÉÍ:~<\QQŒ@˜=ᘔÔÌ õôäž?Ï>{6*3³RVVXRr&»ã‚&Ÿiz™“iãFÀ£G?Žls7·GÙÏŸïSVci\¬ Hllþ¥K±ïß—kjJíÙcµr¥<… ÝtO±±ù¯^íÙQ@WuõêË”/öMäÛ¨Þ½+EVÍ™3ûÇ-ììôq¸éÛ»„†nº'A.]¾ûæM¡¦¦”“ÓÂ5kôØ>Ü šà¦õ9ƒ¡Ó7nüåèhÂÅÅ1‚øù¹ ä||"q8¬‘‘Ë#d!iiáµk ll´>n¾råÕ;‰­­]**büüÜì š ¦{‚¨¨H\¿þ–kÞ<…‘Õ )9sÆ î'žÏ+« 0ìóãLLLÀÆFËÉiá¬Y3=J=}:"5µTHˆWQQžž€z™î] Ôñãá¿{÷î7÷H"PûöGGçEFºÉɉ°0¶1E¥Ò##sn܈OO/ÓÑ‘ùî;£Õ«uxØ4QÀõõm††=ºÆÁÁxÄ• ',i4úó箣I4l‘“Suÿ~rXX&…B³±ÑZ¿~þÂ…ªðD&Ä?<p8¬’’˜­íÜ5kôñxlxx¶¿ÿÛ·o »º¨ÒÒÂ||÷:.4FàÄ¿vì¸]^Þøò¥û(ÏÕ§xz>¾uËiÉ VÅÆt:#.®ˆDʈŠÊíꢚ™©®Y£·l™öDñ±LÿÊʪ\¾üüãÇ?™šªŽ²ªß~{úøñ»°0¶Â¾~ýúè+¡REEí¹¹­?¶c0@Mm†™™ˆ„¼8:Õ(**ZYYõ\Ĭ_ï‡ÅbG<òš‰Ng|ÿ}PQQí‹ûfÍâgIl#ÃÚ+—X,77·*Z[[…ò7 k†&{{ûÇ÷\ÄÄÅ}÷T”ÛèÏ̵µuýï—fÌà~òd7,b0˜õë׳+h²@ÿHz%xë?ÌÍÕ´µe®]cÁ{gÌà¾}Û©´´ÁÓóñà¥!hB‚ ¢·;Í#"r*+›F_•¬¬È•+[H¤÷~~¯G_?˜ z[µJWZZøÂ…–Ôfn®vèÐÿ¼½Ÿlê*b/˜ zÃã±6Ož¤}úTÏ’ ·o_øÓO–nn¢¢rYR!˜ ú°jÕ\EEÑ‹Ys8xpåÚµú»wßKO/cU4`‚è‡uu]J"e°ê ƒÁœ9³ÁÐPÑÑ1ˆUuBÐ8€ ¢o,?ˆààÀ~/))´yóu¶<%|`T*588ØÝÝýôéÓÅÅÅ”lnnöññM[$©çµ´×¯__ºt‰ù²  àĉCi¥´´ôÛëô•••tú¿O-½qãÆñÿB&“¿­gè;5âݯ®®ðððxõê•:ŒÉÐüüü>|ø0‚FG&ˆ¾±ü ÀÏÏuïÞNAÉänVU;z555óçÏ?wî//oNNŽ‘‘Ñž={ú+ÜÒÒ4šæŠŠŠ~ýõWæKooo—êêfß~ôèQppp{{ûÀ­øûû+))-Z´HAAÁßß]6oÞ<fW®\‰ýüùóçÏŸ}}}ÅÅÅÃÃÇ»SÛ·o/++JÉ>kkkgffŠŠŠžZÕ™3gz-ëëë &&&Þ¾}K 6mÚ `0ïÞ½³´´d¶ÒÔÔdeeõìÙ3---YYÙÇrssmll óçϧÓéYYY¹¹¹ÍÍÍh²²²¶¶¶D"ñÛýÕÑÑÉÈÈèÿ›7ohnÆ õõõ6lˆ80ôÓÒÒš5kÖž={¼¼¼"""¨TjII óãêêêÊËË---™ë7lØššÚ30CCÃÊÊJGGLjˆˆ>¿@RR’Á¬Y³ Ñ•%%%VVVBBBæææß1 Ã8d¦ÉkŒ"‰/–—÷Ø»÷Î`yå=ÁŽ ÂÃñXlccã·o1 55µ€€€ææf"‘(""B&“ËÊÊøøø©ªªâååµ´´|øðaWW—¬¬¬——WYY™···   …BA$,,ìÒ¥Khm=—mmm]]]qqqÙ¿ZZš°°0FËÎÎÆ`0MMMÌVjjj899íìì***222¸¸¸>|ø€VÒÝݶsçNMMÍ®®®ž‘ùòEQQ144AóçÏ744444ÄÄÄèè踸¸ôŠ¿°°p€æš››gÏžýæÍ …2p` EPPðÔ©SŸ>}rrrÂãñ÷îÝCäÀ8ÎÖÖ600°ç¡YAAˆˆ󥎎NLLLÏÀêêꢢ¢ºººúü:ètº˜˜˜··÷çÏŸ]]]W­Z…Ve``àååUUUuóæMìììAÿTú<‚€ b$Ò{ii·’’:–×üöm¡œœÇD–×ÜÓ  âÁƒ}¾E¡PÒÓÓÑåââbŽ’’’ž ðòåKA²²²¤¤¤˜¢è4zþüùyóæ!B bcc †¨¨hRRÒµk×æÎ‹ HÏß!úOÝÐÔÔôÉ“'èruuµ®®.‡óöö¦Óÿí¯½~ýZEEe÷îÝh§IGG‹Åâp8'..îææVSSÓ+þA›cv1.ƒÆ HKK ‡C‚ iiiûöíÓÒÒÂ`0ÖÖÖ%%%Hÿ ‚‚ JJJh_©Ï¯#11‘@  +Éd²•J­¬¬”••e~&vvvÇàë@Á.ÆHØÚΕ“¹|9–å5››«]»æpï^Òáò¼ò¡¯­­-((è¹2..ŽD"qppdeeÙØØ())mݺõÛm±X¬¹¹9 66ÖØøßÙúÌÌÌbbºdii™™™Y\\\^^njjŠÁ`–.]œœÜó› íMp8såìÙ³322êêê|}}I$€Á`xzz:::9räêÕ«Ì£ú€€F£ÑjkkÏ;'!!Ñ+þ¡4×§^%cbb˜Ÿƒ€€€ºº:A:n``àë뛓““››ÛÝÝíää4@µ}Öç×mbb‚.óòòzzzâñø¨¨¨ÆÆFEEEyyyyyù„„4LƒÀá°6¡¡é>°þîæeË´|}¿ úëÂ…—,¯|ˆŒyyyÑ.. A]»v566>{ölïÞ½ÅÅÅ)))<<½'³Å`0œœœMMÍ¢¢"æú¢¢"ô·Ñmmm!!¡cÇŽ™™™qqqlll¢¢¢’’’úL½Îᇇ‡Ÿ9s]155EܪU«êëëóóó7mÚ4”}gÆ?psèURUU•ù9Ðh´òòr@tt´†Æ¿Sihhœ8q">>¾»û?W²h4ZEEÅõùu¨©©¡—WPD"‘L&«««khh”÷pöìÙ!îQïÙfÓÊêÕzzzò‡‘Æ¢òuë ΞÝpæL»nèâááñôô¼téRNN ³³óÒ¥Kõõõ›7oîèè˜3gŽ••‡{úôikk+ƒÁè³KKËòòò„„@NNNrr2z&ïýû÷èÙÇ^Ë ÆÂÂ"88xéÒ¥èkkë÷ïß—••-\¸pИ544¼½½µµµ¯_¿Þ¸qc^^^jjê¡C‡Ð_Å—/_FûéôÐß¾÷´råÊ””tÌÂãÇÛÚÚ0Œ¡¡amm­ŸŸZ†N§‡„„èêêrqq µ´´TVVH$Òׯ_¨¼Ï¯cÅŠïÞ½C[ŒŠŠ:|ø0ß‚ ª««Ñs´­­­ýrG>XiH\¹fÍå7o --ç°¼ò kjZNœxÎÃÃñý÷f,¯PìèèÐ××WTT¬¯¯Ÿ;wîÍ›7yyyW¯^}äÈ}}}=== ‡G}[''ç•+W¶oßÎÁÁÑÖÖvâÄ aaaÀ½{÷RRR¬­­{--ZD$—,Y‚¾ÕÑÑ °¢¢âŽ;‚œœ\uuµ‹‹‹²²òÅ‹•••™Åœ¯\¹2êvïÞ}åÊ•Y³f PL\\üÈ‘#–––¢¢¢‚‚‚ŸŸæÌ™ÁÁÁŽŽŽG•––®¨¨––F‡ŠIHHlܸQOOOEEÇ›™ ôí÷ùu¤¤¤øøøØÚÚ Õ××£CΰXìÅ‹=zøðá/_¾lÙ²eþüù#ÜóAO]@(‡ÀE‹NÝE‡³g#gÏv½zõk«CjooONNF‡'ô”••ÕÖÖ† H]]]||®Z¥ûôéž¿þ*²³»ÒÔÔ>ÖÍAз`‚6NNüþýË=JÍ̬ë¶ôõåH¤=õõ­¶¶ËËǺ9ê&ˆ‘°³Ó74Tüå—ÇtúàÃoGIEE<<Ü•ŸŸkõêK¹¹ŸÇº9ê &ˆ‘À`0ÞÞk k‚ƒSÇ¡9qqi††”Ý•7o Ç¡EúFlM „_¾ u(ë(uuQœnÊË{„‡g }+vÿ}A“É·#)áÃ{G®¥¥ÃÔôäªUºÞÞvãÓ"ƒ:Dºs'ÑËkùîÝ‹†2JïÉ“'ã45HKK/X° ç˜ FåÁƒd//bt´»ººä¸5úçŸîî!&&ÊW®là·v¡i&ˆQa0[Û xéçñuŸ—÷÷?qrâoÝrRQ·v¡éž¤,sâĺôô²ðð¬ñlWSS**Ê}ölÁ•+/DGçgÓд‚;rä»c˜Ü$$«ª¾Ü½›´u«1Ç S²§A{{÷o¿=íꢚ™©Lö¡ &00PxK¡ÐLMUƳ],³p¡ªϹsQM‹ðxxH±ü{bY³ø]\–¼eË`G'§…ýóaùòóEEµã4…ÁÁÛ·/TPõô aËI_ccå¸8/qq¥KÏž;o‡Xv1X‡ÃΟ¯pút¤¯®®ÜøÀÇÇeg§?cÏ™3‘))¥ ªòóÃ+ ÐhÁ#–!$úÉÒÛûyEE[À`0Û·/üóϽŸ?±²:ÞÆCS ÁJ méÒsRRBìbcmm]¿üò$,,sóf££GWóðôñl ØÅ`%«¥%sêÔ a )v…ÁÅ…_¾\{æL¾k×ÞÄÄäëêʉ‰ °+hRƒ] Ó×—Û¶Íôðá?ÚØƒù᳨(w..ŽåË}ï줰1h’‚] Öëè ,^죣#ëïïÀîX <<ë×_‰¸ãÇíV¬Ðaw8Ðd»¬ÇÁSR;yò¹ººÔD¸QBMMÂÎN¿  Ú×÷eEE“¾¾»ƒ‚&x1V\\þõWÑÛ·¿ ò²;–DFæþñGXcc»³ó¢]»,àÉKhP0AŒ•¯_;ÌÍO-]ªyæÌzvÇò/ñèQê™3‘4cß¾¥ŽŽ¦pt64ØÅ+ÜÜbb3Μ‰46V––fw8ÿÀb1ÚÚ27Îoié¼t)6**W\\@QQÞèõ AŒ-'§›>TÇÆzòóO¸nyyãÉ“/^¼ÈVU•pu]²rå\ø¤?¨˜ ÆVkkçâÅgŒŒ”._ÞÌîXúVUõåúõ¸{÷’ÄÅvì0wp0æä„Ol…þ»c‹‹‹ƒ@˜}ìX¸²²Øœ9³ÙNy-"ØÚÎýü¹9 à-‰”I£ÑUUʏ8ØÄ~ðb<üþ;éÉ“´×¯÷KJ ±;–”—7^½ú:44‡ÃÚÛ89-TRcwP;Á1::(K–œUV»}ÛiâŸüúµ#88õÎĪª/––s¶o_hn®6ñÆÆÄ¨× É»w¥ÒÒn7oþÅî@†ŠNg¼|™·qã5QÑ­ìþ#…†äÛ§ZŒ<‚?.¼<þ%‰´GO FŒËá꺧×ã ‰Æ××WFFæñãǬ­&ˆñÃ` 7úþü%:Ú}ÆŒI3› ƒ Y¿~ ÷‚¾…~A,OpÝøÁb1—.mjmí š B>FmIDAT ìbLe ª¹»[Ÿ>‘0Ðùÿ‰I\\¼¶¶¶   çʸ¸8‰ÄÁÁ‘••ecc£¤¤´ukw…b±Xsss@ll¬±±1s½™™YLLÌZZZfff———›ššb0˜¥K—FGG'''÷<ìgB{Ç\9{ö쌌Œºº:___‰`0žžžŽŽŽG޹zõ*G„N§øúúæäääæævww;99 s§zê󣈎Ž611A—yyy===ñx|TTTcc£¢¢¢¼¼¼¼¼|BBšãØ&ˆ‰ÂÅeɲeÚ;wÞùø±žÝ± ±±1///ÚÍF!²k×®ÆÆÆgÏžíÝ»×Ã㸸8%%…‡‡§×¶ †““ ©©YTTÄ\_TT¤®®>@£ÚÚÚBBBÇŽ333ãââØØØDEE%%%õ™ z]G?sæ º,""bjjŠ&¸U«VÕ××çççoÚ´ }7::ZCCƒ¹¡††Æ‰'âãã»»»{VH£Ñ***zíTO}~jjjeeeÌ2D"‘L&«««khh”÷pöìÙ>бÅòchÄ(š½½Ÿ®îáêêfvÇò/0„«‡–••E»Ê.\˜9s&™LÖÓÓCË„††ŠŠŠzv1p8únww·€€@||<‚ ÙÙÙüüüMMM‚¤§§GEE¡ez.#²nÝ:wöìYôe}}=Çáp_¿~E¾éb0·277òäɧOŸëëëÑ3fÌ())ÉÍÍ5kÖÇËþ_SSÓ—/_¯^½ŠnN£Ñ\\\Ъ©©Áãñ‚ ã2Ð.s§]Œ>?Н_¿Î˜1#//AÈÈHuuuAètº””Újii‘““KMMôk‚ç ¦…––NKËÓK–œioï¼ô¸J‚ P(èᱪªª……‰DB¤³³SMMMOOÏÂÂÂÍÍMCCÃÐаÏ ÈÝ»wÕÔÔ455åää˜'#]\\ ¿]FÄÏÏÐóž¾¾¾¾¾>º/y Â`0233i4Ú(cFd€V˜ºººRSS™g"@¡PRRRbbb {½õéÓ§¡ÇÜë£@WÒh´ôôôokÈÈÈhooJµÈ˜%8aÌDôî]é† ×¶m39rd5»cÆLp˜idþ|E_ßïÿò÷ËîX i >"e‚Z³F¯¥¥óàÁPîM›ŒØ4MÁ1q9:š46¶ýòËAAž+tØ4Á1¡yxØ´µuýüó}~##%v‡M;ðÄDwèЪE‹NN·Š‹kÙ 4íÀ1ÑápØk×TTÄׯ÷ûôi’ ²„&;˜ &NN|pð.ñ5k.Ããh<Á19ððpÞ½»CYYÜÞÞ¯¤¤ŽÝá@ÓL“ç­[?ˆ‹ lÝX]ý•Ýá@ÓI9É|ùB¶·÷ëì¤<~¼[Zzæ8´ˆÁ`´´´ÄÅÅÇ¡-hÄrss.\ŸÍ ÖÖ®-[®WV6>zôÓœ9³Çº98Èz²022rsscm0ALJ”ï¿*(¨~ôè'uuIv‡MYðĤÄËËyçÎvMMi;»+ìš²`‚˜¬¸¹9nÞüA__nóæë %ìšš`‚˜Ä¸¹9nÝr²°PÛ²åzxx»Ã¦ Ü‘#GØ4r8vÅ mƒqðàSŽyóØ4¥À›µ&= ãîn#%5sÿþÇ55-G®Æb1ì š"`‚˜"6n4äææpqyØÞÞuú´=''üf!€—9§”¸¸¢íÛo’7oþ0k?»Ã&=˜ ¦š²²†mÛn´µuß¾í¤£#Ãîp É ^ŘjDÃÃ]TUÅ×®½™Ëîp É &ˆ)HP÷þýÿûŸÞη¯_ƒ‰ÐˆÁ.ÆTvófüÑ£aVVê¾¾yÙ4ùÀ1ÅefVîÚupíÚ6}}9v‡M2°‹1Åéêʾ|é1gÎl;»Ë¾¾ÑT*ÝA“ <‚˜ ÄÏïõÙ³Qjj.l"Æü&qhj€ b)*ªuu}˜Ÿ_íêºÔÙyL &ˆé…Fc\¿þÖ×7zöl¡“'ךšª²;"hBƒ b:úûïæß'EEå®^­wèÐ* AvGMP0AL_±±ùG†UWݵËÂÙy»#‚&˜ ¦5*•~ÿ~²¯o4‡qv^¼yó^^NvM 0A@ µµëʕ؛7ãùø¸œ;8sss°;(hB€ úGccûÕ«¯îÞMàÞ½{ÑwßñóÃNÇtôõõm~~¯>LÁb±[¶,øá3II¡o‹;v쯿þÿð Ôo¿ýfnn> Áõ¡µµëþý¤›7ãÚ–-ÓÞ²ÅÈÄDƒùw¢ªõë×'''/X°€AN[Ož< Ÿç•Àõ‹J¥‡…eÞ¼Ÿ•U)/?ë»ï ׯŸ/..þÿi:,Ž4 fÜKõ‹ƒ·nÁºuee OŸ¾¿{7éôé•-[0 ïã™à— NAAÔÝÝ&1ñ€ŸŸ‹ùé§»yy¢ì ð*NNüªUsW­šû÷ßÍß¿—Ýá@ãA@Ã&%5SH¨›ÝQ@ã&‚ú4¶¨Tjpp°»»ûéÓ§‹‹‹(ÙÜÜìãã3š¶ ¼½½[ZZ˜kŠŠŠ¼½½[[[ÛÚÚN:Õ³•?Þ¾}»Ïzª««<<<^½zE¥R‡@CCƒŸŸß‡F³ LЪ©©™?þ¹sçxyysrrŒŒŒöìÙÓ_á–––   Ñ4§¬¬L$=<<Зt:}ëÖ­•••---èS&™­úûû[Ipp°¶¶vff¦¨¨èÉ“'eddÈdòpvv¾~ý:v*]àA høìííííí‡RlÙ²eT*}™——ÇÍÍ]ZZ:veggsqqÅÆÆ"rêÔ)%%¥öövAªªª¸¸¸z– 744ü¶==½;wî0_ZXXøûû±ueeåÄÄÄ‘G?4€±n5…R4ÁÔ×ׇ††nÛ¶ ÿçb™††FPPPMM àÕ«W+W®611yøð! ®®ÎÖÖÝÐÚÚšH$JJJæçç—––º¹¹IKKïÞ½;??­êÌ™3ß.kkk:thÇŽïß¿?vìØ½{÷øøøzFÅl€ ÈÁƒgÏžmccóêÕ+•J-))a  ÔÕÕ”——[ZZ2×oذ!55µg¨†††•••ŽŽŽ}î ))ÉÀÀ`Ö¬Y………èÊ’’+++!!!ssóððpV}þ¬1>yšb†rŽÅb¿}‹Á`¨©©477‰D2™\VVÆÇLJ HUU//¯¥¥åÇ»ººdee½¼¼ÊÊʼ½½) ‚ aaa—.]Bk빌 F344äáá9pàs%ó‚ÙJxx8ƒY·n]qqñ•+Wøùùsss9pà‡³µµ ìy°SPP ""Â|©££Ó3Ôºº:…¨¨¨®®®>wN§‹‰‰y{{þüÙÕÕuÕªUhU^^^UUU7oÞÈÎÎøƒãx4CI<èó- …’žžŽ.spp”””ôL€—/_"’••%%%ÅÜýYž££#àÑ£GÌ5}&@mm-Z`ýúõ'Nœ@—ÓÒÒöíÛ§¥¥…Á`¬­­KJJþ3TA”””’““ûÛÁÄÄD€®$“É>>>T*µ²²RVV–N§£ëíììŽ?>ðÞg‚€] h¬ˆ‹‹×ÖÖô\G"‘888²²²lll”””¶nÝúí¶X,½[166ÖØØ˜¹ÞÌÌ,&&fàvÃÃß>}êããóóÏ?×ÖÖPREEE\\]¶´´Œ‹‹C„N§øúúæäääæævww;99 P 3ÔžúÜÁèèht™——×ÓÓÇGEE566***ÊËËËËË'$$ ]° &h¬óòò¢r‚ »víjll|öìÙÞ½{=<<Š‹‹SRRxxxzm‹Á`899šššEEEÌõEEEêêê4ÚÐаcÇŽ³gÏzzzoß¾}€Â•••èr~~¾Att´††³€††Æ‰'âãã»»ÿ30ŒF£UTTô µ§>wPMM­¬¬ŒY†H$’Éduuu òΞ=;@Ìã &h¬ðððxzz^ºt)''ÐÙÙyéÒ¥úúúÍ›7wttÌ™3ÇÊÊ ‡Ã=}ú´µµ•Á`ôY‰¥¥eyyyBB '''99=Åøþýûèèh´LÏå;wjiiíØ±píÚµ„„„ëׯ÷awww`` ‚ %%%$ÉÖÖÖÐа¶¶ÖÏÏ-@§ÓCBBtuu¹¸¸„„„ZZZ*++$éëׯì{Ÿ;¸bÅŠwïÞ¡£$¢¢¢>ÌÇÇ·`Á‚êêj"‘hmm%èÇ5QŒOOšb†x™“B¡ ÒªªªBBB$ AÎÎN555=== 777 CCÞç p8³’»w睊©ijjÊÉÉ1OFº¸¸0/R2—oݺÅÏÏ_VVÆÜöÆüüü?~ìó„©©)@PVVÆápëÖ­c0‚DDDˆ‰‰‰‰‰éé鉈ˆèè衵mÙ²EDDÄÈÈÈÔÔíìô •y¢ÏDäÚµk ºººRRR¡¡¡èVD"QKKK]]]BBÂÃÃcÐOÀ“”Ð7ÄjooONN®®®îµ>++«­­ Aºººøøx:Þç%A Fff&FM̨^­P(”ÔÔÔ‚‚‚že(JJJJLLLaaa¯Í?}ú4ôHzí º’F£¥§§[CFF:dcPã™ à„1ÐHÀ cØh<'Œç êLõ &‚úAý‚ ‚ ~ÁAP¿`‚€ ¨_0A@Ô/˜ ê|.4B¥¥¥ÜM 0A@#ôþýû]»v±; hlÁ{1 ê<AP¿`‚€ ¨_0A@Ô/˜ ê×ÿ‚yžÎ¥£IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/annotated.html0000644000175000017500000000005011561716354022740 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/annotated.html0000644000175000017500000002373011561716354023161 0ustar00murraycmurrayc00000000000000 cairomm: Class List

Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
Cairo::ColorStop
Cairo::ContextContext is the main class used to draw in cairomm
Cairo::DeviceDevices are the abstraction Cairo employs for the rendering system used by a cairo_surface_t
Cairo::Device::LockA convenience class for acquiring a Device object in an exception-safe manner
Cairo::FontFaceA FontFace represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size
Cairo::FontOptionsHow a font should be rendered
Cairo::FtFontFace
Cairo::FtScaledFont
Cairo::GlitzSurfaceA GlitzSurface provides a way to render to the X Window System using Glitz
Cairo::Gradient
Cairo::ImageSurfaceImage surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code
Cairo::LinearGradient
Cairo::logic_error
Cairo::MatrixA Transformation matrix
Cairo::PathA data structure for holding a path
Cairo::PatternThis is a reference-counted object that should be used via Cairo::RefPtr
Cairo::PdfSurfaceA PdfSurface provides a way to render PDF documents from cairo
Cairo::PsSurfaceA PsSurface provides a way to render PostScript documents from cairo
Cairo::QuartzFontFaceFont support for Quartz (CGFont) fonts on OS X
Cairo::QuartzSurfaceA QuartzSurface provides a way to render within Apple Mac OS X
Cairo::RadialGradient
Cairo::RefPtr< T_CppObject >RefPtr<> is a reference-counting shared smartpointer
Cairo::RegionA simple graphical data type representing an area of integer-aligned rectangles
Cairo::ScaledFontA ScaledFont is a font scaled to a particular size and device resolution
Cairo::SolidPattern
Cairo::SurfaceA cairo surface represents an image, either as the destination of a drawing operation or as source when drawing onto another surface
Cairo::SurfacePattern
Cairo::SvgSurfaceA SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo
Cairo::ToyFontFaceA simple font face used for the cairo 'toy' font API
Cairo::UserFontFaceFont support with font data provided by the user
Cairo::Win32FontFaceFont support for Microsoft Windows
Cairo::Win32PrintingSurfaceA multi-page vector surface type for printing on Microsoft Windows
Cairo::Win32ScaledFontScaled Font implementation for Microsoft Windows fonts
Cairo::Win32SurfaceA Win32Surface provides a way to render within Microsoft Windows
Cairo::XlibSurfaceAn XlibSurface provides a way to render to the X Window System using XLib
cairo_matrix_tSee the cairo_matrix_t reference in the cairo manual for more information
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x70.html0000644000175000017500000000005011561716354023551 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x70.html0000644000175000017500000001140211561716354023763 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- p -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_4.png0000644000175000017500000000005011561716353023650 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_4.png0000644000175000017500000003631011561716353024067 0ustar00murraycmurrayc00000000000000‰PNG  IHDRHýQybKGDÿÿÿ ½§“ IDATxœíÝi\×Úð“„ „ \MÜ †€Ê" !5¨\W°‘V½ˆJ‹ÅŠˆâRo¯µJ·¶©­Û‹Z[Q ˆBU  EPÙDe‰@d ló~˜Û\JY‚pþ?? 'gÎy2™Ç™9g2Á  R/XUAòÁĆ 5‚Ô†ª€F´ôôôêêjUG1vÑh´©S§bE˜Ø"§OŸŽWucWll,LlhXÐéô¸¸8UG1a0˜A¯ ¯±!H ÁĆ 5‚ÔLlRC0±!H ÁĆ 5§» åL&3??ßØØØÏÏÏÆÆF^M‡sæÌ™;w¥»Ó§O³ÙìÞ% …J¥´Žr{9àR‚††—£G„’’77·-[¶È«ÜÖÖ=Ä FFFÆË^ÚÚÚÁÁÁ555ŠëôŸr[{§’N§ÓéôþTóõõèŸ?ÖÒÒª®®¾ÀÈdò¹sç¤ËÍÍÍ‹ŠŠ×é?å¶6P€ØØØÁ­ ØÐP±Ùì„„„uëÖihü÷ÊŽL&GGG744222–,Yb``@¡PbbbMMMK—.EW\¸p!“Éœ8qbYYYuuuDDĤI“BCCËÊÊЦ>(½,S@@›ÍÈÊÊRPMº£–––””doooii¹oß¾þ·&ý999ÎÎÎ&L |òä ZXUUE£Ñôõõ½¼¼’““oÕ!‚רÐPÝ¿@£Ñz®^½€ ÈæÍ›#""~ÿý÷ŒŒŒ+Vðx¼Û·oø|~vv¶@ 8zôè´iÓlllV¯^ãîîþúõk<O$µ´´Ð6{/²³³%ËÚÚÚ§NÊÊÊ:uê”›››¼:*•Ú§#@••¥§§wýúõ–––¹sçö³5™oPKKËÏÏoëÖ­ëÖ­;räÈ®]»®]»†nvþüy‹µvíÚ¬¬¬™3g*ñƒøež:@j§?§â/^455•ùŸÏÏÏÏG—+++ñx|UUUMMŽŽ‚ uuu€´´4AŠ‹‹ÍÍÍ%+Κ5‹Åb)è”L&;88,ÿKPPZÞçäYºŽÌŽÐ“‹œœ´ÐÃÃ#>>¾?­É|ƒwïÞ%‘Hh!—Ë=tè@ xñâ…¥¥¥H$BËýýý<¨xÂ!œŠÃ#64T&&&ååå$IR˜™™ÙÚÚêççW\\¼wïÞªª*###éu±X¬—— ==ÝÝÝ]RîééÉb±úœô¤86é:2;²³³¸ºº¢…8®Ÿ­áñxé7˜ššJ¡PÐe HIIinn–|U‹Çã™™™)~(à564TîîîáÆ’ABBBš››“’’ÂÂÂvìØQYY™——§­­Ýg] £©© °³³«¨¨”WTTØÚÚG´ :Âbœ2ß ‘H”Œ¥˜L&—˵µµ%“ɵ½9rdÈïF.˜ØÐPikkGFF2Œ’’Çc0l6{Íš5]]]3fÌ Ñh8îÊ•+íííb±Xf#T*µ¶¶½ˆ-))ÉÍÍEØ RSSÑ:½—×…âŽךÌ7¸xñâû÷ï—––RRRöíÛ§££3wîÜúúz&“ hoo'‘Hèæ&0±!%Ø»wo@@€““‘Hœ8qâÕ«WÏž=K V¬XÁårœœ¨TêÝ»wÉd²¼amMMÍãÇÛÛÛ/[¶ì믿600üöÛoèuŸey¦L™šŸŸ/¯‚¼ŽךÌ7¨§§wèС¥K—:::8p€Åbüñǯ¾úŠL&‰D:îââ¢ø½ Éà.Í¡1¢ŸóبÎÎÎÜÜÜúúú>åÅÅÅ‚455eee‰D¢ææf™-ˆÅ⢢"¡P8è€ÛÚÚnݺÅápWëgGýl­ÏD …Ba~~¾t………ŠD! žaø\qH¾U«VàTTƒÁÄÆÆ¢Á@ÁSqRC0±!H ÁĆ 5‚ÔLlRC0±!H ÁĆ 5‚ÔLlRCðk›Ð[ÄÇÇ+ø) fœ¶6QCãíí™ï2*H1xK)¤HnnîË—/¥Ë©®îÈËc·ˆÅȬYk×Zc±ƒÿ9H&777 ‹A¬˜¦¦v&óÁ¥K÷ª«_“HW¯v]¹ÒY_Ÿ ê¸ ¿‰ õW^Þ³óç³oÞ|¤­_¾Üñ£\g϶TuPl0±¡·èêâ'$äŸ?Ÿ]^Þ@"M\¿ÞÃß߉@ÐTu\"0±!¹jj^Ÿ;—wŸÇøúÚ¯_ïéê:UÕAAý’¡ àù‰·RR_»vîÚµî&&ºª 8ÝýP(NL,8}:³´ô•££Õ¹sçÏ·…cÝ£¶²2TuDòÁÄCjk›L¾q£ÄLJ|üøÚiÓŒU4\`b ¯_w8tåJƒƒÕ„Ãá1µ[ÍõôO?yòO}}‰K–Ì‚“XcLlµ… “™ÿÝw7ÚÚxáá>6xjkÃ¼Ç ˜Øêéþýê/¿¼öðaÝÊ•NŸ¾ÄÔTOÕAïLluÃápü#6ö‰41>>ÔÝ}ºª#‚T&¶ú@$>>ÿ«¯®áñÇŽ}ôÁÎð6ï1 &¶šxø°nçθ'OÂÂh›7Ï×Ò«:"H•`bz=ß}wã×_³g϶JIÙN"™©:"Hõ`bnׯ?üâ‹ÄžáÑ£~ð3œÊ‚P0±G«W¯8Ÿžž^¶r¥Ó_,32¯êˆ ‘F‘HüÛo93f|îì¼?5õÑ Z ÓéªÞï %‹íýÃ#ö(S[Û~©°°68xÞŽ¾ƒ~¨ ››[DD„rcƒTeÕªU}J`bb1rölÖ7ß\·´4HNŸ5k0Ï‘—°°°€Çm5{t¨ªj )-­Œ\BÕЀ?º){¤‰Ä'OÞ>r$…H4KI‰˜1ÎfAo{D{ú”½m[LIÉË;}áê?˜Ø#”ä@mcc o; &öHÔû@ýÉ'Þxùäüöí±tº3‹µCåYÝÐÐàâârôèQPRRâææ¶eËy•ÛÚÚ¢££‡ØãË—/===ÿóŸÿ…B---ƒáèèXZZ:”6ƒƒƒkjjT`0/{ikktCoM9”t74T,V©½ý¿¿Ìʪî¾èt:NïO5___@€þùøñc--­êêêá lñâÅ>>>]]]èŸB¡pݺu3gÎ …ƒnÓÜܼ¨¨HA2™|îܹA·ß§‹¡·6@êÎ3xÄV=¿sgܺuÿçéisûö.kUGl6;!!aݺuÿ½^#“ÉÑÑÑ €ŒŒŒ%K–P(”˜˜@SSÓÒ¥KÑ.\Èd2'NœXVVV]]1iÒ¤ÐÐв²2´©Ã‡öY.**º~ýú–-[$çÞ8nÇŽ%%%‰‰‰µµµ½OhîÝ»'3’ÞØÛÛ³Ù쀀€¬¬¬ôôôÙ½¬_¿^ñ޼¥¥…F£%%%ÙÛÛ[ZZîÛ·DÒ…‚Ö¤ãäää8;;O˜0!00ðÉ“'haUUFÓ××÷òòJNNîßÇ%åÿ×õQVöÊÛû[kë]qq÷ßY§ý9b'''c±Øææfé—Äb1‘H|øÖH±ab«ŒX,>s&sòäË—3^¼hy—]÷'±/^¼hjj*ó%>ŸŸŸŸ.WVVâñøªªªÞ‰ HKKC¤¸¸ØÜÜ\²"šòz>‘:—nMfœwïÞ%‘Hh!—Ë=tè@ xñâ…¥¥¥H$BËýýý<(o‹IH'6W¦¦öð𘜜§#öÎ“ÆÆÆòòr‰$)ÌÌÌlmmõóó+..Þ»woUU•‘‘‘ôºX,ÖËË žžîîî.)÷ôôd±X4MfÓ¦M+((`³ÙÆÆû%ƒêêjô$_—‰$i_}õUuuõ;wz†……õ.‘¹ÀÕÕ-ÄádOCJ·&3ÎÔÔT …‚.„ÈÈH@JJJssóÔ©SÑrgf6˜[FÜþ4ää<]¼øûªª¦˜˜M›7ÏY pww'7nÜ” ÒÜÜœ””¶cÇŽÊÊʼ¼<éé( £©© °³³«¨¨”WTTØÚÚÊëÑÕÕUSS311ý³££ãôéÓOž<ÉÉÉñööî]S(>þ /I}0™Ì3gÎ\½zUKKKñÛW9;àÏKfœD"±÷p=“Éär¹¶¶¶d2¹¶—#GŽ ´;û‹‘ï¿O 8áà`•‘I¡ŒÜGˆjkkGFF2Œ’’Çc0l6{Íš5]]]3fÌ Ñh8îÊ•+íííb±Xf#T*µ¶¶6;;PRR’››‹{ RSSÑ:’essó;w~óÍ7ùùù@púôi …²zõjGGG}}ý¶¶¶/^ß¼yèg$haQQѦM›'NœøÖ·//ryäm”Ì8/^|ÿþ}t2/%%eß¾}:::sçέ¯¯g2™€ööv‰„nÿ{ëé;¤, oüü~š:uç»'“©ŸÓ]|>?22RCCÃÆÆF__ßÛÛ;11AG$½½½#""Èd²««kïkl'iäÂ… D"ÑÎÎÎÊÊJ2`¶uëVWWWée‘Hôí·ßjiiMž‘ôi­­­íÖ­[§Ÿ½"ò~v!3N¡P˜ŸŸ/ÝEaaaggg?ã”NløÃ÷ÃN }õUÒÙ³Y~~Žß}G×ѧêˆþûÀ¸¸8U)ƒ‰íý8*>¼ÛBC{ø°î‡>¢Óç¨:h¬€‰=ŒnÝ* »hl¬›’amm¢êp 1ŽŠ tô{ݺÿ›;wúÕ«a0«¡w ±•Ãᆆþ–›ûlÿþ6xª:h,‚‰­d%%u|^(_¹ò™££•ªÃÆ(x*®L?ÿœ±dÉÓ§gdD¬†T±•ƒÇãGFÆ]½Z¸gÏâÐÐ÷áohAª[ jk›ƒƒÏ½zõæ×_?ž?Ÿôö h˜ÁSñ¡JIy´páQ7onƒY ðˆ=xb1òÍ7×ùåÖªUs¾ý–>nÜhÚ˜wîÜñññz;x‘WÍ…âÜܧwîT²X¥••ï½7ŽJ%yzÚx{Ϙ4骎ú˜ØÆb•nÞüÛôé&gÏn05ÕSu8î­­+-­4=½ìîݪÖVî´iÆ‹ÙÏ›g3gÎ--¼ª£ƒdƒ‰=0?ÿœñí·7V®túî»U£ë¢z@yôè%‹UÊb••–¾Âb1nnÓ||È>>d++CUG½LìþêîDD\þã⯿þ`íÚ¹ªgXtvöܾ]Îb•ffV¼~Ýab¢çãcëãC¦P¬ O‚F,˜Øýòêgýúèº:Ήÿòöž¡êp”¬ªª)-íñ;•÷ïWóù"gçÉ ==mìì&a±£iP’€‰ýv……Ï7n<§¯¯}îÜÆÉ“'¨:åàó…™™,ViVVåóç-ººZ ØùøÝݧ¾§êè ¡‚‰ýÉÉÅÛ¶]rq™zâÄ¿ôôªg¨Þdd”³X¥ÙÙU<æL OO['§É8¼[I}ÀÄ– Ad>œâµwïÒÑ»ß÷™¦ÒÔÔðò"úøçͳ±´„#aê &¶l<?,,&#£ì‡>Z¶ÌAÕá †dš*;»ŠÃáNœ¨ïë;sÁ²³ódmm8¦æÆzbçç×8;OéSX_ÿfݺÿc³ÛϞݠòß²™ÓTóæÙÐhd"ÑTÕÑAïΘNìÆÆ6 %jûöE¡¡ïK KJêÖ­‹ÖÓÓ¾p!x´œ©vttÿùçÉ4•±ñø ì<=m<<¬ÿñUG©€ÚÞbÑQQôô£¢’'Múz¾’òè³Ï~§P¬þù_ï½§úç+†NS¥¥•=‰{ûIî>>d2Ù|ôŽ@J1vØ÷ïWûùG ‡¹xñ“jŽKÛ°ÁóË/—ØÄè3M5~¼–·÷ ÍÖÛ{†‘ÑxUGc4±ñõý¾´ô•H$`±MM ¡P´{÷âÞ§åä¾þ™™Þ€¾ÖÐðæúõ«4?¿–ÇãOŸn¼p¡ý¼y6..SÕøÎVhÐÆè>qíZÑ£Gu’ÿÓÄbD ¯½b…ãpw˜X¸{wüÕ«a$Ò[~U åå=“LSáñ8oïû÷¯ðô´7lCŠÅ#6Çws;ØÜÜÑç­khବ ®_ߦ«Û÷wa•¢³³g÷îø+W 0°gÏ’Ï>›/³›Ý‘–ö8+«¦25Õ£Ñà ÛÐÀŒÅÄþñGÖÑ£)B¡Œß=ÅãqNNV±±¡x¼ìß4´¼¼g›6]àp¸̬Y7on“¼Úgš A'§É á448c.±››;ÝÜtuñÔÙ¸qÞ~ÊêQò£|8Fò¿ ‹))9€ÇãÐiª?ÿ|ÒÜÜ©««½`=8Ài*hðÆÜ5öwßÝàó…Ò嚚Ƞ(ȃNwVVwµµÍ›6ýZZZ ˆPø¿ÿC¬^}òéSvWßÒÒpÉ’Y4ÙÝ}:|t¤cëˆ]RRçëû}ï·ŒÁ`p8 ‡ýàçýË}æL «TBBþ®]ñ|¾H(ìû00 œ±±î† 4š­ <Ù†”ll%öŠ?>GÓLC'Ь­M>þØkùr‡ñãµ”ØQ{;oûöØ7"Ù[XGG«¼ÐÜÜŒ~R/^¼xñ"ºÜÒÒÒÿÆÜ.„ôÛ§D&:îëë+Ð??~¬¥¥U]]ýÖL&Ÿ;wn(-˜››)«µ¢Óét:]q‘Hœ]qù×_ï¾›¨d±ûjãÆ7nÄŠ£}êçç"1à#6›ÍNHHX·n†ÆOãÉdrtttCC ##cÉ’% %&&ÐÔÔ´téRtÅ… 2™Ì‰'–••UWWGDDLš4)44´¬¬ mêðáÃÒËòH7ÒÒÒB£Ñ’’’ìíí---÷íÛ`³ÙYYY Z“““ãìì|øPñF“yľwïÙ¿ÿ}eæÌÿ˜™…[Ym73 73 ·²ÚqüxºâÖ†ÕˆÝP}ŽØÒ-$''ÛØØ ¯þôÓOóçÏG—Gû.4Ð#ö€ûâÅ‹¦¦¦2_âóùùùùèree%¯ªªêý¡ÒÒÒ)..677—¬8kÖ,‹¥ S2™ìàà°ü/AAAòA999h¡‡‡G||<"u%ÝšÌàïÞ½K"‘ÐB.—{èÐ!@ðâÅ KKK‘H„–ûûû#I èû†QAUû@òZX¾|9“É$?^¹r¥¤Âhß…dÀ‰íîîN nܸ!ùP Ù¾}{RRRXXصkרT*‡ÓÓÓë³.ƒÑÔÔØÙÙ]¸pAR^QQ±fÍšF¢ ,vÀc2ƒ'‰wïÞ•Ôa2™¾¾¾¶¶¶d2ùþýûh!ÇSü7Ož´¶jß¿ÿZSA>#ˆŠú#*êÆ¯DÌ[ž…:Böy-¬Zµ*22‡Ãùùùéè(ztÜhÙ…aÀ‰­­­É`0|||fΜÉãñÐ9½5kÖ$%%͘1ýO÷Ê•+íííb±Œ'¨Tjmmmvv¶‡‡GIIInnîåË—ÍÍÍ .ì³ÜÿFø|¹O)” ª««K:øÅ‹oÚ´©´´”L&§¤¤ìÛ·ïƒ>˜;wn}}=“ÉüàƒÚÛÛgΜçââ"¯e33ýéÓß´´t9çåUãp8±X,Ë~üý.´Wê°ÊÍÍýæ›·|S}„ìòZðññihhøé§Ÿ.]º¤øŒ–]hsƒÊÞ½{»ººœœœ¦NÊf³gÏž}öìY°bÅŠ/¿üÒÉÉIWW×ÑÑ‘L&¢ÛºMMÍãÇãñøŽŽŽ¯¿þÚÀÀðÛo¿ååå¡dïe™d6ÒØØ(³ò”)SBCC?îì,ûA…2ƒÏËË;tèÐÒ¥KõõõÙl6ƒÁ`±Øüqÿþýûöíkmm]»vöV£TqIDATí[? ±‰IW\ÜgèOÛ^½Z˜™YÃaD"D:ÃI¤‰K—ÎVÜàðáñ*P´û¢FÂ> ¯<¿bÅ ‹õþûoùQ—Q´ Ø /Ð;;;sssëëëû”wtt ÒÔÔ”••%‰dŸ""‹‹ŠŠ„Baÿ‡ÝH[[Û­[·8Žâj}‚G …Ba~~¾t………ý RzT¼¡áÍ™3™¾¾ÇÌÌÂ-,¶®Á3‰‘°Èl!((h×®]CiAšjw¡žýíÑHè—¹‘±ôxÃwcÕªU@ÎÓ JK_%&&$ä75µkkã{zD{öüsófÙ?òŒö}€Ífgff~üñÇùùùÓ§OWu8J3ÐÏe¬ýîãnEEoðx,‰4‡ÆßÓiiá·· x<1Ÿ/æóÅ==¢în1Ÿ/.-Åkié®\yœÃéâr{¸\~w7¿«‹ol<¾¨hÿðÅ3hj¹Œjª/#±CBB”Ì‚Åê¯@Ìå>æñ …Š—3h8œž¾þBM͉D £®.Ln‡„¡Rm•þ}=¥PË}`LC?|Ï`¤ûíu4‘æÌ™Æb1ÖÖ&Ê:€›˜è­]ëÞÞÎ+*zÅb¤ÿóÄb1Ó§›,Zd§§§­”!¨·1tÄF-_Î(,|Þç@ŠÅb0̸qxÇõë=I$¥=€êÆ’mÛ.uw ú<IC‹Á`‘h:¾íûï“\\¦jhÀI H9Æ\b¿X¼øyï}Ì`Hˆ×þ³\Y=Ö׿ùôÓ µ}–’™¹§±ñÍ;•ii«ªš´´ðsæLññ!ûúÚ››ÿCY½CcÓ˜KlÀ–-¿'%Ë|¢ ¯¡§§’1q¢¾{‰Ä'OÞþöÛ’5 ƒ{÷¾Txþ¼%+«’Å*Í̬àó…VV†4yÁ²›Û4¥ïAcÁXLìׯ;ÜÜòx}ŸY‡Ãaµ´4¯_ßjcc:ýÞ½û44ô›7]‚y|õ•ŸtŸ]Åb•fd”74¼Ñ×'xzÚxzÚ,X`gl<~8¢‚ÔÒXLlƒ‘~øðÍ>WÚ¸¸¸OÝܦ _¿wÛ¶Ëii/]ÚäåET\¹¢¢1=½ôÎÊÜܧb1bg7ÉÇÇÖLJlo?idÎ~C#ÇMìžáܹÙìvÉu/ƒ™<ÙðÌ™õ¶¶Jžú’véRÞʕΚšý}| ‡ÃEã,VY[[ׄ ïy{Ïðñ!{{Ï?^kXC…F©1𨀤¤¢O?ý }û ˆˆXøèÑ«?ÿ|rôhÀÊ•²Ÿ/«r"‘¸´ôšá½Äá0V }|ÈÃtùRc7±ñõ=VZú ƒÁøû;}ÿýGb1òí·7~ùåVhèû{ö,Fob±^¿îøóÏ'ééeþù¤££ÛÊÊÐÓÓÆÇ‡ìåEìÿ¹¤®Ænb j—-cÌ;ýÒ¥ÉàsLLÞž=Ì… í~üqµ¶ö(¸-L(Ö²Xeè´™¶¶¦‡‡µyþ|’™™2Çö¡QdL'6àèÑ”O>ñîs¥š•UùñÇç-, ~ý5X¹ó^íϴ™©yÞ<›¹s§Ã»_Æ”±žØòÔÔ¼ ü¿ÎΞóç7Κe¡êpŒÇãççצ¥•Þ¸QÒÐðÆÀ@‡B±¦Ñl, ëéT4ì`bËÅfwlØ]YÙxâĺùóIo_a¤’L›åå=‹2ÙN›©=˜ØŠtw ÂÃ/]¿þpϞš¡où…·‘6ËʪLK{ÌfwLšôoïžž6T*é½÷Æ©::H™`b¿Ýï¿çîÝ›°p¡Ý?¬VoYö™67N½M}Ñ"ûI“àmêê&v¿äå=ûä“óFFºçÎm°´4Tu8ÊÔÜÜyûvyïi3x›º€‰Ý_õõo6l8[W×zút…¢†?ø&™6c±J++ M ÅÚLJìãckb¢§êè ‰=\n϶m—RRíÛ·|ãÆyªgõž6 Evv“<=m||lçÌ™ÇÛF˜Øƒ È/¿Üúæ›ë«W»EE­Tû“UÉ´ÙÍ›%õõo ߣRgøø½¼fèêÂÛÔG.˜Øƒ‘”TqÉÅeêÉ“ººcåÙF}¦Í­, {zÚÌœ9úæùÕLìA*-}µ~}4¯½~Æ ¥=JIUÒÓÓ«««ûY¹£Cðô)·²²³ºšÛÓ#61Ѳ¶Ö™;×PGGÍÏ_F6uêTE5h°ZZ:NXYí¸x1WÕ± NÄî…ÁàÆ³ÐÕgdô/,΄¿;±±±Š?Pø5 Á30йxñ“~HÛ¹3./ïÙ¡C«´´ðªjðètz\\ܸ ´P …ú3~ ¿0$8vûöEçÎmd±Ê–/gÔÕµª:"&¶RøøoÞÜ&Š}}ݹS¡êp &¶’Lž<áÆm Ø­YsúèÑIB*¯±•fÜ8cÇ>tt´Ú»7áÑ£W Æ8Ó © |800PzY“'OºººNœ8qãÆoÞ¼A «ªªh4š¾¾¾——Wrr²tïòZ“Žª¥¥…F£%%%ÙÛÛ[ZZîÛ·Àf³²²²Ä&½5999ÎÎÎ&L |ò䉼€•ã܉ !‚ܹS1sæžž_—•Õ«:–¾èt:NW\'99‹Å677K¿$‹‰Dâ©S§8“É444är¹555:::‚ÔÕÕ*•ÓÝÝmii¹{÷îššš¨¨(===>Ÿ ȵk× ÚZïessóÄÄÄÞ}‘Éä3gÎ<{öÌÐа   ¡¡J¥;v }ÕÙÙy÷îÝuuugÏžÕÕÕ}øðaŸÞÉdòÆÏýåòåËèŠÒQ544hjjúûû?þ¼°°pܸq¥¥¥ÇÌÌìöíÛhØ2[“¹5D"‘±±qTTÔË—/ÃÃ×-[&/à·~X ÷ŠÃÄ~§jk›-:jm½ëêÕBUÇò7ýIì‹/šššÊ|‰Ïçççç£Ë•••x<¾ªªªwbÒÒÒ)..677—¬8kÖ,‹¥ Sy‰}÷î]CCÃÂÂBA:;;9‚ /^¼°´´‰DhMÿƒöî]ÝÁÁaù_‚‚‚äE…ž‰äää …ñññhHEEE Z“¹5îÞ½K"‘ÐB.—{èÐ!@ 3`[ÕŸÄ†×Øï”••áµka$‡†þöçŸOðE511ill,//'‘þ÷0æÌÌÌÖÖV??¿âââ½{÷VUUI¯‹Åb½¼¼éééîîî’rOOO‹E£ÑŒ»»{xxøâÅ‹ñxü‡~¸mÛ6@JJJss³äûŒ<ÏÌ̬w侮°°>WÅ2£²³³¸ºº¢…8œì/¥J·†Ç㥷Fjj*…BA— Bdd¤‚€‡^c¿kššøÅÅ…Þ¹SéíýmNÎSUGÔ_îîîáÆ’ABBBš››“’’ÂÂÂvìØQYY™——§­Ý÷á FSS`gg×{D­¢¢ÂÖÖVA§ÖÖÖOŸþouuu½zõŠH$ …Bô 6..®ªª ½&·µµ%“ɵ½9r¤wïò(ˆ ‹pŽÈÜD"Q2–`2™\.W^ÀC[5(”é·oïrs›F§ÿòʼnHÕ½¶¶vdd$ƒÁ())ðx<ƒÁf³×¬YÓÕÕ5cÆ †Ãá®\¹ÒÞÞ.‹e6B¥Rkkk³³³%%%¹¹¹è[AAAjj*Z§÷rhhè‰'jkkÑ:4eÊOOO&“éììŒÅb]]]?úè#t’iîܹõõõL&ÐÞÞN"‘ÐPßJ^TòÈ{w(™[cñâÅ÷ïß/--¤¤¤ìÛ·OGGgпÝ[Oè¡a•”TD$îyÿýïT;¢ÖŸklAø|~dd¤†††¾¾¾··7zÌãñˆD¢£££··wDD™Lvuuí}Ãá$\¸pH$ÚÙÙYYYIɶnÝêêê*½,BBBLMM­­­uuußÿýÌÌLAzzzæÌ™cbbâææfaa‘ššŠÖg2™ööö¶¶¶¦¦¦;vìîL&Ÿ;wNú­IG…^cK*xyy¡×Ø®®®<ך̭ ȉ'¦L™âàà`nnž /à·pðlT¨«k]±‚1eJä™3™b±X%1ô3±Q¹¹¹õõ}ÿ'*..îèè@¤©©)++K$ÉBGD, …Â~ö(‹óóó[ZZú”×ÕÕJo´ÂÂÂÎÎÎ~6>ШÚÚÚnݺ…×)Ðgk …B¡0??_º‹ܟĆÏ<„Bñ©S·ºI¡XÿýG&&ºï8€U«V†öèÁ`0±±±èG&¼Æ44°›7Ï¿z5ìùóŸÃ,V©ª#‚F7˜Ø#ˆƒƒåÍ›ÛÜݭׯþê«kÝÝUGV0±G]]í“'¿ûŽþÛo¹>>G jU4*Áĉ֬™{÷îÞéÓ—-cìÜÇåö¨:"h”‰=B?wnãÉ“üñpþüÃwûX ‘&öˆ¶téìÛ·w‰¦«VýÝPÿÁÄéLLtý5øäÉÀää‡óçE· B*{tXºtöŸî"Méô_v_ê†Þ ˜Ø£†‰‰î¹s÷ï_‘P°dÉpÀR&öh‚Åb‚ƒçedD_¾œ±{w|{;OYÇÇÇc Ñ ?Ÿ&¼¥t´b±J?ÿ<¡³³gûö…6xb±ýú¼åÉÍÍ}ùò¥²bƒ†úÕ`bb<ÿر´“'o;9Mþî;:‘hªêˆ ‘&ö¨WZúj×®øG^RöìY¬60‡†&¶:‹‘˜˜¼’ t¾þú*u†ª#‚T &¶ú¨«kÝ»7!#£|Õª9ÿþ÷RCÃ÷T¤20±ÕÍ<üâ‹ÄÎÎîÍ›ßß´‰ª¥…WuD ÀÄVC\nÏÏ?ß:yò¶¡á{{÷.Y¾Ü¡Ÿs$Ú€‰­¶Z[¹ßŸvþ|6‰d¶¿ßܹÓTôîÀÄVsUUM$¥§—ùø÷ï_1yòUG½ 0±Ç„¬¬Ê/¿¼úô);0é«««¥êˆ á{¬ Å—/ß;|ø¦P(Þ¶mAP‡†¼¡XmÁÄ[8î‘#©¿ÿžC"Mܱc¦èW8 Ñ &öXT]ýúûïÓ®^-œ5ËbÇŽEÞÞð†u{ìzù’Ã`°._¾gmm¾`É’YpVLmÀÄë**K½~ý¡£ãäà`ÏÅ‹gápðÚ{Ôƒ‰ @yyý×_ÿqëÖ ƒ¯€Wøe’Q &6ô?µµÍÑÑY/æjh`\?ý”:q¢¾ªƒ‚&6ÔW}ý›3g2/^Ì Å«VÍY¿Þ~Ó{Ô‰ ÉÖÞλp!ç×_ï¾zÅ¡P¦¯[ç±h‘=œú-`bCŠ ’]õûï¹7o–èë\Ý-, Tô0±¡~yú”}î\6“ù »[ðÏÎ\³ÆÍÝÝzˆZƒ†Llh:;{òcbò=ziiiàòá‡.ffp€mĉ Æãǯ.]ºwåJAgg··7ñÃ]}}gÂøÈ{ìZµjU||üPZÀ`4´´¦d,Vçõë Ê ØØØU«Võ)ÔPI(Ðáææ1ôvø|‘¦æ’¡· ”tJ£`bit:]ÕQ@ʧ%!H ÁĆ 5‚ÔLlRC0±!H ÁQqèí“ÉÌÏÏ766öóó³±±‘W“Ãáœ9sfç΃î+11Q Hfqnݺõøñã°°0ôÏòòòÄÄÄO>ùäìÙ³oí¥ººzÊ”)} óâÅ sss‡þyúôi6›Ý»…B¡R©ƒ ^¹­ •J•ôÒÒÒB£Ñ’’’ìíí---÷íÛxôèÑ¢E‹\]]..."‘¨¸¸øÑ£GíÂÒÒréÒ¥L&SÁ—Xf_l6; ++KAkÒ ““ãìì‚ ×®]c0hk½——.]Ž ÈÖ­[wîÜùàÁ¡PøðáC ÓÒÒ"饡¡ASSÓßßÿùóç………ãÆ+--Eééé¹víÚ'Ÿ|bgg×ÝÝÝ;òÖÖÖ©S§&$$ B&“7nÜxî/—/_FëH,³/‡cffvûömôÉlM憉DÆÆÆQQQ/_¾ _¶lÚ¯³³óîÝ»ëêêΞ=«««ûðáCÅsƉ=võ'±/^¼hjj*ó%>ŸŸŸŸ.WVVâñøªªªÞ‰ HKKC¤¸¸ØÜÜ\²â¬Y³X,–‚N¿ÿþû9sæ B"‘ÒÓÓÅb±‘‘QNNΉ'fÏž HïÄF}èŠñññèr}}½ƒƒ‡‹ŠŠ‰D’ÆoݺemmŠ^\Éd‡å ’°¼¾úœŠK·&sCݽ{—D"¡…\.÷СCàÅ‹–––’hýýý<¨`C!òŽŠCŠ˜˜˜466–——“H$Iafffkk«ŸŸ_qqñÞ½{«ªªŒŒŒ¤×Åb±^^^€ôôtwwwI¹§§'‹Å¢Ñhò:¥R©‘‘‘•••µµµ fÁ‚©©©5552G˜Ñ³n€d¬`ffVXXØÒÒB$‰DâÊ•+Åbñ®]»âââ¾ùæ›Õ«WKj†……õnPfÀvvvòúêMº5</½¡RSS) ºL "##)))ÍÍÍS§NEËy<ž™™™¼­¤¼Æ†qww'7nÜ” ÒÜÜœ””¶cÇŽÊÊʼ¼ëb0MMM€]EE…¤¼¢¢ÂÖVÑO Íœ9S__ÿÀžžžãÆ,Z´(%%%''Gfbc±Û“““>Œ.zxx”——–-[Æf³ËÊÊzgµL îÓWÈÜPD"Q2–`2™\.×ÖÖ–L&×öräÈ‘v÷ß8·4FhkkGFF2Œ’’Çc0l6{Íš5]]]3fÌ Ñh8îÊ•+íííb±Xf#T*µ¶¶6;;PRR’››‹} £b}–1Œ··÷¥K—,X€–,\¸°   ¦¦fÞ¼yo™L&GEE½~ýÐØØxëÖ­?üðñãÇ÷îÝûÏþóúõk4gZ[[åµ /`yä½q”Ì µxñâû÷ï—––RRRöíÛ§££3wîÜúúztT¯½½D"¡›}0ŸÁCj¬ŸÓ]|>?22RCCÃÆÆF__ßÛÛ;11AG$½½½#""Èd²««kïkl'iäÂ… D"ÑÎÎÎÊÊJ2H¶uëVWWWéeA~ùå@ï¡#''''''t¹Ï5¶¤Ž——zÝ»cÇCCCGGGSSÓÿûß‚üðÃ}öüÍ›7#ò'¨¤–×—‡‡‡««ëƒäµ&sC!râĉ)S¦888˜››£#y‚0™L{{{[[[SSÓ;v¼õÓpð ꣟‰êììÌÍÍE§—{+..îèè@¤©©)++K$ÉBGD, …¡ČRЋDww÷½{÷$ÓïƒÐÏ€ÛÚÚnݺÅápW볡ÐB¡P˜ŸŸ/ÝEaaaggg‚”—ØðÑHczÛf\\œªƒÁÈ|4¼Æ† 5‚ÔLlRC0±!H ÁĆ 5‚ÔLlRC0±!H ÁĆ 5¿¶9¦Ý¹sÇÇÇGÕQ@Ê{ìrssSuÐPÑét érx¯8©!x Aj&6©!˜Ø¤†þÎ?f97ÙIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x77.html0000644000175000017500000000005011561716354024573 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x77.html0000644000175000017500000001055711561716354025017 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- w -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x66.html0000644000175000017500000000005011561716354024571 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x66.html0000644000175000017500000001157211561716354025013 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- f -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/tab_h.png0000644000175000017500000000005011561716353021657 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/tab_h.png0000644000175000017500000000030011561716353022064 0ustar00murraycmurrayc00000000000000‰PNG  IHDR$ÇÇ[‡IDATxíÝÛ ‚`€áÿ¥ºˆFŠ¢‚hšYÒ ÿÌ26@c´HwÍñì!ïÏ—K1ê^‰©HtO’÷ÄyG˜µD׎ k9¦ç?iðâ7zá„vPaŸž˜þãÏðJŒ}ÉÆ)غwV»‚õ®`ai–Ö¥¥™›Z‰ˆšŒP³éøC"àèP=€IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Device.html0000644000175000017500000000005011561716354024626 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Device.html0000644000175000017500000005050511561716354025047 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Device Class Reference

Devices are the abstraction Cairo employs for the rendering system used by a cairo_surface_t. More...

List of all members.

Classes

class  Lock
 A convenience class for acquiring a Device object in an exception-safe manner. More...

Public Types

typedef cairo_device_t cobject

Public Member Functions

 Device (cairo_device_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~Device ()
DeviceType get_type () const
 This function returns the type of the device.
void flush ()
 Finish any pending operations for the device and also restore any temporary modifications cairo has made to the device's state.
void finish ()
 This function finishes the device and drops all references to external resources.
void acquire ()
 Acquires the device for the current thread.
void release ()
 Releases a device previously acquired using acquire().
cobjectcobj ()
const cobjectcobj () const
void reference () const
void unreference () const

Protected Attributes

cobjectm_cobject

Detailed Description

Devices are the abstraction Cairo employs for the rendering system used by a cairo_surface_t.

You can get the device of a surface using Surface::get_device().

Devices are created using custom functions specific to the rendering system you want to use. See the documentation for the surface types for those functions.

An important function that devices fulfill is sharing access to the rendering system between Cairo and your application. If you want to access a device directly that you used to draw to with Cairo, you must first call flush() to ensure that Cairo finishes all operations on the device and resets it to a clean state.

Cairo also provides the functions acquire() and release() to synchronize access to the rendering system in a multithreaded environment. This is done internally, but can also be used by applications. There is also a Device::Lock convenience class that allows the device to be acquired and released in an exception-safe manner.

This is a reference-counted object that should be used via Cairo::RefPtr.


Member Typedef Documentation

typedef cairo_device_t Cairo::Device::cobject

Constructor & Destructor Documentation

Cairo::Device::Device ( cairo_device_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Device::~Device ( ) [virtual]

Member Function Documentation

void Cairo::Device::acquire ( )

Acquires the device for the current thread.

This function will block until no other thread has acquired the device.

If no exception is thrown, you successfully acquired the device. From now on your thread owns the device and no other thread will be able to acquire it until a matching call to release(). It is allowed to recursively acquire the device multiple times from the same thread.

Note:
It is recommended to use Device::Lock to acquire devices in an exception-safe manner, rather than acquiring and releasing the device manually.
Warning:
You must never acquire two different devices at the same time unless this is explicitly allowed. Otherwise the possibility of deadlocks exist.
As various Cairo functions can acquire devices when called, these functions may also cause deadlocks when you call them with an acquired device. So you must not have a device acquired when calling them. These functions are marked in the documentation.
cobject* Cairo::Device::cobj ( ) [inline]
const cobject* Cairo::Device::cobj ( ) const [inline]
void Cairo::Device::finish ( )

This function finishes the device and drops all references to external resources.

All surfaces, fonts and other objects created for this device will be finished, too. Further operations on the device will not affect the device but will instead trigger a DEVICE_FINISHED error.

When the last reference to the device is dropped, cairo will call finish() if it hasn't been called already, before freeing the resources associated with the device.

This function may acquire devices.

void Cairo::Device::flush ( )

Finish any pending operations for the device and also restore any temporary modifications cairo has made to the device's state.

This function must be called before switching from using the device with Cairo to operating on it directly with native APIs. If the device doesn't support direct access, then this function does nothing.

This function may acquire devices.

DeviceType Cairo::Device::get_type ( ) const

This function returns the type of the device.

void Cairo::Device::reference ( ) const
void Cairo::Device::release ( )

Releases a device previously acquired using acquire().

void Cairo::Device::unreference ( ) const

Member Data Documentation


The documentation for this class was generated from the following file:
  • cairomm/device.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Region-members.html0000644000175000017500000000005011561716354026302 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Region-members.html0000644000175000017500000002072511561716354026524 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Region Member List

This is the complete list of members for Cairo::Region, including all inherited members.
cobj()Cairo::Region [inline]
cobj() const Cairo::Region [inline]
cobject typedefCairo::Region
contains_point(int x, int y) const Cairo::Region
contains_rectangle(const RectangleInt& rectangle) const Cairo::Region
copy() const Cairo::Region
create()Cairo::Region [static]
create(const RectangleInt& rectangle)Cairo::Region [static]
create(const std::vector< RectangleInt >& rects)Cairo::Region [static]
create(const RectangleInt* rects, int count)Cairo::Region [static]
do_union(const RefPtr< Region >& other)Cairo::Region
do_union(const RectangleInt& rectangle)Cairo::Region
do_xor(const RefPtr< Region >& other)Cairo::Region
do_xor(const RectangleInt& rectangle)Cairo::Region
empty() const Cairo::Region
get_extents() const Cairo::Region
get_num_rectangles() const Cairo::Region
get_rectangle(int nth_rectangle) const Cairo::Region
intersect(const RefPtr< Region >& other)Cairo::Region
intersect(const RectangleInt& rectangle)Cairo::Region
m_cobjectCairo::Region [protected]
reference() const Cairo::Region
Region(cairo_region_t* cobject, bool has_reference=false)Cairo::Region [explicit]
subtract(const RefPtr< Region >& other)Cairo::Region
subtract(const RectangleInt& rectangle)Cairo::Region
translate(int dx, int dy)Cairo::Region
unreference() const Cairo::Region
~Region()Cairo::Region [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_0x6f.html0000644000175000017500000000005011561716354023636 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_0x6f.html0000644000175000017500000001126611561716354024060 0ustar00murraycmurrayc00000000000000 cairomm: Class Members
Here is a list of all class members with links to the classes they belong to:

- o -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherits.html0000644000175000017500000000005011561716354022610 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherits.html0000644000175000017500000002376511561716354023041 0ustar00murraycmurrayc00000000000000 cairomm: Class Hierarchy

Class Hierarchy

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_10.png0000644000175000017500000000005011561716353023725 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_10.png0000644000175000017500000001131411561716353024141 0ustar00murraycmurrayc00000000000000‰PNG  IHDR]]‰"TbKGDÿÿÿ ½§“IDATxœíÝyPS×þð“µ4€` ,.)± Š *thÅQü©™QŸuž­vlëk[gì«å¹¶:¼q©Žúk¯*ë E¡*ÕRÁ…-A@ˆ@ ²ŠaËr~œ6ͻĶ$Â÷3ÎÍɹ÷~&_OÎMî—†1F ƒnîò€ ò€ŠiîÀ«­ººúÆæŽâëë5 ] /€!ÉÏÏß´i“¹£†ÄÆÆB^fWµ,ÖªU«±¬/¨ /¨ /¨ /¨ /¨ /¨à:%0¥R) óóó]]]—/_>uêÔõlkk;}úôÎ;‡rºS§NÉårÝ–°°°ÈÈHJ7™L–žž.‘H-Z4þ|‹5 ³tvv;vl×®]ÆtNKKswwŸ5k–‘±™Ì€)444Ìš5ë믿¶³³‹Å³gÏÞ²eË‹:wttœ9sfˆgLJJºyóæ¡÷Þ{¯¦¦†ô¹páB```QQ‘‹‹Ë¾}û<== Å€ÎÒÑÑñÅ_Ù955577×@lÆÓňÀ Arr²1¯¢ØØØE‹)•JòðáÇ666ÕÕÕ#˜@ 8wî\ÿv.—[TTD¶ƒƒƒ¿ûî;íS'OžÐYêëë­­­ì¼fÍš#GŽˆÍxº£0,66666v Ç‡ùqr¹üÒ¥Kï¾û.“ùÇçV@pæÌ™††„ÐÍ›7—,Y2~üø°°°óçÏ#„šššbbbÈŽ . …'N,++«®®Þ¾}»‡‡ÇæÍ›ËÊÊÈ¡:´nݺþÛzÅÅÅÉåò¸¸¸œœ¥R)‘H´!!„NŸ>D¶sssCBBœ×­[÷èÑ#ÒØ?T]‰$**ÊÉÉiÁ‚ééé¤Q,¯]»ÖÙÙyÍš5]]]†ÿ ú°¥¥%**êÊ•+Ó¦Mãñx{ö졌Âðoà© €¿3_HOO§ÓéÍÍÍýŸÒh4|>ÿÛo¿mkk …G¡PÔÔÔØÛÛcŒëëëíìì"##ÏŸ?ßÓÓÃãñvíÚUSS“˜˜Èf³ûúú0ÆiiiIIIähºÛ`Æ çþtñâEŒq[[›»»û/¿üBöýì³Ï FLLÌéÓ§u'/jµÚÕÕ511ñÉ“'Û¶m[ºté‹BÕ/„„„ìÚµ«¾¾þìÙ³ŽŽŽ"‘¨³³ÓÖÖvïÞ½UUU|ðBH;_èƸÿ¬¬¬V¬XQ[[[XXhmm]ZZJ…aƒ›/@^CbL^øá‡ÜÜÜô>Õ××—ŸŸO¶+++Y,–D"ÑÍ ¡Ÿþc\\\Ìårµ;NŸ>ýúõëN*‚‚‚þçOëׯ'í”øƒ>þøãiÓ¦Ñh´… J$Œñ;wüüüH…BqðàA¥R©7Tm^¨««ãñxjµštX±bÅW_}% CBBH‹R©tppÐæ…þ±é ™Råææ’ÆðððÔÔÔþ£0`py®G€7aÂ„ÆÆÆòòr???mãíÛ·[[[—/_^\\üùçŸK$—þûÒéô  „nܸ1wî\mû¼yó®_¿nøg‚[·n]¿~ý‹žÅk4š„PiiéG}´aÆ۷ogee………‘nvvv dÛ@¨™™™ÍÍ;¾¾äaww·»»{CCCDDia2™ºñ÷MïB¡¡¡¤‘Á`ï0‚õ0âæÎkggwõêUm ÆxÓ¦MÍÍÍW®\ÙºuëŽ;*++ïÞ½kkkKÙ—F£YYY!„***´íþþþC‰*++K h ‚ýë_999½½½|>_wµ_(* áúûû ©ŽÃ‡OŸ>½´´T7fñ nê÷)ä0âlmm’’’Äb1B¨»»;))I.—“¥¸×_=**ŠÁ`üøãÏž=Óh4z)•Jûí7„X,ÎËË#k“YYY¤î¶ä¡¡¡Ç'jµ:999((ÈÚÚzñâÅ÷ïß'oéÌÌÌ={öØÛÛuΜ92™L("„ž={æçç'‹-ZtëÖ­ÂÂB„ÐO?ý$•J Dõ¢ÅHèty²¯¯/!!ÉdN:ÕÉÉ)""âòåËãîîn>Ÿ±}ûv@ª»¾À`0´ùþûïù|~@@€———v}1>>>44´ÿö‹®†‡‡‡††>xðc|õêUWWWWW×àà`‡3}úôŠŠ Òíĉ>>>AAA\.÷Ò¥K/ UwÝQ(N›6ÍßßßÍÍmÇŽ¤ñÀnnn|>âĉ˖-3|²ÿÉú‚¶Ã‚ Èú‚î( ƒuG`Fæâùóçyyy2™ŒÒ^\\ÜÙÙ‰1njjÊÉÉQ«Õz/^`Œ5MQQ‘J¥tÀÙÙÙmmmäa__ßÝ»w¯_¿þèÑ#JO•J•ŸŸO9%ÔþÇ/,,|þü¹nKOOO^^žB¡0&<#H…ƒË 4 wÚC’’¯"‹Eî×”’’2 ½`}@y@y@y ‰Z¢™; 0ÌàûŽÀXµµ-uu-µµ-º]VVnæ 3È ¯žââ:kk¦ŸßÄ‘;E[›B*m©­m–JÉ-RéS¹¼“<;a‚£··³ŸŸ{tt@SSÕÁƒí# 0 j^Ø»wﯿþj–PBh÷îÝäçz••Éȸq£üË/— K^èíUUT4P&2Y»R©FÙÛ[OšäêåÅ™9ÓgåÊ//Ç™8щÅúë[ú)))M÷Ð#…šJJJ=z4gγD3Æ¥¦¦¾ÿþûzŸª¨h

~| #ãã={–-YòÆäÉ šJ¥¼FÐàîîbúòAc¡4B(99ù¥Ýº»ûòók®]%* Ì|Áô僠4.ÖŒÞÑÑÓ†ë€PQò„1ó³” ¥qóFÚ`ò‚YÊá1Pò°ƒ¹aúòAJ`BƒY_0}ù ( €) æElúòAP“¢|®0ò:¥éË…Ò@Ö€ed^ L\>hÔ—‚¼,µÞÔàªÓ€aA£Ñ’““É_f‹d¯ªgÏz̵àwÖ¯ŒÖV…HT/Õ×Özüç?Í /X®öö.±¸^$ª/*ª+(>}ÚI£ÑX,†R©¦Ó‘——³¹£ä B§ÛTVv?ž]TT[P ml|F£!‹©TªÉ2Ƹ¯O…¢ÓÞÞsÇ F-È –âÞ½jgÕñãe•1tµZƒÂ‘D@¡Tª½½a¾F ¬;ZŠÐPß§OÿoíÚÉãÂ/½Ãrgg·¶à æ ‡„¸ìß¿9#C´w|Á¤? }ôÑ!;;+//gŸ?îþJþÏåŽc0 ãƒÁƒ¼`qètZLÌ‹OÏÈýóŸWÚû§Ç!'g—nÙˆ’’'¢ººVҙͶ#cH嘩S'¼þº»£#õç*†¥¤¤ÄÅÅ ÛÀ€‹ÕýÖä E²Ctô´ääû^mkëR«1B$__g6Û.0Ð.0ð¿îÑÞÛ«jl쨬l¬¬l$YC,®ò¤¬VP’ÙðôO§úÌ_rõ¾ùæJ‹ž¼P]]}êÔ)“Ä^‚Åb¬];gùòà³gsþýï›==J•JÍ`Ð}}]õö·¶f’7ü[oýõóS¥R-“µë–¥ÊÉ©>>”¯–ÖÕÕq¹\ÝÛöŽîˆzÁ| •‰‹VTT|úé§Ú‡‰‰‰ñññ2™Œ<¼xñâ… ž?nø,'Ožœ4iÒ›o¾éããsòäIÒ˜––6sæÌ°°0OOOí)ÆTÄ¿˜ófQÀ²%''ó 1qQÂ{÷î!„ÈÝ …ŸŸß™3gȳQQQ[¶l1|„ÞÞ^''§»wïbŒsrrØl6¹sß”)SÈqjkk9N^^ûß½æ `HL_”pÆŒl6ûÎ;¡[·nùùù­^½šÜ7\£ÑÜ¿?22R{½ÅKJJ¢££I¥Y³f©Õêâââ’’’¶¶6r # ÇnÄ¡$$0º3_0KQ˜˜˜mÛ¶aŒãããwîÜùàÁƒñãÇ«T*‘HD£ÑZZZ´gÑ[¤··7--mãÆ===º‘·¶¶úúú’{‹…ˆýç À “ÌR”ðÈ‘#3gÎÄûùùݸqC£Ñ¸¸¸äææž8qâ7ÞÀëæ¤¯8 ÆX&“1ŒÄÄDmQBŒqvvö”)S6oÞ¬ýd4ê öÏ p= ‰é‹"„"##*++¥Rixx8F{ûí·³²²jjjô®Øë-èîî^XXØÒÒÂçóù|þ;ï¼£Ñh>ùä“”””}ûö­^½áˆ°¾†ÄôE BNNN{÷î7ožµµ5B(:::33377Wo^ LOO?tèÙæp8áááååå¡¥K—Êåò²²2’ÐX.€hÌ4ŒMF^سgljDã®®®£GŽ7N¡P\¸p!88˜ô¹téyë->ÖÛÛëèèHjÿˆD¢×^{­¥¥cœŸŸŸ™™IúèncŒW®\É`0>LÊår&“É`0ÚÛÛq¿ÏÚ½H°ªª*6›-—ËI‰DRRRâììüøñãš?µ´´´¶¶²ÙìcÇŽ‘ÝU*U||<T{{»ƒƒÃÇ1Æ×®]ó÷÷Çë²ös„Z­ær¹d’ßÑÑáååuïÞ½úúz[[Û‚‚Œ1Y‰4p=BïÔ‹ q¹\rØ—‚õ0FæÓ%Ä“b¥$3f̘1cÙ6œ0Æ;vìàp8ÁÁÁnnn»wïÆ=z”òOæ‡~ˆÇFDÈ `ŒÌ „‰‹fà,Z===÷îÝÓ..0ê öÏ Ô:th‘û¸Á+dÔë_}ÖTTTTTTTTTð;kðo½õ–¹C#«¤¤dþüùº-À yzzBqʱ`þüù³gÏÖmßG¨`}@y@y@õÿjÏxž'sÛ@IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1XlibSurface__inherit__graph.png0000644000175000017500000000005011561716354030657 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1XlibSurface__inherit__graph.png0000644000175000017500000001007011561716354031071 0ustar00murraycmurrayc00000000000000‰PNG  IHDRˆ{ Þ_²bKGDÿÿÿ ½§“íIDATxœíiPSGÀ7!QDåJÁ!¢AZªƒRÑÖª3jÇÚxWœ¥Ht”ÚZg¬JG¨ÅRo«"J ˆ(ŠŒ¦(Š ‘3r£!H’rl?<'“†€‰FY˜ý}zÙìîÿ¿ïÇÛw$dIB€Ar'€Ñƒ(X ¢`1ˆ‚Å  4˜¤¤¤þNv`“””døÞ¦Ûû¥K—ÞEÒƒžeË–Ußh1ÇØ&˜7Ÿc‹A,Q°DÁbåˆQ(‰‰‰Û¶mûù矫ªªú¨)‹8ðöŸ?žž­P( oøÏ?ÿÄÇÇ—––¾}¦Åôb„BáÔ©Scbb,,,JJJ¦OŸ¾iÓ¦Þ*···Ÿ8qâ-#&&&Nš4©¨¨ÈÎÎ.::ÚÉÉI*•Ø6$$ä?þ “Ñ›9Œ½óm5‡³`Á…BA¼|ò䉹¹yMMáŒÅÛÛûÌ™3š—þþþ¿ÿþ»m]]]ïÝ»÷nòúÀÈ;ÿ¥¼xñ‚ËåP(¯n]Ùlö‰'„B! ;;{áÂ…¶¶¶3f̸pá@$-Z´ˆh8oÞ¼äää±cÇ–••ÕÔÔlݺÕÑÑqãÆeeeDW\»v­Î¶B¡šp€cÇŽyyyêêêfÏž­)_¾|y^^žv iÓ¦544¬[·îÚµkzÓäææúøø|ðÁk×®­¨¨ Á§Ÿ~jmm=kÖ¬ôôtÓîÃWîÐ#&==L&·´´ô|K­V³X¬„„±XœœœL£Ñ¤RimmíðáÃ!„³gϾpáBWWNß¹sgmmmdd¤••Uww7„0---..ŽèM{;""ÂÌÌlÑ¢EÇŽÓ>4ËËËi4šæåäÉ“³²²´‰D"—ÌÌÌ®®.½é©T*{{ûÈÈȦ¦¦Í›7/^¼˜èÊÇÇgçÎ'Ož´´´,..~íÞF1&sþüùÑ£Gë}«»»»  €Ø®ªª¢R©@[ àæÍ›ÂÇ;88h;´ï¸ùùù[¶lñôô$‘HóæÍ°w1š@ÂqãÆÝ¿¿·ôîÝ»7qâD¢P*•8p@¡P444Ðét•JE”ñÅûöíë;=ØïSÙ¨Q£š››ËË˵ y<^jj*•J}üøñüùóÇ÷ÕW_õlK&“gÍš¸uë–¯¯¯¦ÜÏÏ/++«·ˆB•JåããóË/¿”””ðù|¹\þÍ7ßô‘¤&6zÓ»qãÆŒ3ˆm ‹íÛ·S(”ÌÌÌ––&“É`0 ÆÝ»w‰‰Ú´˜XŒ¯¯¯……1e@ƒ‚‚ZZZ®\¹^UUõàÁƒaÆé´%‘HC† xxxTVVjÊ+++ÝÝÝ{‹xãÆ 6›­yÉf³£¢¢rrrär¹v5¥RY__¯H½é±X¬ÚÚZMääd©TêîîÎf³ë´8tèa»Ç ?¸ ¼*Û³gN'¦]™Lvøða©Tš˜˜èííMÔár¹€ÊÊJí©ÌÌÌŒxW.—[ZZæää@‹‹‹GŒÑÚÚ !,((ÈÌÌ$êh¶ÛÚÚ¬¬¬~ûí7¢\©T†……„B!…B©¯¯‡ŸVS™&ÔšÊô¦'‘HFŽùäÉáõë×ÝÝ݉ÔÁÁáòåËÂöövggç¼¼¼×îпçaww7qÈO˜0ÁÚÚÚßß?55Bøï¿ÿ²X,oooÿ­[·²ÙìiÓ¦é!<{ö,‹ÅòððpvvÖœäæM›ÖsûÚµkööööööÞÞÞ4mòäÉ•••Ä[kÖ¬¡ÑhÓ§OŸ9s&1%ö&Foz£Gº¸¸xyy988p¹\¢Urr²§§§»»ûèÑ£ÃÃà Ù{ý/† ³³óþýûÏŸ?×)üøqGG„P$åää¨T*½—pBµZ]TT¤T* ×ÝÝýàÁƒ¬¬¬ŠŠ ·ª«« ïG'=¢P©Tôì¡°°°³³Ón!:b0:+½G~ºŒ,X ¢`1ˆ‚Å ƒ(X ¢`1ˆ2xÄ””4òùMý…É0ú+²sçÎ}y¼=ÍÍ£H$Ò¨QÍýˆi0BŒ““Ê_\lnnò×Öì8Ž“““áõIpPüsl^^Í’%¿þúkÓÔ©ÌþNÇ ’s —[@¥šQ©f\î£þÎÅ4 1 …꯿Š •B¡JM-T(Tý‘  bîÜ©èì|ujéì”ß¹SÑ¿ù˜„Á &%å…òj  95u0Ìf^ŒT*¿~¯T¾š¾”JÕõë|©Ñk3Ãðb²²J5V Õ­[eý•©ðb¸Ü2™¤]B"‘¸Ü‚þÊÇT l1b±”Ç«T*ÕÚ…*•úÎ ±ØÐ/ü£ÉÀ“‘Q¢Vë)‡\»VòÞÓ1%[Lrr‰¤çÉ„ 9y`ÏfXŒHÔ^PP«Ré£V«óókE¢—ï?+S1€Å\½Z¬V÷ú O­†Åï3Ó2Hb‚‚Îú;Ó0€˜Á ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å ƒ(X ¢üï0I$RUÇÌÌ  Rµ÷w"o޶ ÝŸ^äp8},o„yG”••]¾|Y»DWŒ»»»¿¿ÿûËÓ øƒ(X ¢`1ˆ‚Å ƒ(o"F©TfggÇÇÇ'&&65õõsú/^|ÓÜ ¾¾þܹsÚËÀ766ž;wN&“Éd2b©jM”gÏžeffêí§µµ5==ýèÑ£………J¥Òð$IZZZ]]ÝÛŒâ 0ZLkkkppð¥K—ÌÍÍ«««7nÜ×[e©Tš‘‘ñ6ù988ðx¼£G/ÕjuTT”H$²°°J¥§OŸÖŽÒÐÐpåÊ•ždggýõ×ÀÚÚúüùóË–-ëêê20ØØØôôô÷ëmô¢ GŽ¡Ñh‘‘‘fff€ººº   ‡3f̘ž•Gý矾U~Ê®]»¾ýöÛ9sæx{{'%%½|ù2$$Ĩ(III!!!Ÿ}ö`åÊ•[¶lÉÊÊ"–«-`×®]ÎÎÎo3Š7À¸#F"‘ðx¼yóæV cÇŽmmm€ÂÂÂ]»v-^¼ø»ï¾ËÎΈÅ∈¢áöíÛy<Þ—_~Y__/ ããã9ÎáÇ5K _¼x1::ºç6“É 8tèPUUÕÙ³g#""ÌÍ͵³ÒD@?¾téÒ;v”Jå³gÏ4 ÂÃÃÇhnnÞ²e‹¦|ïÞ½åååÚ©‹D¢ýû÷çååé  ´´4((èóÏ?ŽŽnhh ›šš¶mÛ¶pá°°°ÜÜ\£v2qbˆeǧL™¢]øÉ'Ÿ°ÙlááÇg̘qáÂ…eË–ÅÅÅÉår¹\^TTP(|>?---88xìØ±›7o¦R©¿þú«]HH1éÓét‹Eô©½ X¹r¥µµuhhèÒ¥Kµ—¼&ÐDTVV655ÅÆÆúúúîÞ½»¶¶–B¡,Y²$**êûï¿ÏÈÈ …nnn€îîîššM?2™L;Õèèh;;»ÐÐPbæž„îÞ½ûã?>qâ„¥¥eBBÑÕ¾}ûÜÜÜN:5þüÈÈHí(bÜT&“Élll,--{¾¥R©vïÞ=a“ɔÉd---Ú§r¹|ÕªU>>>ÕÕÕjµzýúõ€Õ«Wß¾}»¸¸xÊ”)ÚKÅkoÈd²³³syyù¸qãúÎBfccãèèX\\œ››ëââèçç—’’ãããæààÐ['šT$iøðáT*U©Tö D"±²²Z½z5 00055U¥Rµ¶¶ŠÅâÀÀ@‰´`Á‚û÷ïçææ2™Æ­Ñaœ›¶¶¶úúzí9·¸¸øåË—~~~OŸ>=~üxSS“µµu϶$éÃ?iÒ¤‚‚£P‡ÜÜÜ¿ÿþ;(((66vòäɶ¶¶½Õttt´±±!¶½¼¼îÞ½»jÕ*!‹Å"ÁºººØØØÄÆÆöÖ‰&Um(JÏ>|øP3–¡C‡®X±‚(loo_¹r%Q.—Ëi4Z£Ó‹qS›Í:t(1á@cbbÚÛÛsssãââ–/_~îܹøøø!C†è´%‘H àâ⢙‹ £ ‰äСCÁÁÁ+V¬`³Ù죲H$’Ë_ý~|}}=‹ÅÊÏÏ_·n¦ƒÁ äóù …B»¡J¥‰D:©j£w€t:](jêðx¼®®.ƒáâârQ‹ààà>rÖ‹qbˆ? .—KLšr¹<%%E"‘Ì;·««‹N§O™2…L&çääÈd²Þ~mÓËË«¹¹™ÏçjjjJKK‰‰«ªª*??Ÿ¨£½Ãd2.\غu+ŸÏ¿zõjo*ŠŒŒ aSSSNNޝ¯ïĉÛÚÚÒÒÒˆ jµúöíÛ®®®T*uĈR©ôÅ‹€œœœÎÎÎ>Æ®w€Ó§O¯¨¨ îr>|xêÔ)sss6›ÝÒÒÂãñ2™, àŸckÖ¬‘Ëå6l3fŒD"quuݱcÇСCgΜyúôé 6 >|üøñ #**êÇÔ’B ;xð …B‘Éd#GŽܼy³¬¬ì£>ÒÞÎÌÌ|ôèÑÉ“'‰¶4mãÆGŽñöö¦R©=;÷ôô¼råJJJŠP(ôóósss#‘H?üðÃþýûOŸ>mgg'‰ììì~úé'€­­íœ9sÖ¯_ïèèhff6iÒ¤>®w€ñññAAA#FŒ‹Å¡¡¡‰´iÓ¦3gΜ:uª££cîܹĵ†Qè~‚¹gÏC>éêꪩ©5j”ÎìY]]=vìØaÆI$’ÆÆFŽŽ½ Âêêj&“I&¿íc!¡v¥RùôéS :®©£T*L&³··×Y+L(J¥R3Ñ §§'@­V?}úÔÕÕU§@àää¤sq¯—;wîìÝ»÷.ÞL Æ´ôƒb" ƒ(X ¢`1ˆ‚Å ƒ(X ¢`1ˆ‚Å Šî?“ÉÔ<6Ǽ7ÄbqMMM¯_*çp8ï=%Ì+t>‘ cairomm: Class Members - Functions

 

- g -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x63.html0000644000175000017500000000005011561716354024566 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x63.html0000644000175000017500000002767211561716354025020 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- c -

cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/svg-surface_8cc-example.html0000644000175000017500000000005011561716354025376 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/svg-surface_8cc-example.html0000644000175000017500000001366411561716354025624 0ustar00murraycmurrayc00000000000000 cairomm: svg-surface.cc

svg-surface.cc

An example of using Cairo::SvgSurface class to render to SVG

/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris,
 * et. al.
 */
#if defined(_MSC_VER)
#define _USE_MATH_DEFINES
#endif 

#include <string>
#include <iostream>
#include <cairommconfig.h>
#include <cairomm/context.h>
#include <cairomm/surface.h>

#include <cmath>

int main()
{
#ifdef CAIRO_HAS_SVG_SURFACE

    std::string filename = "image.svg";
    double width = 600;
    double height = 400;
    Cairo::RefPtr<Cairo::SvgSurface> surface =
        Cairo::SvgSurface::create(filename, width, height);

    Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);

    cr->save(); // save the state of the context
    cr->set_source_rgb(0.86, 0.85, 0.47);
    cr->paint(); // fill image with the color
    cr->restore(); // color is back to black now

    cr->save();
    // draw a border around the image
    cr->set_line_width(20.0); // make the line wider
    cr->rectangle(0.0, 0.0, cairo_image_surface_get_width(surface->cobj()), height);
    cr->stroke();

    cr->set_source_rgba(0.0, 0.0, 0.0, 0.7);
    // draw a circle in the center of the image
    cr->arc(width / 2.0, height / 2.0,             height / 4.0, 0.0, 2.0 * M_PI);
    cr->stroke();

    // draw a diagonal line
    cr->move_to(width / 4.0, height / 4.0);
    cr->line_to(width * 3.0 / 4.0, height * 3.0 / 4.0);
    cr->stroke();
    cr->restore();

    cr->show_page();

    std::cout << "Wrote SVG file \"" << filename << "\"" << std::endl;
    return 0;

#else

    std::cout << "You must compile cairo with SVG support for this example to work."
        << std::endl;
    return 1;

#endif
}
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Win32Surface-members.html0000644000175000017500000000005011561716354027272 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Win32Surface-members.html0000644000175000017500000002757311561716354027524 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::Win32Surface Member List

This is the complete list of members for Cairo::Win32Surface, including all inherited members.
cobj()Cairo::Surface [inline]
cobj() const Cairo::Surface [inline]
cobject typedefCairo::Surface
copy_page()Cairo::Surface
create(HDC hdc)Cairo::Win32Surface [static]
create(Format format, int width, int height)Cairo::Win32Surface [static]
Cairo::Surface::create(const RefPtr< Surface > other, Content content, int width, int height)Cairo::Surface [static]
Cairo::Surface::create(const RefPtr< Surface >& target, double x, double y, double width, double height)Cairo::Surface [static]
create_with_ddb(HDC hdc, Format format, int width, int height)Cairo::Win32Surface [static]
create_with_dib(Format format, int width, int height)Cairo::Win32Surface [static]
finish()Cairo::Surface
flush()Cairo::Surface
get_content() const Cairo::Surface
get_dc() const Cairo::Win32Surface
get_device()Cairo::Surface
get_device_offset(double& x_offset, double& y_offset) const Cairo::Surface
get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const Cairo::Surface
get_font_options(FontOptions& options) const Cairo::Surface
get_image()Cairo::Win32Surface
get_mime_data(const std::string& mime_type, unsigned long& length)Cairo::Surface
get_type() const Cairo::Surface
has_show_text_glyphs() const Cairo::Surface
m_cobjectCairo::Surface [protected]
mark_dirty()Cairo::Surface
mark_dirty(int x, int y, int width, int height)Cairo::Surface
set_device_offset(double x_offset, double y_offset)Cairo::Surface
set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)Cairo::Surface
set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)Cairo::Surface
show_page()Cairo::Surface
SlotDestroy typedefCairo::Surface
SlotReadFunc typedefCairo::Surface
SlotWriteFunc typedefCairo::Surface
Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Surface [explicit]
unset_mime_data(const std::string& mime_type)Cairo::Surface
Win32Surface(cairo_surface_t* cobject, bool has_reference=false)Cairo::Win32Surface [explicit]
write_to_png(const std::string& filename)Cairo::Surface
write_to_png(cairo_write_func_t write_func, void* closure)Cairo::Surface
write_to_png_stream(const SlotWriteFunc& write_func)Cairo::Surface
~Surface()Cairo::Surface [virtual]
~Win32Surface()Cairo::Win32Surface [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1SolidPattern-members.html0000644000175000017500000000005011561716354027467 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1SolidPattern-members.html0000644000175000017500000001546211561716354027713 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::SolidPattern Member List

This is the complete list of members for Cairo::SolidPattern, including all inherited members.
cobj()Cairo::Pattern [inline]
cobj() const Cairo::Pattern [inline]
cobject typedefCairo::Pattern
create_rgb(double red, double green, double blue)Cairo::SolidPattern [static]
create_rgba(double red, double green, double blue, double alpha)Cairo::SolidPattern [static]
get_matrix(Matrix& matrix) const Cairo::Pattern
get_matrix() const Cairo::Pattern
get_matrix(cairo_matrix_t& matrix) const Cairo::Pattern
get_rgba(double& red, double& green, double& blue, double& alpha) const Cairo::SolidPattern
get_type() const Cairo::Pattern
m_cobjectCairo::Pattern [protected]
Pattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::Pattern [explicit]
Pattern()Cairo::Pattern [protected]
reference() const Cairo::Pattern
set_matrix(const Matrix& matrix)Cairo::Pattern
set_matrix(const cairo_matrix_t& matrix)Cairo::Pattern
SolidPattern(cairo_pattern_t* cobject, bool has_reference=false)Cairo::SolidPattern [explicit]
unreference() const Cairo::Pattern
~Pattern()Cairo::Pattern [virtual]
~SolidPattern()Cairo::SolidPattern [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_12.png0000644000175000017500000000005011561716354023730 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_12.png0000644000175000017500000000433611561716354024152 0ustar00murraycmurrayc00000000000000‰PNG  IHDR(u¯ÝbKGDÿÿÿ ½§““IDATxœí›mLSÉLJÚJ¨ÉÒ(S 1TAXä¼èª\0.ý AcŒ¤ BLŒ¸^Å(ÔhÈ#ý`¡L¡PYDðÛ#oUªH,4H­‚Hßæ~˜½çž íÚBqw~é‡9sæ<ÏsžŸÓ™vê!Ìßš½À`V¸0p%`0:ù`hhH,Û+”o£GÚ;„?Á:.„ÙzAÕÕÕvŠê¯\1`¬¤ÑMŽXþ°¾i„B!dzw³Á:šÃ¤^x€Á€+ƒAàJÀ`À•€Á p%`0àJÀ`KX jµº¨¨héì/ŠÌÊA§Óݾ};77÷Ò¥Kƒƒƒ#­O Á`8þ|EEŬþk×®•””,ÖšÍ]ÂJÐh4åååKgßGŽQ(6 Ƥ)‹1a[Û«––[´¥Rvùòe&“ÙÓÓ³mÛ¶¬¬,sƒ­WS§Ó>}:33szzšèÎÊÊ¢~OÛPP –°¼½½ì z}}½F£±I0&MY€L6üË/÷ ~úéÚóçCÖ´ ÙÙÙl6»££ãܹs­­­eeeæ*ßVj²Ù쇇"‘hãÆÔ—ØPP ,©„gÏž…††º¸¸¤§§÷÷÷£Î¦¦¦Ý»w¯]»6**ª²²066¶gÏ€J¥JJJ‰D½½½CCC9996l8vìXoo¯9/>|HLL,--õöööòòª®®.((ðððnhh0ç”Çã©T*×ÚÚJö+‘HP0µµµ©©©ƒpçΘû-–lÊ‚,^½R õßöǯüö[ëÄÄ$ƒ±Ê2S6G¥RÕÔÔ· HKK#o …iiiÄá’ :s÷«Pïi1 ëׯ/,,áóùÉÉÉB£ÑÈåroܸ¡V«E"Ѻu릦¦ Åš5k „ïÞ½c2™ •••_¿~åp8'OžT(………ÎÎÎZ­Ö¤#¥RI£Ñ222>~üxöìYŸÏ×h4ùùù111未Õj6›-‘H´Z-Ùo? Æ`0ÄÆÆŽŽ²Ùl©TjîNɦ²Ï‡8|ýZ%<Šˆ8Ïfó9œ\6›O¼¼¼N\ºôÚšõ,DÇÐh´ñññ¹§¬W³¶¶¶¤¤Y#ÚhRÔÝÝíìì<99 !|ûö­›››X,öôô4ç׆‚RçgÑ•ÐÖÖæçç‡ÚSSSEEE:N«Õvuu¡ÎÁÁAƒ!—Ëɹ444@e2ºmDPPPcc£IGèá¤T*!„}}}t:]­VC;;;ÝÜÜ „&B===Q:È~‰` „CCC®®®qqq.\ ¾YÂ5(o££ýU}Íæs89äX•PQQáîînòÔR¨ ÿ[ …bçÎUUUB@™™)‘H‘ea2?&vàQóøñ㨨(Ôf2™yyy¨-“ÉN:%—Ë]]]ç^E£Ñâââb±822’艉illLLL4çÎÝÝ@§ÓY,j£S ƒÚ)Ù/Ÿôôô²²2b–e 33z©t|íÚ”ÐСœt:£¹ñIw÷ëýR066F£9Rqssíëëóóó#:[ZZ&&&RSS—HMš ñx<¡PxñâE¢ß¾‚.zÀårÉ‹*‘H455UWWwüøñ'N vtt899ͺÊÁÁaõêÕ€€€òBg```óæÍ–…>¯S²_2###•••¾¾¾À2×dfftz=Àaãé,sI_L&}Þ©rdd$“É$/^!„ãããK­fJJJssó‹/†‡‡Éokû ºèÏ„]»veff¾|ùÒßß¿¾¾þÌ™3ûöíûòå˦M›ÐÃàîÝ»Ÿ>}2M?Þ¼yóôéÓèèèžžžöööªª*ËB§pjÎ;BxèСÜÜÜÔÔÔÐÐÐää䀀 /¦ß}çôîÁ½‘‘±¸·ªêùï¿¢O£ÑÄû12rc~þÎyï΄Bá£G3ÔcœœœòòòJJJ¶oß8==]ZZªR©öïß_WWg¥šÝÝÝãããIII³Ú‹{øðá½{÷Òhÿ{/ f™wþ4—ëׯûøø{zzÖÔÔ ) —Ë ‰ÏÉÉñ÷÷'Ï,W­ZE\~óæM.—àååE¬«æ‚Ö ¨-—ˉI¡T*Eë“N!„ÑÑÑááád¿D0W¯^ˆˆ0 Â+W®„„„èt:s1¦¨2+ojõ”Pøï””Ÿ7lX¡+f¡V«ÍËË£Óé¾¾¾,+>>þÞ½{Ðjfgg#-Èmb!¼uëàÉ“'Bb° ‚RäÇ’J€êõú®®.½^Oî”ÉdŸ?†޵¶¶ “_M@F£T*u¹eÌr !Ôh4ÍÍÍhyM@ &MÍÅ\Þäò±ââGaaçˆ/‘8œÜ•S ˆÉÉÉööö÷ïßÏê·‹šsýB› Š0™HšQ¢ÿòÀåý¯“R©ljjšÛ¿eË–   o"€yó&“ ß¿ÿ‡HÔ=11ÉçÿcfG˯ã7„Éü,z`s †‹‹ËÜ~&“ù— `ëVÎÖ­œ‚‚¶·¿Öë ¶2‹±!ö¯—;vü Ñ¢¢æÙY€±xW6® +ƒWƒÀ•€Á€+ƒAàJÀ`0ù{‚ƒÃB·UbV2XÇEñ•! í ÆV`-ÀïNÁ`^'`0\  ¸0Ä´‘ugy§ªIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/namespacemembers.html0000644000175000017500000000005011561716354024272 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/namespacemembers.html0000644000175000017500000005471011561716354024515 0ustar00murraycmurrayc00000000000000 cairomm: Namespace Members
Here is a list of all namespace members with links to the namespace documentation for each member:

- a -

- c -

- d -

- e -

- f -

- g -

- h -

- l -

- o -

- p -

- r -

- s -

  • SUBPIXEL_ORDER_BGR : Cairo
  • SUBPIXEL_ORDER_DEFAULT : Cairo
  • SUBPIXEL_ORDER_RGB : Cairo
  • SUBPIXEL_ORDER_VBGR : Cairo
  • SUBPIXEL_ORDER_VRGB : Cairo
  • SubpixelOrder : Cairo
  • SURFACE_TYPE_BEOS : Cairo
  • SURFACE_TYPE_DIRECTFB : Cairo
  • SURFACE_TYPE_DRM : Cairo
  • SURFACE_TYPE_GL : Cairo
  • SURFACE_TYPE_GLITZ : Cairo
  • SURFACE_TYPE_IMAGE : Cairo
  • SURFACE_TYPE_OS2 : Cairo
  • SURFACE_TYPE_PDF : Cairo
  • SURFACE_TYPE_PS : Cairo
  • SURFACE_TYPE_QT : Cairo
  • SURFACE_TYPE_QUARTZ : Cairo
  • SURFACE_TYPE_QUARTZ_IMAGE : Cairo
  • SURFACE_TYPE_RECORDING : Cairo
  • SURFACE_TYPE_SCRIPT : Cairo
  • SURFACE_TYPE_SKIA : Cairo
  • SURFACE_TYPE_SUBSURFACE : Cairo
  • SURFACE_TYPE_SVG : Cairo
  • SURFACE_TYPE_TEE : Cairo
  • SURFACE_TYPE_VG : Cairo
  • SURFACE_TYPE_WIN32 : Cairo
  • SURFACE_TYPE_WIN32_PRINTING : Cairo
  • SURFACE_TYPE_XCB : Cairo
  • SURFACE_TYPE_XLIB : Cairo
  • SURFACE_TYPE_XML : Cairo
  • SurfaceType : Cairo
  • SVG_VERSION_1_1 : Cairo
  • SVG_VERSION_1_2 : Cairo
  • SvgVersion : Cairo

- t -

  • TEXT_CLUSTER_FLAG_BACKWARD : Cairo
  • TextCluster : Cairo
  • TextClusterFlags : Cairo
  • TextExtents : Cairo
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1FontOptions.html0000644000175000017500000000005011561716354025711 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1FontOptions.html0000644000175000017500000006747611561716354026151 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::FontOptions Class Reference

Cairo::FontOptions Class Reference

How a font should be rendered. More...

List of all members.

Public Types

typedef cairo_font_options_t cobject

Public Member Functions

 FontOptions ()
 FontOptions (cairo_font_options_t*cobject, bool take_ownership=false)
 FontOptions (const FontOptions& src)
virtual ~FontOptions ()
FontOptionsoperator= (const FontOptions& src)
bool operator== (const FontOptions& src) const
void merge (const FontOptions& other)
 Merges non-default options from other into this, replacing existing values.
unsigned long hash () const
 Compute a hash for the font options object; this value will be useful when storing an object containing a FontOptions in a hash table.
void set_antialias (Antialias antialias)
 Sets the antialiasing mode for the font options object.
Antialias get_antialias () const
 Gets the antialiasing mode for the font options object.
void set_subpixel_order (SubpixelOrder subpixel_order)
 Sets the subpixel order for the font options object.
SubpixelOrder get_subpixel_order () const
 Gets the subpixel order for the font options object.
void set_hint_style (HintStyle hint_style)
 Sets the hint style for font outlines for the font options object.
HintStyle get_hint_style () const
 Gets the hint style for font outlines for the font options object.
void set_hint_metrics (HintMetrics hint_metrics)
 Sets the metrics hinting mode for the font options object.
HintMetrics get_hint_metrics () const
 Gets the metrics hinting mode for the font options object.
void substitute (FcPattern* pattern)
 Add options to a FcPattern based on a cairo_font_options_t font options object.
cobjectcobj ()
const cobjectcobj () const

Protected Attributes

cobjectm_cobject

Detailed Description

How a font should be rendered.


Member Typedef Documentation

typedef cairo_font_options_t Cairo::FontOptions::cobject

Constructor & Destructor Documentation

Cairo::FontOptions::FontOptions ( )
Cairo::FontOptions::FontOptions ( cairo_font_options_t *  cobject,
bool  take_ownership = false 
) [explicit]
Cairo::FontOptions::FontOptions ( const FontOptions src)
virtual Cairo::FontOptions::~FontOptions ( ) [virtual]

Member Function Documentation

cobject* Cairo::FontOptions::cobj ( ) [inline]
const cobject* Cairo::FontOptions::cobj ( ) const [inline]
Antialias Cairo::FontOptions::get_antialias ( ) const

Gets the antialiasing mode for the font options object.

Returns:
the antialiasing mode
HintMetrics Cairo::FontOptions::get_hint_metrics ( ) const

Gets the metrics hinting mode for the font options object.

See the documentation for HintMetrics for full details.

Return value: the metrics hinting mode for the font options object.

HintStyle Cairo::FontOptions::get_hint_style ( ) const

Gets the hint style for font outlines for the font options object.

See the documentation for HintStyle for full details.

Returns:
the hint style for the font options object.
SubpixelOrder Cairo::FontOptions::get_subpixel_order ( ) const

Gets the subpixel order for the font options object.

See the documentation for SubpixelOrder for full details.

Returns:
the subpixel order for the font options object.
unsigned long Cairo::FontOptions::hash ( ) const

Compute a hash for the font options object; this value will be useful when storing an object containing a FontOptions in a hash table.

Returns:
the hash value for the font options object. The return value can be cast to a 32-bit type if a 32-bit hash value is needed.
void Cairo::FontOptions::merge ( const FontOptions other)

Merges non-default options from other into this, replacing existing values.

This operation can be thought of as somewhat similar to compositing other onto this with the operation of OPERATION_OVER.

Parameters:
otheranother FontOptions
FontOptions& Cairo::FontOptions::operator= ( const FontOptions src)
bool Cairo::FontOptions::operator== ( const FontOptions src) const
void Cairo::FontOptions::set_antialias ( Antialias  antialias)

Sets the antialiasing mode for the font options object.

This specifies the type of antialiasing to do when rendering text.

Parameters:
antialiasthe new antialiasing mode.
void Cairo::FontOptions::set_hint_metrics ( HintMetrics  hint_metrics)

Sets the metrics hinting mode for the font options object.

This controls whether metrics are quantized to integer values in device units. See the documentation for HintMetrics for full details.

Parameters:
hint_metricsthe new metrics hinting mode.
void Cairo::FontOptions::set_hint_style ( HintStyle  hint_style)

Sets the hint style for font outlines for the font options object.

This controls whether to fit font outlines to the pixel grid, and if so, whether to optimize for fidelity or contrast. See the documentation for HintStyle for full details.

Parameters:
hint_stylethe new hint style.
void Cairo::FontOptions::set_subpixel_order ( SubpixelOrder  subpixel_order)

Sets the subpixel order for the font options object.

The subpixel order specifies the order of color elements within each pixel on the display device when rendering with an antialiasing mode of ANTIALIAS_SUBPIXEL. See the documentation for SubpixelOrder for full details.

Parameters:
subpixel_orderthe new subpixel order.
void Cairo::FontOptions::substitute ( FcPattern *  pattern)

Add options to a FcPattern based on a cairo_font_options_t font options object.

Options that are already in the pattern, are not overridden, so you should call this function after calling FcConfigSubstitute() (the user's settings should override options based on the surface type), but before calling FcDefaultSubstitute().

Parameters:
patternan existing FcPattern.
Since:
1.8

Member Data Documentation


The documentation for this class was generated from the following file:
  • cairomm/fontoptions.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1PdfSurface.html0000644000175000017500000000005011561716354025451 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1PdfSurface.html0000644000175000017500000005531611561716354025677 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::PdfSurface Class Reference

Cairo::PdfSurface Class Reference

A PdfSurface provides a way to render PDF documents from cairo. More...

Inheritance diagram for Cairo::PdfSurface:

List of all members.

Public Member Functions

 PdfSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~PdfSurface ()
void set_size (double width_in_points, double height_in_points)
 Changes the size of a PDF surface for the current (and subsequent) pages.
void restrict_to_version (PdfVersion version)
 Restricts the generated PDF file to version.

Static Public Member Functions

static RefPtr< PdfSurfacecreate (std::string filename, double width_in_points, double height_in_points)
 Creates a PdfSurface with a specified dimensions that will be saved as the given filename.
static RefPtr< PdfSurfacecreate_for_stream (const SlotWriteFunc& write_func, double width_in_points, double height_in_points)
 Creates a PdfSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.
static RefPtr< PdfSurfacecreate (cairo_write_func_t write_func, void* closure, double width_in_points, double height_in_points)
static const std::vector
< PdfVersion
get_versions ()
 Retrieves the list of PDF versions supported by cairo.
static std::string version_to_string (PdfVersion version)
 Get the string representation of the given version id.

Detailed Description

A PdfSurface provides a way to render PDF documents from cairo.

This surface is not rendered to the screen but instead renders the drawing to a PDF file on disk.

Note:
For this Surface to be available, cairo must have been compiled with PDF support

Constructor & Destructor Documentation

Cairo::PdfSurface::PdfSurface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::PdfSurface::~PdfSurface ( ) [virtual]

Member Function Documentation

static RefPtr<PdfSurface> Cairo::PdfSurface::create ( std::string  filename,
double  width_in_points,
double  height_in_points 
) [static]

Creates a PdfSurface with a specified dimensions that will be saved as the given filename.

Parameters:
filenameThe name of the PDF file to save the surface to
width_in_pointsThe width of the PDF document in points
height_in_pointsThe height of the PDF document in points
Examples:
pdf-surface.cc.
static RefPtr<PdfSurface> Cairo::PdfSurface::create ( cairo_write_func_t  write_func,
void *  closure,
double  width_in_points,
double  height_in_points 
) [static]
static RefPtr<PdfSurface> Cairo::PdfSurface::create_for_stream ( const SlotWriteFunc write_func,
double  width_in_points,
double  height_in_points 
) [static]

Creates a PdfSurface with a specified dimensions that will be written to the given write function instead of saved directly to disk.

Parameters:
write_funcThe function to be called when the backend needs to write data to an output stream
width_in_pointsThe width of the PDF document in points
height_in_pointsThe height of the PDF document in points
Since:
1.8
static const std::vector<PdfVersion> Cairo::PdfSurface::get_versions ( ) [static]

Retrieves the list of PDF versions supported by cairo.

See restrict_to_version().

Since:
1.10
void Cairo::PdfSurface::restrict_to_version ( PdfVersion  version)

Restricts the generated PDF file to version.

See get_versions() for a list of available version values that can be used here.

This function should only be called before any drawing operations have been performed on the given surface. The simplest way to do this is to call this function immediately after creating the surface.

Since:
1.10
void Cairo::PdfSurface::set_size ( double  width_in_points,
double  height_in_points 
)

Changes the size of a PDF surface for the current (and subsequent) pages.

This function should only be called before any drawing operations have been performed on the current page. The simplest way to do this is to call this function immediately after creating the surface or immediately after completing a page with either Context::show_page() or Context::copy_page().

Parameters:
width_in_pointsnew surface width, in points (1 point == 1/72.0 inch)
height_in_pointsnew surface height, in points (1 point == 1/72.0 inch)
static std::string Cairo::PdfSurface::version_to_string ( PdfVersion  version) [static]

Get the string representation of the given version id.

This function will return an empty string if version isn't valid. See get_versions() for a way to get the list of valid version ids.

Since:
1.10

The documentation for this class was generated from the following file:
  • cairomm/surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1logic__error-members.html0000644000175000017500000000005011561716354027524 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1logic__error-members.html0000644000175000017500000000710611561716354027744 0ustar00murraycmurrayc00000000000000 cairomm: Member List

Cairo::logic_error Member List

This is the complete list of members for Cairo::logic_error, including all inherited members.
get_status_code() const Cairo::logic_error
logic_error(ErrorStatus status)Cairo::logic_error [explicit]
std::logic_error::logic_error(const string &__arg)std::logic_error
what() const std::logic_error [virtual]
~logic_error()Cairo::logic_error [virtual]
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/tabs.css0000644000175000017500000000005011561716353021537 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/tabs.css0000644000175000017500000000210711561716353021753 0ustar00murraycmurrayc00000000000000.tabs, .tabs2, .tabs3 { background-image: url('tab_b.png'); width: 100%; z-index: 101; font-size: 13px; } .tabs2 { font-size: 10px; } .tabs3 { font-size: 9px; } .tablist { margin: 0; padding: 0; display: table; } .tablist li { float: left; display: table-cell; background-image: url('tab_b.png'); line-height: 36px; list-style: none; } .tablist a { display: block; padding: 0 20px; font-weight: bold; background-image:url('tab_s.png'); background-repeat:no-repeat; background-position:right; color: #283A5D; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; outline: none; } .tabs3 .tablist a { padding: 0 10px; } .tablist a:hover { background-image: url('tab_h.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); text-decoration: none; } .tablist li.current a { background-image: url('tab_a.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Surface.html0000644000175000017500000000005011561716354025017 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Surface.html0000644000175000017500000020117111561716354025235 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Surface Class Reference

A cairo surface represents an image, either as the destination of a drawing operation or as source when drawing onto another surface. More...

Inheritance diagram for Cairo::Surface:

List of all members.

Public Types

typedef sigc::slot
< ErrorStatus, const unsigned
char*, unsigned int > 
SlotWriteFunc
 For example: ErrorStatus my_write_func(unsigned char* data, unsigned int length);
typedef sigc::slot
< ErrorStatus, unsigned char
*, unsigned int > 
SlotReadFunc
 This is the type of function which is called when a backend needs to read data from an input stream.
typedef sigc::slot< void > SlotDestroy
 For instance, void on_destroy();.
typedef cairo_surface_t cobject
 The underlying C cairo surface type.

Public Member Functions

 Surface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~Surface ()
const unsigned char* get_mime_data (const std::string& mime_type, unsigned long& length)
 Return mime data previously attached to surface using the specified mime type.
void set_mime_data (const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)
 Attach an image in the format mime_type to surface.
void unset_mime_data (const std::string& mime_type)
 Remove the data from a surface.
void get_font_options (FontOptions& options) const
 Retrieves the default font rendering options for the surface.
void finish ()
 This function finishes the surface and drops all references to external resources.
void flush ()
 Do any pending drawing for the surface and also restore any temporary modifications cairo has made to the surface's state.
void mark_dirty ()
 Tells cairo to consider the data buffer dirty.
void mark_dirty (int x, int y, int width, int height)
 Marks a rectangular area of the given surface dirty.
void set_device_offset (double x_offset, double y_offset)
 Sets an offset that is added to the device coordinates determined by the CTM when drawing to surface.
void get_device_offset (double& x_offset, double& y_offset) const
 Returns a previous device offset set by set_device_offset().
void set_fallback_resolution (double x_pixels_per_inch, double y_pixels_per_inch)
 Sets the fallback resolution of the image in dots per inch.
void get_fallback_resolution (double& x_pixels_per_inch, double& y_pixels_per_inch) const
 This function returns the previous fallback resolution set by set_fallback_resolution(), or default fallback resolution if never set.
SurfaceType get_type () const
Content get_content () const
 This function returns the content type of surface which indicates whether the surface contains color and/or alpha information.
void copy_page ()
 Emits the current page for backends that support multiple pages, but doesn't clear it, so that the contents of the current page will be retained for the next page.
void show_page ()
 Emits and clears the current page for backends that support multiple pages.
bool has_show_text_glyphs () const
 Returns whether the surface supports sophisticated Context::show_text_glyphs() operations.
void write_to_png (const std::string& filename)
 Writes the contents of surface to a new file filename as a PNG image.
void write_to_png_stream (const SlotWriteFunc& write_func)
 Writes the Surface to the write function.
void write_to_png (cairo_write_func_t write_func, void* closure)
RefPtr< Deviceget_device ()
 This function returns the device for a surface.
cobjectcobj ()
 Provides acces to the underlying C cairo surface.
const cobjectcobj () const
 Provides acces to the underlying C cairo surface.

Static Public Member Functions

static RefPtr< Surfacecreate (const RefPtr< Surface > other, Content content, int width, int height)
 Create a new surface that is as compatible as possible with an existing surface.
static RefPtr< Surfacecreate (const RefPtr< Surface >& target, double x, double y, double width, double height)
 Create a new surface that is a rectangle within the target surface.

Protected Attributes

cobjectm_cobject
 The underlying C cairo surface type that is wrapped by this Surface.

Detailed Description

A cairo surface represents an image, either as the destination of a drawing operation or as source when drawing onto another surface.

There are different subtypes of cairo surface for different drawing backends. This class is a base class for all subtypes and should not be used directly

Surfaces are reference-counted objects that should be used via Cairo::RefPtr.


Member Typedef Documentation

typedef cairo_surface_t Cairo::Surface::cobject

The underlying C cairo surface type.

For instance, void on_destroy();.

typedef sigc::slot<ErrorStatus, unsigned char* , unsigned int > Cairo::Surface::SlotReadFunc

This is the type of function which is called when a backend needs to read data from an input stream.

It is passed the buffer to read the data into and the length of the data in bytes. The read function should return CAIRO_STATUS_SUCCESS if all the data was successfully read, CAIRO_STATUS_READ_ERROR otherwise.

Parameters:
datathe buffer into which to read the data
lengththe amount of data to read
Returns:
the status code of the read operation
typedef sigc::slot<ErrorStatus, const unsigned char* , unsigned int > Cairo::Surface::SlotWriteFunc

For example: ErrorStatus my_write_func(unsigned char* data, unsigned int length);

This is the type of function which is called when a backend needs to write data to an output stream. It is passed the data to write and the length of the data in bytes. The write function should return CAIRO_STATUS_SUCCESS if all the data was successfully written, CAIRO_STATUS_WRITE_ERROR otherwise.

Parameters:
datathe buffer containing the data to write
lengththe amount of data to write
Returns:
the status code of the write operation

Constructor & Destructor Documentation

Cairo::Surface::Surface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Surface::~Surface ( ) [virtual]

Member Function Documentation

cobject* Cairo::Surface::cobj ( ) [inline]

Provides acces to the underlying C cairo surface.

const cobject* Cairo::Surface::cobj ( ) const [inline]

Provides acces to the underlying C cairo surface.

void Cairo::Surface::copy_page ( )

Emits the current page for backends that support multiple pages, but doesn't clear it, so that the contents of the current page will be retained for the next page.

Use show_page() if you want to get an empty page after the emission.

Since:
1.6
static RefPtr<Surface> Cairo::Surface::create ( const RefPtr< Surface other,
Content  content,
int  width,
int  height 
) [static]

Create a new surface that is as compatible as possible with an existing surface.

The new surface will use the same backend as other unless that is not possible for some reason.

Parameters:
otheran existing surface used to select the backend of the new surface
contentthe content for the new surface
widthwidth of the new surface, (in device-space units)
heightheight of the new surface (in device-space units)
Returns:
a RefPtr to the newly allocated surface.
static RefPtr<Surface> Cairo::Surface::create ( const RefPtr< Surface >&  target,
double  x,
double  y,
double  width,
double  height 
) [static]

Create a new surface that is a rectangle within the target surface.

All operations drawn to this surface are then clipped and translated onto the target surface. Nothing drawn via this sub-surface outside of its bounds is drawn onto the target surface, making this a useful method for passing constrained child surfaces to library routines that draw directly onto the parent surface, i.e. with no further backend allocations, double buffering or copies.

The semantics of subsurfaces have not been finalized yet unless the rectangle is in full device units, is contained within the extents of the target surface, and the target or subsurface's device transforms are not changed.

Parameters:
targetan existing surface for which the sub-surface will point to
xthe x-origin of the sub-surface from the top-left of the target surface (in device-space units)
ythe y-origin of the sub-surface from the top-left of the target surface (in device-space units)
widthwidth of the sub-surface (in device-space units)
heightheight of the sub-surface (in device-space units)
Since:
1.10
void Cairo::Surface::finish ( )

This function finishes the surface and drops all references to external resources.

For example, for the Xlib backend it means that cairo will no longer access the drawable, which can be freed. After calling finish() the only valid operations on a surface are getting and setting user data and referencing and destroying it. Further drawing to the surface will not affect the surface but will instead trigger a CAIRO_STATUS_SURFACE_FINISHED error.

When the Surface is destroyed, cairo will call finish() if it hasn't been called already, before freeing the resources associated with the Surface.

void Cairo::Surface::flush ( )

Do any pending drawing for the surface and also restore any temporary modifications cairo has made to the surface's state.

This function must be called before switching from drawing on the surface with cairo to drawing on it directly with native APIs. If the surface doesn't support direct access, then this function does nothing.

Content Cairo::Surface::get_content ( ) const

This function returns the content type of surface which indicates whether the surface contains color and/or alpha information.

Since:
1.8
RefPtr<Device> Cairo::Surface::get_device ( )

This function returns the device for a surface.

Returns:
The device for this surface, or an empty RefPtr if the surface has no associated device
void Cairo::Surface::get_device_offset ( double &  x_offset,
double &  y_offset 
) const

Returns a previous device offset set by set_device_offset().

void Cairo::Surface::get_fallback_resolution ( double &  x_pixels_per_inch,
double &  y_pixels_per_inch 
) const

This function returns the previous fallback resolution set by set_fallback_resolution(), or default fallback resolution if never set.

Parameters:
x_pixels_per_inchhorizontal pixels per inch
y_pixels_per_inchvertical pixels per inch
Since:
1.8
void Cairo::Surface::get_font_options ( FontOptions options) const

Retrieves the default font rendering options for the surface.

This allows display surfaces to report the correct subpixel order for rendering on them, print surfaces to disable hinting of metrics and so forth. The result can then be used with cairo_scaled_font_create().

Parameters:
optionsa FontOptions object into which to store the retrieved options. All existing values are overwritten
const unsigned char* Cairo::Surface::get_mime_data ( const std::string mime_type,
unsigned long &  length 
)

Return mime data previously attached to surface using the specified mime type.

If no data has been attached with the given mime type then this returns 0.

Parameters:
mime_typeThe MIME type of the image data.
lengthThis will be set to the length of the image data.
Returns:
The image data attached to the surface.
SurfaceType Cairo::Surface::get_type ( ) const
bool Cairo::Surface::has_show_text_glyphs ( ) const

Returns whether the surface supports sophisticated Context::show_text_glyphs() operations.

That is, whether it actually uses the provided text and cluster data to a Context::show_text_glyphs() call.

Note: Even if this function returns FALSE, a Context::show_text_glyphs() operation targeted at this surface will still succeed. It just will act like a Context::show_glyphs() operation. Users can use this function to avoid computing UTF-8 text and cluster mapping if the target surface does not use it.

Since:
1.8
void Cairo::Surface::mark_dirty ( int  x,
int  y,
int  width,
int  height 
)

Marks a rectangular area of the given surface dirty.

Parameters:
xX coordinate of dirty rectangle
yY coordinate of dirty rectangle
widthwidth of dirty rectangle
heightheight of dirty rectangle
void Cairo::Surface::mark_dirty ( )

Tells cairo to consider the data buffer dirty.

In particular, if you've created an ImageSurface with a data buffer that you've allocated yourself and you draw to that data buffer using means other than cairo, you must call mark_dirty() before doing any additional drawing to that surface with cairo.

Note that if you do draw to the Surface outside of cairo, you must call flush() before doing the drawing.

void Cairo::Surface::set_device_offset ( double  x_offset,
double  y_offset 
)

Sets an offset that is added to the device coordinates determined by the CTM when drawing to surface.

One use case for this function is when we want to create a Surface that redirects drawing for a portion of an onscreen surface to an offscreen surface in a way that is completely invisible to the user of the cairo API. Setting a transformation via cairo_translate() isn't sufficient to do this, since functions like Cairo::Context::device_to_user() will expose the hidden offset.

Note that the offset only affects drawing to the surface, not using the surface in a surface pattern.

Parameters:
x_offsetthe offset in the X direction, in device units
y_offsetthe offset in the Y direction, in device units
void Cairo::Surface::set_fallback_resolution ( double  x_pixels_per_inch,
double  y_pixels_per_inch 
)

Sets the fallback resolution of the image in dots per inch.

Parameters:
x_pixels_per_inchPixels per inch in the x direction
y_pixels_per_inchPixels per inch in the y direction
void Cairo::Surface::set_mime_data ( const std::string mime_type,
unsigned char *  data,
unsigned long  length,
const SlotDestroy slot_destroy 
)

Attach an image in the format mime_type to surface.

To remove the data from a surface, call unset_mime_data() with same mime type.

The attached image (or filename) data can later be used by backends which support it (currently: PDF, PS, SVG and Win32 Printing surfaces) to emit this data instead of making a snapshot of the surface. This approach tends to be faster and requires less memory and disk space.

The recognized MIME types are the following: CAIRO_MIME_TYPE_JPEG, CAIRO_MIME_TYPE_PNG, CAIRO_MIME_TYPE_JP2, CAIRO_MIME_TYPE_URI.

See corresponding backend surface docs for details about which MIME types it can handle. Caution: the associated MIME data will be discarded if you draw on the surface afterwards. Use this function with care.

Parameters:
mime_typeThe MIME type of the image data.
dataThe image data to attach to the surface.
lengthThe length of the image data.
slot_destroyA callback slot that will be called when the Surface no longer needs the data. For instance, when the Surface is destroyed or when new image data is attached using the same MIME tpe.
void Cairo::Surface::show_page ( )

Emits and clears the current page for backends that support multiple pages.

Use copy_page() if you don't want to clear the page.

Since:
1.6
void Cairo::Surface::unset_mime_data ( const std::string mime_type)

Remove the data from a surface.

See set_mime_data().

void Cairo::Surface::write_to_png ( const std::string filename)

Writes the contents of surface to a new file filename as a PNG image.

Note:
For this function to be available, cairo must have been compiled with PNG support
Parameters:
filenamethe name of a file to write to
void Cairo::Surface::write_to_png ( cairo_write_func_t  write_func,
void *  closure 
)
Deprecated:
Use write_to_png_stream instead
void Cairo::Surface::write_to_png_stream ( const SlotWriteFunc write_func)

Writes the Surface to the write function.

Note:
For this function to be available, cairo must have been compiled with PNG support
Parameters:
write_funcThe function to be called when the backend needs to write data to an output stream
Since:
1.8

Member Data Documentation

The underlying C cairo surface type that is wrapped by this Surface.


The documentation for this class was generated from the following file:
  • cairomm/surface.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_vars.html0000644000175000017500000000005011561716354024026 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_vars.html0000644000175000017500000000642111561716354024245 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Variables cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Gradient__inherit__graph.png0000644000175000017500000000005011561716354030205 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Gradient__inherit__graph.png0000644000175000017500000002006611561716354030425 0ustar00murraycmurrayc00000000000000‰PNG  IHDRCË{ÅfQbKGDÿÿÿ ½§“ëIDATxœíÝy\gþðg&á ˆÜCêâ ¨¬XW¥*¬!V¼j©Zª¸¢²´øª« =Ö¢•zÔ±Z¡â‚m½kù`Añ‡‘å(r†@È1¿?¦¿lÂ!$¿ï¿†aæy¾ÌÇÉL&A0ÂáTPH2tI€ ÉÐ$:`R]}`Fu # ‡ÃIII¡º š€$«ÓŽ;fÏžMu#ÃÁƒ©.V ÉêäééÉáp¨®bdHMM¥ºZëdè’ @’ H2tI€àÞµ¶‰Åâ´´´üü| ‹€€€©S§ö¶essó©S§"""†ÒÝéÓ§ëêêÈå)S¦øûû³X¬¡4†'8'kUmmí¬Y³bcc ‹‹‹===·mÛÖÛÆ­­­ñññCìñÈ‘#7oÞ¬©©©©©9xð ¥¥ååË—{Û8$$¤¢¢¢ç2 &¡äää¾·áp8‹/‹Åä—=Ò××çóùš«ÊÍÍíÔ©Sò/wíÚµxñâÞ6¶µµ-,,칬 ‡Ãáh®ý× œ“µ§¡¡áâÅ‹ëׯg2¿¨qvvޝ­­EݺuËßß̘1^^^‰‰‰¡úúú·Þz‹ÜqÑ¢Eiii666¥¥¥|>?<<|ܸq¡¡¡¥¥¥dSX·n]Ïe%nnn*»ãr¹ \.7;;[q!ÄãñüüüLLLæÍ›GžÒKÊÎÎöóóËÌÌtuue³Ù{÷îÕäQ½ úO } þÎÉ—/_Æq¼±±±ç·d2™ƒƒÃ‰'š››ÓÒÒÌÌÌ:::***X,AÕÕÕ†††¾¾¾‰‰‰]]]l6;22²¢¢"&&ÆØØ¸»»› ˆŒŒŒ¸¸8²5Åe77·C‡ýöÛo¿ýöÛ7ÜÜܶoß®²»ææfkkëÛ·owww+.1sæÌÈÈÈêêê3gÎŒ=úáÇŠ%UVVêêêVUUèéé=~ü¸ßÃçdõ‚$«M¿I¾pá‚•••Êouwwççç“ËOŸ>ÕÑÑáñxŠIF]¿~ ˆ¢¢"[[[ùŽnnn7nÜè£S777Ç ƒÁ°´´ ¯­­UÙÑË«ë_ý•ÍfK¥Rr}```tt´bIäkŠÜÜ\rooïÔÔÔ>A@’Õ î]k¥¥e]]Ý“'O¦M›&_™••ÕÔÔPTTÅãñÌÍÍ{î‹ãø¼yóB7oÞœ3gŽ|½Ï7üüüúè÷ĉ!!!J+ûîNÑÕ«WíííÉ/;;;­­­K"yxx £ï&@’µgΜ9†††?þø£<ÉAlÞ¼yçΙ™™aaa¾¾¾ ÃØØXi_ ÃtuuB...çΓ¯/++ ~ÕJúíN‘“““³³ó½{÷È/;;;1 kll”—DÂq¸çB%8úÚc``°{÷¸ââb„Pggg\\\CCCpp°P(tttôóóc0ééémmm2™Le#¾¾¾•••999¡âââ¼¼<ò®Øƒ®]»Fn£¸¬RÝ)öK.Ïž=ûÅ‹iii¡¶¶¶iÓ¦‘õƒa’¬UQQQ\.×ÝÝÝÁÁÁÆÆæ?ÿùÏ™3g W¬XÑÑÑáîîîëë{çÎggçÞn>ëêê9r$$$ÄÕÕuÙ²eŸ|òɘ1cBçÏŸ—ß4V\V©·î&NœšŸŸ¯¸ŒãøáÇ÷ïßïìììààÀápfÍš¥æã†Žê uú@x?™$òòò^¼x¡´¾¨¨¨½½ ˆúúúììl©TªòF7A2™¬°°P"‘ ¥`¥î‚hmmýé§Ÿš››•–I`(=*‚;^ê…0s½š`–œœDu!#y `öuW×Ð$:€$@dè’ @’ H2tI€ É4GDbâ]ª«Ïx© †a®®®–––Tò55ã§LyJu!ÊJJJæÎ Ïx© |ªQm†ç„ji1îîÖe2-Gꦺ–?˜;w®§§'ÕUМ“éL&#¦Oÿ¸©I2wÿþªË×Étv篩I€JMÍ—HTàÐ$™ÎÒÓ tt¡¶¶Îœœaw© Ô’L["‘äòåB±XŠb2ñK—P]Ð H2mýôÓ“ÎÎßïr‰ÅÒï¿ØÕ%¦¶$ 9dÚJO 8ÍeW—äæÍR ëI¦§¶¶®ë×I$RùOO‡Ø´I¦§ë×I¥¸Y-‘HoÝ*mk뤪$ Qdzºx1Ã0¥•R©ìÊ•JêšI¦¡ÆFANÎS¥s2B!,--Ÿ‚‚€æA’ièûï"¤|BFÉd²¼¼g íÚ/ h$™†.]Ê—JU?„+“¡~x¨åz€@’馾¾õÁƒ*„z{œžÈÌ,ÔjA@+à4—™Y´eË7/^¢º YpN€ ÉÐ$:€$@dè’ @’ H2tI€ ÉÐ$:€$@dè’ @’ H2tI€ ÉÐ$:€$@dè’ @’ H2tI€ ÉÐ$:€$@dè’ @’ H2tI€ ÉÐ$:À‚ º† Ã0ªKèŽë1ÆbqÕ…ôƒÃᤤ¤P]ÅƤº€Ãá899Q]ÅÈ–ššJu #$y¨œœœæÏŸOu#[VVÕ%Œxp @’ H2tI€ ÉÐܻ։D’••UVVfjjêãã3nܸ޶looÿá‡V­Z5Ä ‚¸sçNYYA³gÏvrrÜ[ßwîÜ133³µµUKU@sàœ¬q/_¾|ÿý÷SRRôõõËËËCCCãââzÛ¸££ã‡~b---[·n=~üxWWWww÷çŸÔÞÞ>ˆ¦~þùçG ®ªÔÖÖ¢S0pNÖ¸#GŽ˜™™ÅÄÄ0 „PeeåæÍ›9޵µuÏ­¬¬ÎŸ??Ä<ˆãx||¼¾¾>B(44t÷îÝ aaaƒkppUÝ»w/ `p=‚WçdÍjiiÉÊÊZ´hc„]DDDSSB¨  àÃ?\¶lÙÖ­[oݺ…jnnþè£ÈwïÞ••µråʪªªÚÚÚcÇŽq8œ/¿ü²ªªŠlê»ï¾ûôÓO•–rrr–-[FƘéàà@„R³= @ñùü˜˜˜åË—GGG‹D"ŪB555;wîô÷÷ß¾}{nn.B¨­­mçι¹¹7när¹ ¡}ûöµ´´ìÛ·¯¸¸XÓ H²¦=yò!äîrÁ‚ÎÎÎA|ùå—^^^‰‰‰AAAqqq"‘H$"„ÄbqIIIFFÆûï¿occó÷¿ÿ]GG端¾277ÿàƒ$ BˆÍf;88mÊ—=zÄ`0æÌ™£Ø£™™Ù¢E‹0 SlÖÚÚºg¡¡¡l6û믿f±XÙÙÙ!yU¡èèhGGÇ„„„¿þõ¯111|>_"‘_½zõ³Ï>‹ŽŽNJJªªªÚ¹s§±±ñÎ;áQVí€Wך% MMMGÝó[R©tÏž=S§NEÙÛÛ …ÂÆÆFù©!$‰V¯^=sæÌòòr™LöÞ{ï!„‚ƒƒoß¾ýðáCwwwŸʗE"›Íf±Xä—;wî,(( —=jnn.oV"‘ô, ¼¼ÜÎÎníÚµ¡°°°›7o*ÖÜÐÐÐÜÜ‚aØâÅ‹óòòrss—,Y"‘H¸\®………………££ceeå„ 0 322b2áwLà(k–©©iSSSUUÕ„ ä+>|ØÖÖæããóìÙ³Ó§O×ÔÔ˜˜˜ôÜð7Þx!ôàÁùúéÓ§ççç+ç嬭­d2Žã¡˜˜‰D"•JÉp*6Ëd2{PXXH~!Ä`0œ¿wï^kkëÛo¿M~)‰ÌÌÌÈeù¹—ìh$Y³œõôô~ùåy’ ‚ˆ ÊÍÍ‹‹‹‰‰™1cŽãK—.UÚÃ0ò„6qâÄk×®É×WWWûùùõÖãäÉ“e2Ù;w|||BäÕrvv¶üÞµ¼Y•Lš4)''G±¯Y³fÉ¿´³³›8qâñãÇÉ/E"†a„xÒüùÔ,==½U«V]¼x‘Ïç#„D"QzzzKKËÂ… »ººØl¶»»;ŽãÙÙÙB¡°·ÏŠÏ˜1£®®®¤¤!Äçó?~L¾–~úôéýû÷ÉmäËFFFk×®=|ø0¹=A<8wî\ÏW¹* ððð(**âñx¡¼¼¼ºº:Å]œÉ. …Âõëד?WoàÓïZçd[³fH$Ú´i“µµuKKËäÉ“#""ôôô¼½½Ïž=»iÓ&‹5eÊ;;»O>ùäã?îÙ“Éܾ}û˜L¦P( 5jBèúõ륥¥þóŸ•–¹\.B(<<ÜÄÄ„¼ËqåÊ¥fUpìØ± 6DFF²X,¡Pèíí­¸ †aÛ¶mûæ›oÚÛÛ.\èèèHÞ‡ïÉÚÚúСCÛ·o—ß–šs† †a{÷îÈç“»ººø|¾¥¥¥üÂ’T^^nccc``ÐÒÒR]]íââÒÞÞ®òAåååööö¼‰D|>___ßÎÎÃ0‰DÂ`0z¾V*ÀÕÕ!$‹y<Þ¤I“ôôôÈ®•ªâñxãÇW|£«'¡PXVV6eÊ##£¾KÝ·oŸ¹¹9Ì2ä!x’A ÉC×ÉÐ$:€$@dè’ @’ H2tI€ É#RW—D èV{³/_v“B#<ã5$†ÙÛÛ›ššj­G©T_ °‰LÍÍ 1L¦ÞÆE"ÓÖÖI,ÖsCÃzµ7Þ>ŸïççÏx |‚bH8ŽÖútjjŒ^¾4 lÒ¤Vkk;MôR\ÌhmÜÑaocÓam-ÐÑÑFžííí===µÐÁ9y¸#âöíÿ=räæÝ»|—É ‹Q÷î}¬£ÃèçWw÷ny`à„ƒã8ööÛ[¶øÚÙÕD_@ ÉÃWgg÷… wOœøùùó&“Hd!ÇbcWq¹³úÝ}ÐV­:ž›[.‘HB:: ±Xêînæ·p¡s¿ûª@’‡£úú¶Ó§ÿçÛosÛÛ»⿟×Çq4~¼YNÎG †oUW/^|HñƒÌ³ƒƒUhè_Ü™L¸Q:ì@’‡—gϾž‘Q„"ÏŠŠ0 ;rdM@ÀŸ4]ÆÚµ§²²Ê” Àq !da1úÝw}Ö®õ=º¯'-ƒ$2ñá‡i‰‰wq‹•3ŒÂqlܸ1wîhö„Lzø°zÉ’C*70 Ã0dlløé§+—-{CÓ•€‚—IÃŽcK—NÇqL*U}»˜ Pdä-Ä!äæ6ÞÏÏIGGÅ[A0øØ±FÞÞS´P  Hò02w®Ã·ßn"o+}‹ÁÀ§Nµ\¾|†ÖŠùè#ÿž/ïBL&Îf¹tiÛ˜1,­úI^||¦ž<¹|«H*%"#—js&Z«·ÞzCé´¬£Ã°µ5½t) b<Ü@’‡É“-&L‹)¤™ÁÀ]]m-ré{GµûÇ?Ëdÿ=-3™ KoÊKcc-WúI^ ªüý›šÆÄüM¾R*•ED,Ñ~1'šº“ 0™¸±±Á§Ÿ®üåþªUÇ‘öë}€$#÷ïW¬^ýõôéã’“ß_¿Þ+*ÊÃ0Ç\\Æýå/Ž””´}û›2™ Ç1}}Ýï¾Û²|ùŒÔÔв²º  c--BJJ*A’‡‹¬¬²U«¾ž={òùóïê"„BCÿ²cÇ›2¹„ªÿÕbooþ·¿ÍÔÓc&%mqv¶EMŸ>>=}kmmkPб—/”Tz‚÷“‡…+WJ¶lùfÑ"—£G×*=PšzŸÃù3U…!„ª«›ž?oöôœ¤¸’Ïÿ-(蘡¡nJJ¨••1Uµ9H2õRS·råÌ/¾àjçíbµxþ¼9(è¸D"MN~>bA¹ó{CWIIwÃÿ۰ÁûàÁU#(Æ![[ÓK—¶é­\y”Ïÿêr^w#éW‡~NžÌÚµ+eÓ¦yû÷¯‰ÿµÔÂbÔÅ‹[--G|UZú‚êr^kðêš2±±Wcc¯EEùðÁªk’¶¶®5kNòxõß~»ÉÝ}Bÿ; €$S#&æûcÇ~ŠŽ|çïþ·ö„ÂîÏ}<ÕåhÉ®]50ÐÙ·/£±QåOu9ôIÖ¬¦¦Ž·ßþº¡¡-=}«ƒƒÕåhÕ,`±ô÷ì¹HÄž=oQ]ÍA’5¨®®•Ë=.ˆÒÒ>˜4É‚êr(°aƒ—Žþ¤ ]Ÿ|²²ç¬F@] ÉšRUõ’Ë=ŽãXFFظqÚûÇQÃMpðl##ý°° èË/WÃ\ÙIÖˆŠŠß‚‚Ž¥ÿÝwï[XŒ¢ºŠ-_>ÃÐPwÓ¦³¢'ÖëêÂoúÁûÉê÷äÉ‹U«¾¶°”´eìX#ªË.îÜy¶aÃiOOûS§ÞÑ×סºº$«YAAUpðÉÉ“-.\Ø4z4Ì\÷÷îñ×®=åâbûÍ7ïéQ]­@’ÕéþýеkOº¹±Þ%gðJŠ‹«W¯>Áf›%&n611¤ºú€ÛjÓs".ÐL¦!dõ¸r¥dݺS L;yrÜÑéÛÔ©V/~ÐÔÔðU]]+ÕåÐ$Y RSïoÚt60Ðýøñuúå4coož‘&•Ë—ÇUV6R]@’‡jäNÄE-ù4`_••ÕQ]Έ¿yC2Ò'⢖…Ũôô­66&ÎQ˜lˆàÞõàÑf".jÁ4`jI$šMÄE-˜lè ɯŒ®qQ ¦"Hò«¡÷D\Ô‹¥Û¶}{åJɱck—.u£ºœ’ü ^‡‰¸¨Ó€ <Ã0P¯ÉD\Ô’O¶cGRGG×;ïøP]шI×j".jɧÛ³çRw·¦ Hrÿ^ω¸¨Ó€½*Hr?^牸¨¥8 XT”?2fá"†ŒêŸ` ôôÆëèXS]ÅpÁápQÅ •””í—!//ïСCjijÇŽ³gÃ3ä#ÆÁƒ•Ö¨H2‡ÃÑJ1`¨Ôx:õôô„qARSS•ÖÀu2tI€ ÉÐ$:€$@ƒ|\F,§¥¥åçç[XXL:µ·-›››O:1Ø Bèßÿþ7—Ë0á¿Óµ©¥Y•d2Yfff~~¾L&ó÷÷÷ôôÄñÁü½ËÈȰ¶¶ž2eІêÔ>-ú™3g^¼ø}ÂM}}ý ̘1c€ûäà···=z422’ür¤û`j­­­5kVll¬¡¡aqq±§§ç¶mÛzÛ¸µµ5>>~"„Ðþýû+**ÔÞlO ^^^»víêèèèêêÚ¸q#›ÍnnnDS©©©¹¹¹ƒ«3$$Dé祜öýرc×®]«©©©©©)((Xºté¬Y³¸ï@~kkë?ÿùOr™ãÞó¯~ âp8‹/‹Åä—=Ò××çóùCب7,ëöíÛšk_.00ÐËËK È×¼ùæ›[·nDSÁÁÁ‡\¶¶¶………ýn6ÀñêB(99¹ïm´?èîîî_}õ•üËçÏŸ3Œ¬¬¬ì;ƒ_]]­§§G.¬q'‚Ãá(=ãõÊç䆆†‹/®_¿žÉüý•¹³³s|||mm-BèÖ­[þþþcÆŒñòòJLLDÕ×׿õÖ[䎋-JKK³±±)--åóùáááãÆ ---%›:pàÀºuëz.÷$oöåË—~~~™™™®®®l6{ïÞ½ä<ÏÏÏÏÄÄdÞ¼y—/_&Wö,O±ªk×®]ºtiË–-,KÞQBBÂÌ™3 ‚Pª¿gS¡âââ5kÖŒ;688X(*Ö©²$•Ås¹Ü††.—›ýª££!ÃaЭ¬¬ÆŽûüùs•=¢þ¾Ê]HÕÕÕtwÅXäoüåË—qollìù-™LæààpâÄ‰æææ´´433³ŽŽŽŠŠ ‹EDuuµ¡¡¡¯¯obbbWW›ÍŽŒŒ¬¨¨ˆ‰‰166îîî&"###..ŽlMq¹ç9YÞlmm­®®n```UUUAAžžÞãÇ ‚˜9sfddduuõ™3gFýðáC•å)VuöìY]]Ý––•?¸â–=›joo700ø×¿þU^^¾eË„СC‡äuª,IeñÍÍÍÖÖÖ·oß&I´vN¦dÐÝÝÝ÷îÝËãñx<^~~~ddä´iÓ^¾|©²Ç¾~oCOž““’’FÖ¸ªÎɯœä .XYY©üVwww~~>¹üôéS§8¨¡ëׯQTTdkk+ßÑÍÍíÆ}tÚw’B¹¹¹äzooïÔÔÔ_ý•ÍfK¥Rre```tt´Êò«ŠŸ>}º¼‹ þûŸ%òòò·TÙTZZùWœ ±XoÞ<„ÐÍ›7çÌ™#_ïããsãÆ ??¿W-FÎÃÃ\`0¡«W¯666ÚÛÿ>u^gg§µµµŽŽŽÊòäUÙÛÛÿúë¯R©”l$##C,K$¥-U6uûöíùóç“ËL&Sñì­$•ÅCT úgŸ}¶uëV„L&»páÂÆýüülmm_õà÷6ô$zŒû+_'Ï™3ÇÐÐðÇ”¯!bóæÍ™™™aaa»vízúôéÝ»w ”?ˆa˜®®.BÈÅÅ¥¬¬L¾¾¬¬ÌÉÉi°?B)½aàäääìì\©à‹/¾è­è8ޝ^½ÚÀÀàÙ³gƒ8ø}Iqå¶ vïÞW\\Œêì쌋‹khh ¯õýüü Fzzz[[›L&SÙˆ¯¯oeeeNNB¨¸¸8//¼=ðàÁƒk×®‘Û(.#„AËÿkkkë»ÈÙ³g¿xñ"-- !ÔÖÖ6mÚ´âââ~Ë311Ù³g϶mÛÈÂd2ÙÍ›7÷ïßOŽ¢"•M-^¼øçŸ.((@}ÿý÷•••ý–ÔÇÐÛ¡£Uƒ®ˆÁ`˜šš …ÂAü¾‹¤É¸+¾ÔàuWww÷îÝ»™LæÔ©SMLLæÏŸéÒ%‚ ÈûúÓŸæÏŸîìììáá¡xÉÄ`0äœ;wÎÁÁÁÅÅe„ ò›Û·o÷ðð蹬xS!dff¦t,ovÞ¼yä%GZZš«««“““••Õ®]»z+O©*™LöùçŸëêêÚÚÚŽ7ÎÜÜüòåËäõ’|K•MñùçŸ[YY988ØØØ¬X±BéÎGÏ’z+ÞÛÛÛÃÃãþýû}„6ß…Òþ +½ EÄÂ… ׬Y3ˆƒßÛÐËß…YãN¨åŽ—œ@ ÈËË{ñâ…Òú¢¢¢ööv‚ êëë³³³¥R©Ê{žAÈd²ÂÂB‰D2ÀõѬ¢‚‚Å7 {–§r/¡Px÷îÝ’’òF…H$’߱跩®®®¼¼¼ŽŽŽÞêìYRO­­­?ýôSsssß›i3É$j½É•}ü~‡~¤Œ;¡*Éø¿P)))\.—9ÓÁ¼æÔ5^†%''©¥* ä`)Nï3Üïµ’ @’ H2tI€ ÉÐ$:€$@dè@ŧ.\¨ý:À Ô×׫«©èèèS§N©«5 i%%%sçÎU\ó‡$?þ9Ðbjjêèè8ôv`ÐGœ¹sçzzz*®Áà)kh®“ H2tI€ ÉÐ$:ø?FPÍRà“IEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classes.html0000644000175000017500000000005011561716354022420 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classes.html0000644000175000017500000002504711561716354022644 0ustar00murraycmurrayc00000000000000 cairomm: Class Index

Class Index

C | D | F | G | I | L | M | P | Q | R | S | T | U | W | X
  C  
  G  
Matrix (Cairo)   RadialGradient (Cairo)   ToyFontFace (Cairo)   
cairo_matrix_t   GlitzSurface (Cairo)   
  P  
RefPtr (Cairo)   
  U  
ColorStop (Cairo)   Gradient (Cairo)   Path (Cairo)   Region (Cairo)   UserFontFace (Cairo)   
Context (Cairo)   
  I  
Pattern (Cairo)   
  S  
  W  
  D  
ImageSurface (Cairo)   PdfSurface (Cairo)   ScaledFont (Cairo)   Win32FontFace (Cairo)   
Device (Cairo)   
  L  
PsSurface (Cairo)   SolidPattern (Cairo)   Win32PrintingSurface (Cairo)   
  F  
LinearGradient (Cairo)   
  Q  
Surface (Cairo)   Win32ScaledFont (Cairo)   
FontFace (Cairo)   Device::Lock (Cairo)   QuartzFontFace (Cairo)   SurfacePattern (Cairo)   Win32Surface (Cairo)   
FontOptions (Cairo)   logic_error (Cairo)   QuartzSurface (Cairo)   SvgSurface (Cairo)   
  X  
FtFontFace (Cairo)   
  M  
  R  
  T  
XlibSurface (Cairo)   
FtScaledFont (Cairo)   
C | D | F | G | I | L | M | P | Q | R | S | T | U | W | X
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Context.html0000644000175000017500000000005011561716354025053 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Context.html0000644000175000017500000071747611561716354025315 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Context Class Reference

Context is the main class used to draw in cairomm. More...

List of all members.

Public Types

typedef cairo_t cobject
 The base cairo C type that is wrapped by Cairo::Context.

Public Member Functions

 Context (cairo_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~Context ()
void save ()
 Makes a copy of the current state of the Context and saves it on an internal stack of saved states.
void restore ()
 Restores cr to the state saved by a preceding call to save() and removes that state from the stack of saved states.
void set_operator (Operator op)
 Sets the compositing operator to be used for all drawing operations.
void set_source (const RefPtr< const Pattern >& source)
 Sets the source pattern within the Context to source.
void set_source_rgb (double red, double green, double blue)
 Sets the source pattern within the Context to an opaque color.
void set_source_rgba (double red, double green, double blue, double alpha)
 Sets the source pattern within the Context to a translucent color.
void set_source (const RefPtr< Surface >& surface, double x, double y)
 This is a convenience function for creating a pattern from a Surface and setting it as the source.
void set_tolerance (double tolerance)
 Sets the tolerance used when converting paths into trapezoids.
void set_antialias (Antialias antialias)
 Set the antialiasing mode of the rasterizer used for drawing shapes.
void set_fill_rule (FillRule fill_rule)
 Set the current fill rule within the cairo Context.
void set_line_width (double width)
 Sets the current line width within the cairo Context.
void set_line_cap (LineCap line_cap)
 Sets the current line cap style within the cairo Context.
void set_line_join (LineJoin line_join)
 Sets the current line join style within the cairo Context.
void set_dash (std::valarray< double >& dashes, double offset)
 Alternate version of set_dash().
void set_dash (std::vector< double >& dashes, double offset)
 Sets the dash pattern to be used by stroke().
void set_dash (const std::valarray< double >& dashes, double offset)
 Alternate version of set_dash().
void set_dash (const std::vector< double >& dashes, double offset)
 Sets the dash pattern to be used by stroke().
void unset_dash ()
 This function disables a dash pattern that was set with set_dash()
void set_miter_limit (double limit)
void translate (double tx, double ty)
 Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty).
void scale (double sx, double sy)
 Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively.
void rotate (double angle_radians)
 Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians.
void rotate_degrees (double angle_degres)
 A convenience wrapper around rotate() that accepts angles in degrees.
void transform (const Matrix& matrix)
 Modifies the current transformation matrix (CTM) by applying matrix as an additional transformation.
void transform (const cairo_matrix_t& matrix)
void set_matrix (const Matrix& matrix)
 Modifies the current transformation matrix (CTM) by setting it equal to matrix.
void set_matrix (const cairo_matrix_t& matrix)
void set_identity_matrix ()
 Resets the current transformation matrix (CTM) by setting it equal to the identity matrix.
void user_to_device (double& x, double& y)
 Transform a coordinate from user space to device space by multiplying the given point by the current transformation matrix (CTM).
void user_to_device_distance (double& dx, double& dy)
 Transform a distance vector from user space to device space.
void device_to_user (double& x, double& y)
 Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).
void device_to_user_distance (double& dx, double& dy)
 Transform a distance vector from device space to user space.
void user_to_device (double& x, double& y) const
 Transform a coordinate from user space to device space by multiplying the given point by the current transformation matrix (CTM).
void user_to_device_distance (double& dx, double& dy) const
 Transform a distance vector from user space to device space.
void device_to_user (double& x, double& y) const
 Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).
void device_to_user_distance (double& dx, double& dy) const
 Transform a distance vector from device space to user space.
void begin_new_path ()
 Clears the current path.
void begin_new_sub_path ()
 Begin a new subpath.
void move_to (double x, double y)
 If the current subpath is not empty, begin a new subpath.
void line_to (double x, double y)
 Adds a line to the path from the current point to position (x, y) in user-space coordinates.
void curve_to (double x1, double y1, double x2, double y2, double x3, double y3)
 Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points.
void arc (double xc, double yc, double radius, double angle1, double angle2)
 Adds a circular arc of the given radius to the current path.
void arc_negative (double xc, double yc, double radius, double angle1, double angle2)
 Adds a circular arc of the given radius to the current path.
void rel_move_to (double dx, double dy)
 If the current subpath is not empty, begin a new subpath.
void rel_line_to (double dx, double dy)
 Relative-coordinate version of line_to().
void rel_curve_to (double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)
 Relative-coordinate version of curve_to().
void rectangle (double x, double y, double width, double height)
 Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates.
void close_path ()
 Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to move_to()), and closes this subpath.
void paint ()
 A drawing operator that paints the current source everywhere within the current clip region.
void paint_with_alpha (double alpha)
 A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha.
void mask (const RefPtr< const Pattern >& pattern)
 A drawing operator that paints the current source using the alpha channel of pattern as a mask.
void mask (const RefPtr< const Surface >& surface, double surface_x, double surface_y)
 A drawing operator that paints the current source using the alpha channel of surface as a mask.
void stroke ()
 A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings.
void stroke_preserve ()
 A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings.
void fill ()
 A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled).
void fill_preserve ()
 A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled).
void copy_page ()
void show_page ()
bool in_stroke (double x, double y) const
bool in_fill (double x, double y) const
bool in_clip (double x, double y) const
void get_stroke_extents (double& x1, double& y1, double& x2, double& y2) const
void get_fill_extents (double& x1, double& y1, double& x2, double& y2) const
void reset_clip ()
 Reset the current clip region to its original, unrestricted state.
void clip ()
 Establishes a new clip region by intersecting the current clip region with the current Path as it would be filled by fill() and according to the current fill rule.
void clip_preserve ()
 Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by fill() and according to the current fill rule.
void get_clip_extents (double& x1, double& y1, double& x2, double& y2) const
 Computes a bounding box in user coordinates covering the area inside the current clip.
void copy_clip_rectangle_list (std::vector< Rectangle >& rectangles) const
 Returns the current clip region as a list of rectangles in user coordinates.
void select_font_face (const std::string& family, FontSlant slant, FontWeight weight)
void set_font_size (double size)
void set_font_matrix (const Matrix& matrix)
void get_font_matrix (Matrix& matrix) const
void set_font_options (const FontOptions& options)
void set_font_matrix (const cairo_matrix_t& matrix)
void get_font_matrix (cairo_matrix_t& matrix) const
void get_font_options (FontOptions& options) const
void set_scaled_font (const RefPtr< const ScaledFont >& scaled_font)
RefPtr< ScaledFontget_scaled_font ()
void show_text (const std::string& utf8)
void show_glyphs (const std::vector< Glyph >& glyphs)
void show_text_glyphs (const std::string& utf8, const std::vector< Glyph >& glyphs, const std::vector< TextCluster >& clusters, TextClusterFlags cluster_flags)
RefPtr< FontFaceget_font_face ()
RefPtr< const FontFaceget_font_face () const
void get_font_extents (FontExtents& extents) const
void set_font_face (const RefPtr< const FontFace >& font_face)
void get_text_extents (const std::string& utf8, TextExtents& extents) const
void get_glyph_extents (const std::vector< Glyph >& glyphs, TextExtents& extents) const
void text_path (const std::string& utf8)
void glyph_path (const std::vector< Glyph >& glyphs)
Operator get_operator () const
 Gets the current compositing operator for a cairo Context.
RefPtr< Patternget_source ()
 Gets the current source pattern for the Context.
RefPtr< const Patternget_source () const
double get_tolerance () const
 Gets the current tolerance value, as set by set_tolerance()
Antialias get_antialias () const
 Gets the current shape antialiasing mode, as set by set_antialias()
void get_current_point (double& x, double& y) const
 Gets the current point of the current path, which is conceptually the final point reached by the path so far.
bool has_current_point () const
 Checks if there is a current point defined.
FillRule get_fill_rule () const
 Gets the current fill rule, as set by set_fill_rule().
double get_line_width () const
 Gets the current line width, as set by set_line_width()
LineCap get_line_cap () const
 Gets the current line cap style, as set by set_line_cap()
LineJoin get_line_join () const
 Gets the current line join style, as set by set_line_join()
double get_miter_limit () const
 Gets the current miter limit, as set by set_miter_limit()
void get_dash (std::vector< double >& dashes, double& offset) const
 Gets the current dash array and offset.
void get_matrix (Matrix& matrix)
 Stores the current transformation matrix (CTM) into matrix.
void get_matrix (cairo_matrix_t& matrix)
Matrix get_matrix () const
RefPtr< Surfaceget_target ()
 Gets the target surface associated with this Context.
RefPtr< const Surfaceget_target () const
 Gets the target surface associated with this Context.
Pathcopy_path () const
 Creates a copy of the current path and returns it to the user.
void get_path_extents (double& x1, double& y1, double& x2, double& y2) const
 Computes a bounding box in user-space coordinates covering the points on the current path.
Pathcopy_path_flat () const
 Gets a flattened copy of the current path and returns it to the user.
void append_path (const Path& path)
 Append the path onto the current path.
void push_group ()
 Temporarily redirects drawing to an intermediate surface known as a group.
void push_group_with_content (Content content)
 Temporarily redirects drawing to an intermediate surface known as a group.
RefPtr< Patternpop_group ()
 Terminates the redirection begun by a call to push_group() or push_group_with_content() and returns a new pattern containing the results of all drawing operations performed to the group.
void pop_group_to_source ()
 Terminates the redirection begun by a call to push_group() or push_group_with_content() and installs the resulting pattern as the source pattern in the given cairo Context.
RefPtr< Surfaceget_group_target ()
 Gets the target surface for the current group as started by the most recent call to push_group() or push_group_with_content().
RefPtr< const Surfaceget_group_target () const
 Same as the non-const version but returns a reference to a const Surface.
cobjectcobj ()
 Gets a pointer to the base C type that is wrapped by the Context.
const cobjectcobj () const
 Gets a pointer to the base C type that is wrapped by the Context.

Static Public Member Functions

static RefPtr< Contextcreate (const RefPtr< Surface >& target)

Protected Member Functions

 Context (const RefPtr< Surface >& target)

Protected Attributes

cobjectm_cobject

Detailed Description

Context is the main class used to draw in cairomm.

In the simplest case, create a Context with its target Surface, set its drawing options (line width, color, etc), create shapes with methods like move_to() and line_to(), and then draw the shapes to the Surface using methods such as stroke() or fill().

Context is a reference-counted object that should be used via Cairo::RefPtr.


Member Typedef Documentation

typedef cairo_t Cairo::Context::cobject

The base cairo C type that is wrapped by Cairo::Context.


Constructor & Destructor Documentation

Cairo::Context::Context ( const RefPtr< Surface >&  target) [explicit, protected]
Cairo::Context::Context ( cairo_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Context::~Context ( ) [virtual]

Member Function Documentation

void Cairo::Context::append_path ( const Path path)

Append the path onto the current path.

The path may be either the return value from one of copy_path() or copy_path_flat() or it may be constructed manually.

Parameters:
pathpath to be appended
void Cairo::Context::arc ( double  xc,
double  yc,
double  radius,
double  angle1,
double  angle2 
)

Adds a circular arc of the given radius to the current path.

The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1.

If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc. If this initial line is undesired, it can be avoided by calling begin_new_sub_path() before calling arc().

Angles are measured in radians. An angle of 0 is in the direction of the positive X axis (in user-space). An angle of M_PI/2.0 radians (90 degrees) is in the direction of the positive Y axis (in user-space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction.

( To convert from degrees to radians, use degrees * (M_PI / 180.0). )

This function gives the arc in the direction of increasing angles; see arc_negative() to get the arc in the direction of decreasing angles.

The arc is circular in user-space. To achieve an elliptical arc, you can scale the current transformation matrix by different amounts in the X and Y directions. For example, to draw an ellipse in the box given by x, y, width, height:

 context->save();
 context->translate(x, y);
 context->scale(width / 2.0, height / 2.0);
 context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);
 context->restore();
Parameters:
xcX position of the center of the arc
ycY position of the center of the arc
radiusthe radius of the arc
angle1the start angle, in radians
angle2the end angle, in radians
void Cairo::Context::arc_negative ( double  xc,
double  yc,
double  radius,
double  angle1,
double  angle2 
)

Adds a circular arc of the given radius to the current path.

The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is greater than angle1.

See arc() for more details. This function differs only in the direction of the arc between the two angles.

Parameters:
xcX position of the center of the arc
ycY position of the center of the arc
radiusthe radius of the arc
angle1the start angle, in radians
angle2the end angle, in radians
void Cairo::Context::begin_new_path ( )

Clears the current path.

After this call there will be no current point.

void Cairo::Context::begin_new_sub_path ( )

Begin a new subpath.

Note that the existing path is not affected. After this call there will be no current point.

In many cases, this call is not needed since new subpaths are frequently started with move_to().

A call to begin_new_sub_path() is particularly useful when beginning a new subpath with one of the arc() calls. This makes things easier as it is no longer necessary to manually compute the arc's initial coordinates for a call to move_to().

void Cairo::Context::clip ( )

Establishes a new clip region by intersecting the current clip region with the current Path as it would be filled by fill() and according to the current fill rule.

After clip(), the current path will be cleared from the cairo Context.

The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling clip() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling cairo_clip() within a save()/restore() pair. The only other means of increasing the size of the clip region is reset_clip().

See also:
set_fill_rule()
void Cairo::Context::clip_preserve ( )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by fill() and according to the current fill rule.

Unlike clip(), cairo_clip_preserve preserves the path within the cairo Context.

See also:
clip()
set_fill_rule()
void Cairo::Context::close_path ( )

Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to move_to()), and closes this subpath.

The behavior of close_path() is distinct from simply calling line_to() with the equivalent coordinate in the case of stroking. When a closed subpath is stroked, there are no caps on the ends of the subpath. Instead, there is a line join connecting the final and initial segments of the subpath.

cobject* Cairo::Context::cobj ( ) [inline]

Gets a pointer to the base C type that is wrapped by the Context.

const cobject* Cairo::Context::cobj ( ) const [inline]

Gets a pointer to the base C type that is wrapped by the Context.

void Cairo::Context::copy_clip_rectangle_list ( std::vector< Rectangle >&  rectangles) const

Returns the current clip region as a list of rectangles in user coordinates.

This function will throw an exception if the clip region cannot be represented as a list of user-space rectangles.

1.4

void Cairo::Context::copy_page ( )
Path* Cairo::Context::copy_path ( ) const

Creates a copy of the current path and returns it to the user.

Note:
The caller owns the Path object returned from this function. The Path object must be freed when you are finished with it.
Path* Cairo::Context::copy_path_flat ( ) const

Gets a flattened copy of the current path and returns it to the user.

This function is like copy_path() except that any curves in the path will be approximated with piecewise-linear approximations, (accurate to within the current tolerance value). That is, the result is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO which will instead be replaced by a series of CAIRO_PATH_LINE_TO elements.

Note:
The caller owns the Path object returned from this function. The Path object must be freed when you are finished with it.
static RefPtr<Context> Cairo::Context::create ( const RefPtr< Surface >&  target) [static]
void Cairo::Context::curve_to ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3 
)

Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points.

After this call the current point will be (x3, y3).

Parameters:
x1the X coordinate of the first control point
y1the Y coordinate of the first control point
x2the X coordinate of the second control point
y2the Y coordinate of the second control point
x3the X coordinate of the end of the curve
y3the Y coordinate of the end of the curve
void Cairo::Context::device_to_user ( double &  x,
double &  y 
)

Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).

Parameters:
xX value of coordinate (in/out parameter)
yY value of coordinate (in/out parameter)
Deprecated:
Use the const version.
void Cairo::Context::device_to_user ( double &  x,
double &  y 
) const

Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).

Parameters:
xX value of coordinate (in/out parameter)
yY value of coordinate (in/out parameter)
void Cairo::Context::device_to_user_distance ( double &  dx,
double &  dy 
) const

Transform a distance vector from device space to user space.

This function is similar to device_to_user() except that the translation components of the inverse CTM will be ignored when transforming (dx,dy).

Parameters:
dxX component of a distance vector (in/out parameter)
dyY component of a distance vector (in/out parameter)
void Cairo::Context::device_to_user_distance ( double &  dx,
double &  dy 
)

Transform a distance vector from device space to user space.

This function is similar to device_to_user() except that the translation components of the inverse CTM will be ignored when transforming (dx,dy).

Parameters:
dxX component of a distance vector (in/out parameter)
dyY component of a distance vector (in/out parameter)
Deprecated:
Use the const version.
void Cairo::Context::fill ( )

A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled).

After fill(), the current path will be cleared from the cairo context.

See also:
set_fill_rule()
fill_preserve()
void Cairo::Context::fill_preserve ( )

A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled).

Unlike fill(), fill_preserve() preserves the path within the cairo Context.

See also:
set_fill_rule()
fill().
Antialias Cairo::Context::get_antialias ( ) const

Gets the current shape antialiasing mode, as set by set_antialias()

void Cairo::Context::get_clip_extents ( double &  x1,
double &  y1,
double &  x2,
double &  y2 
) const

Computes a bounding box in user coordinates covering the area inside the current clip.

Parameters:
x1left of the resulting extents
y1top of the resulting extents
x2right of the resulting extents
y2bottom of the resulting extents
Since:
1.4
void Cairo::Context::get_current_point ( double &  x,
double &  y 
) const

Gets the current point of the current path, which is conceptually the final point reached by the path so far.

The current point is returned in the user-space coordinate system. If there is no defined current point then x and y will both be set to 0.0.

Most path construction functions alter the current point. See the following for details on how they affect the current point: clear_path(), move_to(), line_to(), curve_to(), arc(), rel_move_to(), rel_line_to(), rel_curve_to(), arc(), and text_path()

Parameters:
xreturn value for X coordinate of the current point
yreturn value for Y coordinate of the current point
See also:
has_current_point
void Cairo::Context::get_dash ( std::vector< double > &  dashes,
double &  offset 
) const

Gets the current dash array and offset.

Parameters:
dashesreturn value for the dash array.
offsetreturn value for the current dash offset.

Since: 1.4

void Cairo::Context::get_fill_extents ( double &  x1,
double &  y1,
double &  x2,
double &  y2 
) const
FillRule Cairo::Context::get_fill_rule ( ) const

Gets the current fill rule, as set by set_fill_rule().

void Cairo::Context::get_font_extents ( FontExtents extents) const
RefPtr<FontFace> Cairo::Context::get_font_face ( )
RefPtr<const FontFace> Cairo::Context::get_font_face ( ) const
void Cairo::Context::get_font_matrix ( Matrix matrix) const
void Cairo::Context::get_font_matrix ( cairo_matrix_t matrix) const
void Cairo::Context::get_font_options ( FontOptions options) const
Since:
1.8
void Cairo::Context::get_glyph_extents ( const std::vector< Glyph >&  glyphs,
TextExtents extents 
) const
RefPtr<Surface> Cairo::Context::get_group_target ( )

Gets the target surface for the current group as started by the most recent call to push_group() or push_group_with_content().

This function will return NULL if called "outside" of any group rendering blocks, (that is, after the last balancing call to pop_group() or pop_group_to_source()).

Exceptions:
RefPtr<const Surface> Cairo::Context::get_group_target ( ) const

Same as the non-const version but returns a reference to a const Surface.

LineCap Cairo::Context::get_line_cap ( ) const

Gets the current line cap style, as set by set_line_cap()

LineJoin Cairo::Context::get_line_join ( ) const

Gets the current line join style, as set by set_line_join()

double Cairo::Context::get_line_width ( ) const

Gets the current line width, as set by set_line_width()

void Cairo::Context::get_matrix ( cairo_matrix_t matrix)
Matrix Cairo::Context::get_matrix ( ) const
Since:
1.8
void Cairo::Context::get_matrix ( Matrix matrix)

Stores the current transformation matrix (CTM) into matrix.

Parameters:
matrixreturn value for the matrix
double Cairo::Context::get_miter_limit ( ) const

Gets the current miter limit, as set by set_miter_limit()

Operator Cairo::Context::get_operator ( ) const

Gets the current compositing operator for a cairo Context.

void Cairo::Context::get_path_extents ( double &  x1,
double &  y1,
double &  x2,
double &  y2 
) const

Computes a bounding box in user-space coordinates covering the points on the current path.

If the current path is empty, returns an empty rectangle ((0,0), (0,0)). Stroke parameters, fill rule, surface dimensions and clipping are not taken into account.

Contrast with fill_extents() and stroke_extents() which return the extents of only the area that would be "inked" by the corresponding drawing operations.

The result of path_extents() is defined as equivalent to the limit of stroke_extents() with Cairo::LINE_CAP_ROUND as the line width approaches 0.0, (but never reaching the empty-rectangle returned by stroke_extents() for a line width of 0.0).

Specifically, this means that zero-area sub-paths such as move_to();line_to() segments, (even degenerate cases where the coordinates to both calls are identical), will be considered as contributing to the extents. However, a lone move_to() will not contribute to the results of path_extents().

Parameters:
x1left of the resulting extents
y1top of the resulting extents
x2right of the resulting extents
y2bottom of the resulting extents
Since:
1.6
RefPtr<ScaledFont> Cairo::Context::get_scaled_font ( )
Since:
1.8
RefPtr<const Pattern> Cairo::Context::get_source ( ) const
RefPtr<Pattern> Cairo::Context::get_source ( )

Gets the current source pattern for the Context.

void Cairo::Context::get_stroke_extents ( double &  x1,
double &  y1,
double &  x2,
double &  y2 
) const
RefPtr<Surface> Cairo::Context::get_target ( )

Gets the target surface associated with this Context.

Exceptions:
RefPtr<const Surface> Cairo::Context::get_target ( ) const

Gets the target surface associated with this Context.

Exceptions:
void Cairo::Context::get_text_extents ( const std::string utf8,
TextExtents extents 
) const
double Cairo::Context::get_tolerance ( ) const

Gets the current tolerance value, as set by set_tolerance()

void Cairo::Context::glyph_path ( const std::vector< Glyph >&  glyphs)
bool Cairo::Context::has_current_point ( ) const

Checks if there is a current point defined.

bool Cairo::Context::in_clip ( double  x,
double  y 
) const
bool Cairo::Context::in_fill ( double  x,
double  y 
) const
bool Cairo::Context::in_stroke ( double  x,
double  y 
) const
void Cairo::Context::line_to ( double  x,
double  y 
)

Adds a line to the path from the current point to position (x, y) in user-space coordinates.

After this call the current point will be (x, y).

Parameters:
xthe X coordinate of the end of the new line
ythe Y coordinate of the end of the new line
void Cairo::Context::mask ( const RefPtr< const Pattern >&  pattern)

A drawing operator that paints the current source using the alpha channel of pattern as a mask.

(Opaque areas of mask are painted with the source, transparent areas are not painted.)

Parameters:
patterna Pattern
void Cairo::Context::mask ( const RefPtr< const Surface >&  surface,
double  surface_x,
double  surface_y 
)

A drawing operator that paints the current source using the alpha channel of surface as a mask.

(Opaque areas of surface are painted with the source, transparent areas are not painted.)

Parameters:
surfacea Surface
surface_xX coordinate at which to place the origin of surface
surface_yY coordinate at which to place the origin of surface
void Cairo::Context::move_to ( double  x,
double  y 
)

If the current subpath is not empty, begin a new subpath.

After this call the current point will be (x, y).

Parameters:
xthe X coordinate of the new position
ythe Y coordinate of the new position
void Cairo::Context::paint ( )

A drawing operator that paints the current source everywhere within the current clip region.

void Cairo::Context::paint_with_alpha ( double  alpha)

A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha.

The effect is similar to paint(), but the drawing is faded out using the alpha value.

Parameters:
alphaan alpha value, between 0 (transparent) and 1 (opaque)
RefPtr<Pattern> Cairo::Context::pop_group ( )

Terminates the redirection begun by a call to push_group() or push_group_with_content() and returns a new pattern containing the results of all drawing operations performed to the group.

The pop_group() function calls restore(), (balancing a call to save() by the push_group function), so that any changes to the graphics state will not be visible outside the group.

Returns:
a (surface) pattern containing the results of all drawing operations performed to the group.
void Cairo::Context::pop_group_to_source ( )

Terminates the redirection begun by a call to push_group() or push_group_with_content() and installs the resulting pattern as the source pattern in the given cairo Context.

The behavior of this function is equivalent to the sequence of operations:

 RefPtr<Pattern> group = cr->pop_group();
 cr->set_source(group);

but is more convenient as their is no need for a variable to store the short-lived pointer to the pattern.

The pop_group() function calls restore(), (balancing a call to save() by the push_group function), so that any changes to the graphics state will not be visible outside the group.

void Cairo::Context::push_group ( )

Temporarily redirects drawing to an intermediate surface known as a group.

The redirection lasts until the group is completed by a call to pop_group() or pop_group_to_source(). These calls provide the result of any drawing to the group as a pattern, (either as an explicit object, or set as the source pattern).

This group functionality can be convenient for performing intermediate compositing. One common use of a group is to render objects as opaque within the group, (so that they occlude each other), and then blend the result with translucence onto the destination.

Groups can be nested arbitrarily deep by making balanced calls to push_group()/pop_group(). Each call pushes/pops the new target group onto/from a stack.

The push_group() function calls save() so that any changes to the graphics state will not be visible outside the group, (the pop_group functions call restore()).

By default the intermediate group will have a content type of CONTENT_COLOR_ALPHA. Other content types can be chosen for the group by using push_group_with_content() instead.

As an example, here is how one might fill and stroke a path with translucence, but without any portion of the fill being visible under the stroke:

 cr->push_group();
 cr->set_source(fill_pattern);
 cr->fill_preserve();
 cr->set_source(stroke_pattern);
 cr->stroke();
 cr->pop_group_to_source();
 cr->paint_with_alpha(alpha);
void Cairo::Context::push_group_with_content ( Content  content)

Temporarily redirects drawing to an intermediate surface known as a group.

The redirection lasts until the group is completed by a call to pop_group() or pop_group_to_source(). These calls provide the result of any drawing to the group as a pattern, (either as an explicit object, or set as the source pattern).

The group will have a content type of . The ability to control this content type is the only distinction between this function and push_group() which you should see for a more detailed description of group rendering.

Parameters:
contentindicates the type of group that will be created
void Cairo::Context::rectangle ( double  x,
double  y,
double  width,
double  height 
)

Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates.

This function is logically equivalent to:

 context->move_to(x, y);
 context->rel_line_to(width, 0);
 context->rel_line_to(0, height);
 context->rel_line_to(-width, 0);
 context->close_path();
Parameters:
xthe X coordinate of the top left corner of the rectangle
ythe Y coordinate to the top left corner of the rectangle
widththe width of the rectangle
heightthe height of the rectangle
void Cairo::Context::rel_curve_to ( double  dx1,
double  dy1,
double  dx2,
double  dy2,
double  dx3,
double  dy3 
)

Relative-coordinate version of curve_to().

All offsets are relative to the current point. Adds a cubic Bezier spline to the path from the current point to a point offset from the current point by (dx3, dy3), using points offset by (dx1, dy1) and (dx2, dy2) as the control points. After this call the current point will be offset by (dx3, dy3).

Given a current point of (x, y),

 rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3)

is logically equivalent to

 curve_to(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3).
Parameters:
dx1the X offset to the first control point
dy1the Y offset to the first control point
dx2the X offset to the second control point
dy2the Y offset to the second control point
dx3the X offset to the end of the curve
dy3the Y offset to the end of the curve

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

void Cairo::Context::rel_line_to ( double  dx,
double  dy 
)

Relative-coordinate version of line_to().

Adds a line to the path from the current point to a point that is offset from the current point by (dx, dy) in user space. After this call the current point will be offset by (dx, dy).

Given a current point of (x, y),

 rel_line_to(dx, dy)

is logically equivalent to

 line_to(x + dx, y + dy).
Parameters:
dxthe X offset to the end of the new line
dythe Y offset to the end of the new line

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

void Cairo::Context::rel_move_to ( double  dx,
double  dy 
)

If the current subpath is not empty, begin a new subpath.

After this call the current point will offset by (x, y).

Given a current point of (x, y),

 rel_move_to(dx, dy)

is logically equivalent to

 move_to(x + dx, y + dy)
Parameters:
dxthe X offset
dythe Y offset

It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception.

void Cairo::Context::reset_clip ( )

Reset the current clip region to its original, unrestricted state.

That is, set the clip region to an infinitely large shape containing the target surface. Equivalently, if infinity is too hard to grasp, one can imagine the clip region being reset to the exact bounds of the target surface.

Note that code meant to be reusable should not call reset_clip() as it will cause results unexpected by higher-level code which calls clip(). Consider using save() and restore() around clip() as a more robust means of temporarily restricting the clip region.

void Cairo::Context::restore ( )

Restores cr to the state saved by a preceding call to save() and removes that state from the stack of saved states.

See also:
save()
void Cairo::Context::rotate ( double  angle_radians)

Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians.

The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.

Parameters:
angleangle (in radians) by which the user-space axes will be rotated
void Cairo::Context::rotate_degrees ( double  angle_degres)

A convenience wrapper around rotate() that accepts angles in degrees.

Parameters:
angle_degreesangle (in degrees) by which the user-space axes should be rotated
void Cairo::Context::save ( )

Makes a copy of the current state of the Context and saves it on an internal stack of saved states.

When restore() is called, it will be restored to the saved state. Multiple calls to save() and restore() can be nested; each call to restore() restores the state from the matching paired save().

It isn't necessary to clear all saved states before a cairo_t is freed. Any saved states will be freed when the Context is destroyed.

See also:
restore()
void Cairo::Context::scale ( double  sx,
double  sy 
)

Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively.

The scaling of the axes takes place after any existing transformation of user space.

Parameters:
sxscale factor for the X dimension
syscale factor for the Y dimension
void Cairo::Context::select_font_face ( const std::string family,
FontSlant  slant,
FontWeight  weight 
)
void Cairo::Context::set_antialias ( Antialias  antialias)

Set the antialiasing mode of the rasterizer used for drawing shapes.

This value is a hint, and a particular backend may or may not support a particular value. At the current time, no backend supports CAIRO_ANTIALIAS_SUBPIXEL when drawing shapes.

Note that this option does not affect text rendering, instead see FontOptions::set_antialias().

Parameters:
antialiasthe new antialiasing mode
void Cairo::Context::set_dash ( const std::valarray< double > &  dashes,
double  offset 
)

Alternate version of set_dash().

You'll probably want to use the one that takes a std::vector argument instead.

void Cairo::Context::set_dash ( const std::vector< double > &  dashes,
double  offset 
)

Sets the dash pattern to be used by stroke().

A dash pattern is specified by dashes, an array of positive values. Each value provides the user-space length of altenate "on" and "off" portions of the stroke. The offset specifies an offset into the pattern at which the stroke begins.

If dashes is empty dashing is disabled. If the size of dashes is 1, a symmetric pattern is assumed with alternating on and off portions of the size specified by the single value in dashes.

It is invalid for any value in dashes to be negative, or for all values to be 0. If this is the case, an exception will be thrown

Parameters:
dashesan array specifying alternate lengths of on and off portions
offsetan offset into the dash pattern at which the stroke should start
Exceptions:
void Cairo::Context::set_dash ( std::valarray< double > &  dashes,
double  offset 
)

Alternate version of set_dash().

You'll probably want to use the one that takes a std::vector argument instead.

Deprecated:
Instead use the version that takes a const dashes parameter.
void Cairo::Context::set_dash ( std::vector< double > &  dashes,
double  offset 
)

Sets the dash pattern to be used by stroke().

A dash pattern is specified by dashes, an array of positive values. Each value provides the user-space length of altenate "on" and "off" portions of the stroke. The offset specifies an offset into the pattern at which the stroke begins.

If dashes is empty dashing is disabled. If the size of dashes is 1, a symmetric pattern is assumed with alternating on and off portions of the size specified by the single value in dashes.

It is invalid for any value in dashes to be negative, or for all values to be 0. If this is the case, an exception will be thrown

Parameters:
dashesan array specifying alternate lengths of on and off portions
offsetan offset into the dash pattern at which the stroke should start
Exceptions:
\xrefitemdeprecated 2.
void Cairo::Context::set_fill_rule ( FillRule  fill_rule)

Set the current fill rule within the cairo Context.

The fill rule is used to determine which regions are inside or outside a complex (potentially self-intersecting) path. The current fill rule affects both fill() and clip(). See FillRule for details on the semantics of each available fill rule.

Parameters:
fill_rulea fill rule, specified as a FillRule
void Cairo::Context::set_font_face ( const RefPtr< const FontFace >&  font_face)
void Cairo::Context::set_font_matrix ( const Matrix matrix)
void Cairo::Context::set_font_matrix ( const cairo_matrix_t matrix)
void Cairo::Context::set_font_options ( const FontOptions options)
void Cairo::Context::set_font_size ( double  size)
void Cairo::Context::set_identity_matrix ( )

Resets the current transformation matrix (CTM) by setting it equal to the identity matrix.

That is, the user-space and device-space axes will be aligned and one user-space unit will transform to one device-space unit.

void Cairo::Context::set_line_cap ( LineCap  line_cap)

Sets the current line cap style within the cairo Context.

See LineCap for details about how the available line cap styles are drawn.

As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

Parameters:
line_capa line cap style, as a LineCap
void Cairo::Context::set_line_join ( LineJoin  line_join)

Sets the current line join style within the cairo Context.

See LineJoin for details about how the available line join styles are drawn.

As with the other stroke parameters, the current line join style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

Parameters:
line_joina line joint style, as a LineJoin
void Cairo::Context::set_line_width ( double  width)

Sets the current line width within the cairo Context.

The line width specifies the diameter of a pen that is circular in user-space.

As with the other stroke parameters, the current line cap style is examined by stroke(), stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.

Parameters:
widtha line width, as a user-space value
void Cairo::Context::set_matrix ( const cairo_matrix_t matrix)
void Cairo::Context::set_matrix ( const Matrix matrix)

Modifies the current transformation matrix (CTM) by setting it equal to matrix.

Parameters:
matrixa transformation matrix from user space to device space
void Cairo::Context::set_miter_limit ( double  limit)
void Cairo::Context::set_operator ( Operator  op)

Sets the compositing operator to be used for all drawing operations.

See Operator for details on the semantics of each available compositing operator.

Parameters:
opa compositing operator, specified as a Operator
void Cairo::Context::set_scaled_font ( const RefPtr< const ScaledFont >&  scaled_font)
Since:
1.8
void Cairo::Context::set_source ( const RefPtr< const Pattern >&  source)

Sets the source pattern within the Context to source.

This Pattern will then be used for any subsequent drawing operation until a new source pattern is set.

Note: The Pattern's transformation matrix will be locked to the user space in effect at the time of set_source(). This means that further modifications of the current transformation matrix will not affect the source pattern.

Parameters:
sourcea Pattern to be used as the source for subsequent drawing operations.
See also:
Pattern::set_matrix()
set_source_rgb()
set_source_rgba()
set_source(const RefPtr<Surface>& surface, double x, double y)
void Cairo::Context::set_source ( const RefPtr< Surface >&  surface,
double  x,
double  y 
)

This is a convenience function for creating a pattern from a Surface and setting it as the source.

The x and y parameters give the user-space coordinate at which the Surface origin should appear. (The Surface origin is its upper-left corner before any transformation has been applied.) The x and y patterns are negated and then set as translation values in the pattern matrix.

Other than the initial translation pattern matrix, as described above, all other pattern attributes, (such as its extend mode), are set to the default values as in Context::create(const RefPtr<Surface>& target). The resulting pattern can be queried with get_source() so that these attributes can be modified if desired, (eg. to create a repeating pattern with Pattern::set_extend()).

Parameters:
surfacea Surface to be used to set the source pattern
xUser-space X coordinate for surface origin
yUser-space Y coordinate for surface origin
void Cairo::Context::set_source_rgb ( double  red,
double  green,
double  blue 
)

Sets the source pattern within the Context to an opaque color.

This opaque color will then be used for any subsequent drawing operation until a new source pattern is set.

The color components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.

Parameters:
redred component of color
greengreen component of color
blueblue component of color
See also:
set_source_rgba()
set_source()
void Cairo::Context::set_source_rgba ( double  red,
double  green,
double  blue,
double  alpha 
)

Sets the source pattern within the Context to a translucent color.

This color will then be used for any subsequent drawing operation until a new source pattern is set.

The color and alpha components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.

Parameters:
redred component of color
greengreen component of color
blueblue component of color
alphaalpha component of color
See also:
set_source_rgb()
set_source()
void Cairo::Context::set_tolerance ( double  tolerance)

Sets the tolerance used when converting paths into trapezoids.

Curved segments of the path will be subdivided until the maximum deviation between the original path and the polygonal approximation is less than tolerance. The default value is 0.1. A larger value will give better performance, a smaller value, better appearance. (Reducing the value from the default value of 0.1 is unlikely to improve appearance significantly.)

Parameters:
tolerancethe tolerance, in device units (typically pixels)
void Cairo::Context::show_glyphs ( const std::vector< Glyph >&  glyphs)
void Cairo::Context::show_page ( )
void Cairo::Context::show_text ( const std::string utf8)
void Cairo::Context::show_text_glyphs ( const std::string utf8,
const std::vector< Glyph >&  glyphs,
const std::vector< TextCluster >&  clusters,
TextClusterFlags  cluster_flags 
)
Since:
1.8
void Cairo::Context::stroke ( )

A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings.

After stroke(), the current Path will be cleared from the cairo Context.

See also:
set_line_width()
set_line_join()
set_line_cap()
set_dash()
stroke_preserve().
void Cairo::Context::stroke_preserve ( )

A drawing operator that strokes the current Path according to the current line width, line join, line cap, and dash settings.

Unlike stroke(), stroke_preserve() preserves the Path within the cairo Context.

See also:
set_line_width()
set_line_join()
set_line_cap()
set_dash()
stroke_preserve().
void Cairo::Context::text_path ( const std::string utf8)
void Cairo::Context::transform ( const cairo_matrix_t matrix)
void Cairo::Context::transform ( const Matrix matrix)

Modifies the current transformation matrix (CTM) by applying matrix as an additional transformation.

The new transformation of user space takes place after any existing transformation.

Parameters:
matrixa transformation to be applied to the user-space axes
void Cairo::Context::translate ( double  tx,
double  ty 
)

Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty).

This offset is interpreted as a user-space coordinate according to the CTM in place before the new call to cairo_translate. In other words, the translation of the user-space origin takes place after any existing transformation.

Parameters:
txamount to translate in the X direction
tyamount to translate in the Y direction
void Cairo::Context::unset_dash ( )

This function disables a dash pattern that was set with set_dash()

void Cairo::Context::user_to_device ( double &  x,
double &  y 
) const

Transform a coordinate from user space to device space by multiplying the given point by the current transformation matrix (CTM).

Parameters:
xX value of coordinate (in/out parameter)
yY value of coordinate (in/out parameter)
void Cairo::Context::user_to_device ( double &  x,
double &  y 
)

Transform a coordinate from user space to device space by multiplying the given point by the current transformation matrix (CTM).

Parameters:
xX value of coordinate (in/out parameter)
yY value of coordinate (in/out parameter)
Deprecated:
Use the const version.
void Cairo::Context::user_to_device_distance ( double &  dx,
double &  dy 
)

Transform a distance vector from user space to device space.

This function is similar to user_to_device() except that the translation components of the CTM will be ignored when transforming (dx,dy).

Parameters:
dxX component of a distance vector (in/out parameter)
dyY component of a distance vector (in/out parameter)
Deprecated:
Use the const version.
void Cairo::Context::user_to_device_distance ( double &  dx,
double &  dy 
) const

Transform a distance vector from user space to device space.

This function is similar to user_to_device() except that the translation components of the CTM will be ignored when transforming (dx,dy).

Parameters:
dxX component of a distance vector (in/out parameter)
dyY component of a distance vector (in/out parameter)

Member Data Documentation


The documentation for this class was generated from the following file:
  • cairomm/context.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/classCairo_1_1Gradient.html0000644000175000017500000000005011561716354025164 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/classCairo_1_1Gradient.html0000644000175000017500000003262011561716354025403 0ustar00murraycmurrayc00000000000000 cairomm: Cairo::Gradient Class Reference

Cairo::Gradient Class Reference

Inheritance diagram for Cairo::Gradient:

List of all members.

Public Member Functions

 Gradient (cairo_pattern_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~Gradient ()
void add_color_stop_rgb (double offset, double red, double green, double blue)
 Adds an opaque color stop to a gradient pattern.
void add_color_stop_rgba (double offset, double red, double green, double blue, double alpha)
 Adds a translucent color stop to a gradient pattern.
std::vector< ColorStopget_color_stops () const

Protected Member Functions

 Gradient ()

Constructor & Destructor Documentation

Cairo::Gradient::Gradient ( cairo_pattern_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Gradient::~Gradient ( ) [virtual]
Cairo::Gradient::Gradient ( ) [protected]

Member Function Documentation

void Cairo::Gradient::add_color_stop_rgb ( double  offset,
double  red,
double  green,
double  blue 
)

Adds an opaque color stop to a gradient pattern.

The offset specifies the location along the gradient's control vector. For example, a linear gradient's control vector is from (x0,y0) to (x1,y1) while a radial gradient's control vector is from any point on the start circle to the corresponding point on the end circle.

The color is specified in the same way as in Context::set_source_rgb().

Parameters:
offsetan offset in the range [0.0 .. 1.0]
redred component of color
greengreen component of color
blueblue component of color
void Cairo::Gradient::add_color_stop_rgba ( double  offset,
double  red,
double  green,
double  blue,
double  alpha 
)

Adds a translucent color stop to a gradient pattern.

The offset specifies the location along the gradient's control vector. For example, a linear gradient's control vector is from (x0,y0) to (x1,y1) while a radial gradient's control vector is from any point on the start circle to the corresponding point on the end circle.

The color is specified in the same way as in Context::set_source_rgba().

Parameters:
offsetan offset in the range [0.0 .. 1.0]
redred component of color
greengreen component of color
blueblue component of color
alphaalpha component of color
std::vector<ColorStop> Cairo::Gradient::get_color_stops ( ) const

The documentation for this class was generated from the following file:
  • cairomm/pattern.h
cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/inherit_graph_2.png0000644000175000017500000000005011561716353023646 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/inherit_graph_2.png0000644000175000017500000000310711561716353024063 0ustar00murraycmurrayc00000000000000‰PNG  IHDRp(©_é†bKGDÿÿÿ ½§“üIDAThíšoHS_ÇÏÔ¥NË?¥‰[ÛœàÍM E37bJƒZT 0_X®èMVh`ÿðEøÆW‰ ½0ûãÂÜ0 ÊÒ°ØLŠa› +7-q)+“©«ÍùôâÄemkê~çWøûÝÏ«sŸûœç|ï—s÷žˆ…[À ÖP°†&Êﺿ¿Ÿ¦é¿"e="‘HT*Õ/!øFó—´­K4Ÿþ3'ݽ{÷Ï‹[wTTTÙ=”0¬¡„a % k(aXC ÃJ˜ ¯M«Äãñèt:“É”ššZVV–••õ»ÌÙÙÙ7n\¸p!ì±Bmmm‡!Äáp$‰R©LOO_S"2V$Ìj·ÛwîÜÙÜÜÌãñFFFvíÚUSSó»ä¹¹¹öööpþ¤¥¥e```rrÒf³=pà@rr²B¡¸}û6BhzzúàÁƒ¸ãÞ½{u:]zzúèè(MÓuuuàÔ©S£££¸TSS“V« lû___ÿíÛ·ÎÎN„ÍfS©T‰‰‰J¥òÁƒ¡êêêëׯãd§ÓYPP0>>ÎÈ@½xñ¢  `Ë–-Z­öíÛ·8X' Â1ôÕ«W!¿CÊÊJ¹\§OŸ>tè6«¶¶vqqÑår „Ün·ÑhlmmmnnÎÌÌ,--ŽŽ6@.—{<„EQ………¸¦oÛØØX…B166†‡.,,´Z­ÇŽ;räÈÈÈHnnîÍ›7qæ½{÷¼^¯X,fd,//—•••——[,–Í›7_¼x‘y¿:a˜Î’ïììLKK zËív›L&Üãr¹6›íýû÷qqqðñãG„Г'OÀl6óù|¦ãŽ;úúúB ê»ä1Ç×jµ>| …^¯ËËËgff¸\îÄĨÕê+W®#cpp0;;ç/,,\¾|Ùãñ­ÚbK~ëÖ­Ÿ>}zóæoðùóçÝÝÝ\.×l6ïÛ·/33³ªª*°oDD„R©Dõ÷÷Ëår&¾{÷î¾¾¾5Éxöì™H$êííu8‰D,‹Åb£Ñh·ÛSRRöìÙ£×ë‡Á`8|ø°oÇÇ+ ÜæñxçÏŸŠŠ ZgMz0á¼6Éår÷ðáÃììl€'Nœ={öþýûµµµ===¥¥¥‘‘‘ ~}9Ά B999LüÝ»w~š¦išV*•1112™ ïB!—ËÅápB•••mmm±±±û÷ïONNöíKQÔàà s©ÓéÔjµT* ZgͬfÒÐÐ  - ,..¶´´$%%-,,ܹs'??çèõzì”ï’ŒŒÄw¿ÿ¾iÓ&ƒÁ‹%>>þóçÏ`2™z{{qŽo›¢¨k×®ÍÎÎÚíö¦¦&¡P¨R©Àëõòùü®®.˜››‰D/_¾§Ó'•J™ ŒŒ¯_¿nܸÑjµÀ£G¤Riˆ:k]òaêv»ñJÉÊÊJLL,))éîî—ËEQT~~~III]]L&+** j(tttP•““#‰ð6gΜ)** lSÅL‚ŒŒŒšš—Ë…oétºÜÜ\©Tš––vîÜ9¦~EEŶmÛ˜m‘‘W¯^ÍÈÈÈËËãóùz½>tßAÒPÌüüüÐÐÐÔÔ”_Ül6;N˜žž6 ^¯×áp­°¼¼üúõ륥¥UŽ‚áááùùù ~2–––L&SàÐ+Öaê~ý]ŸB³'ö«!¨WìáaXC ÃJÖP°††5”0¬¡„a % k(a‚œ6uuu…yÐòÿ#ð¿uþŸžCCC“““PÒúF ûFü eù‡°{(aXC ÃJ˜‡ðÒHUIEND®B`‚cairomm-1.10.0/docs/reference/html/PaxHeaders.11012/functions_func_0x6c.html0000644000175000017500000000005011561716354024646 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/html/functions_func_0x6c.html0000644000175000017500000001050111561716354025057 0ustar00murraycmurrayc00000000000000 cairomm: Class Members - Functions
 

- l -

cairomm-1.10.0/docs/reference/PaxHeaders.11012/cairomm-1.0.devhelp20000644000175000017500000000005011561716354022507 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/docs/reference/cairomm-1.0.devhelp20000644000175000017500000025502311561716354022732 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/docs/reference/PaxHeaders.11012/cairomm.css0000644000175000017500000000005011561715437021273 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/docs/reference/cairomm.css0000644000175000017500000001625311561715437021516 0ustar00murraycmurrayc00000000000000body { font-family: sans-serif; margin: 2em 6em; } h1, h2, h3 { color: #2b5e82; } a:link, a:visited, a:active, a:hover { text-decoration: none; color: #3B80AE; } a:hover { text-decoration: underline; } h1 { text-align: center; font-size: 160%; margin-top: 1.5em; } h2 { font-size: 140%; } h3 { font-size: 130%; } caption { font-weight: bold } div.qindex { width: 100%; font-size: 90%; background-color: #dedede; border: 1px solid #CCCCCC; text-align: center; margin: 0.5em; padding: 0.5em; line-height: 150%; } div.nav { width: 100%; color: #FFFFFF; background-color: #3B80AE; text-align: center; padding: 0.5em; } div.nav a:link, div.nav a:visited { color: #FFFFFF !important; text-decoration: underline; } div.tabs { background-color: #dedede; text-align: center; padding: 0.2em; margin: 1em 0em; font-size: 80%; font-weight: bold; width: 100%; } .tabs ul { margin: 0em; padding: 0em; list-style: none; text-align: center; } .tabs ul li { display: inline; padding: 0.5em 2em; } .tabs ul li#current { background-color: #ffffff; border: 1px solid #cccccc; } a.qindex { font-weight: bold; } a.qindexHL { text-decoration: none; font-weight: bold; background-color: #eeeeee; border: 1px double #9295C2; } a.qindexHL:hover { text-decoration: underline; } a.el, a.elRef { font-weight: bold } a.code:link { text-decoration: none; font-weight: normal; } a.code:visited { text-decoration: none; font-weight: normal; } a.codeRef:link { font-weight: normal;} a.codeRef:visited { font-weight: normal; } dl.el { margin-left: -1cm } .fragment { font-family: Fixed, monospace; font-size: 95%; } pre.fragment { border: 1px solid #CCCCCC; background-color: #f5f5f5; color: #444444; margin: 1em; padding: 1em; } div.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } td.md { font-weight: bold; font-family: monospace;} td.mdPrefix { color: #606060; font-size: 80%; } td.mdname, td.mdname1 { font-weight: normal; color: #666666; } div.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; font-size: 90% } td.indexkey { background-color: #dedede; font-weight: bold; padding-right : 10px; padding-top : 2px; padding-left : 10px; padding-bottom : 2px; margin-left : 0px; margin-right : 0px; margin-top : 2px; margin-bottom : 2px; border: 1px solid #CCCCCC; } td.indexvalue { background-color: #dedede; font-style: italic; padding-right : 10px; padding-top : 2px; padding-left : 10px; padding-bottom : 2px; margin-left : 0px; margin-right : 0px; margin-top : 2px; margin-bottom : 2px; border: 1px solid #CCCCCC; } tr.memlist { background-color: #f0f0f0; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } table.mdTable + table { margin-bottom: 4em; } .mdTable { border: 1px solid #868686; background-color: #DEDEDE; width: 100%; } .mdRow { padding: 8px 10px; } .mdescLeft { padding: 0px 8px 4px 8px; font-size: 80%; font-style: italic; background-color: #FAFAFA; border-top: 1px none #E0E0E0; border-right: 1px none #E0E0E0; border-bottom: 1px none #E0E0E0; border-left: 1px none #E0E0E0; margin: 0px; } .mdescRight { padding: 0px 8px 4px 8px; font-size: 80%; font-style: italic; background-color: #FAFAFA; border-top: 1px none #E0E0E0; border-right: 1px none #E0E0E0; border-bottom: 1px none #E0E0E0; border-left: 1px none #E0E0E0; margin: 0px; } .memItemLeft { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memItemRight { padding: 1px 8px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memTemplItemLeft { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memTemplItemRight { padding: 1px 8px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; font-family: monospace; } .memTemplParams { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; color: #606060; background-color: #FAFAFA; font-size: 80%; } div.memitem { margin-top: 3em; } .memproto { background-color: #EEEEEE; font-weight: bold; padding: 1em; border: 1px solid #CCCCCC; font-family: monospace; } .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #dedede; } td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #b0b0b0; } th.dirtab { background: #dedede; font-weight: bold; } hr { height: 1px; border: none; } cairomm-1.10.0/docs/reference/PaxHeaders.11012/Doxyfile.in0000644000175000017500000000005011561715437021245 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/docs/reference/Doxyfile.in0000644000175000017500000002512511561715437021466 0ustar00murraycmurrayc00000000000000# Doxyfile 1.5.8 # @configure_input@ #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = @PACKAGE_NAME@ PROJECT_NUMBER = @CAIROMM_API_VERSION@ OUTPUT_DIRECTORY = reference CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ABBREVIATE_BRIEF = ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = YES STRIP_FROM_PATH = "@abs_top_builddir@/" \ "@abs_top_srcdir@/" STRIP_FROM_INC_PATH = "@abs_top_builddir@/" \ "@abs_top_srcdir@/" SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 8 ALIASES = OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO EXTENSION_MAPPING = BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES DISTRIBUTE_GROUP_DOC = NO SUBGROUPING = YES TYPEDEF_HIDES_STRUCT = NO SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- EXTRACT_ALL = YES EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = NO EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = YES HIDE_IN_BODY_DOCS = YES INTERNAL_DOCS = NO CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO SHOW_INCLUDE_FILES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = YES GENERATE_TODOLIST = NO GENERATE_TESTLIST = NO GENERATE_BUGLIST = NO GENERATE_DEPRECATEDLIST= YES ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 2 SHOW_USED_FILES = YES SHOW_DIRECTORIES = NO SHOW_FILES = NO SHOW_NAMESPACES = YES FILE_VERSION_FILTER = LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = reference/doxygen.log #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = INPUT_ENCODING = UTF-8 FILE_PATTERNS = RECURSIVE = NO EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = EXCLUDE_SYMBOLS = _* \ adaptor_trait \ basic_filebuf \ basic_streambuf \ binary_function \ char_traits \ internal \ pair \ unary_function EXAMPLE_PATH = "@abs_top_srcdir@/examples" EXAMPLE_PATTERNS = *.cc \ *.h EXAMPLE_RECURSIVE = YES IMAGE_PATH = INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = NO INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO REFERENCES_LINK_SOURCE = YES USE_HTAGS = NO VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = "@abs_top_srcdir@/docs/reference/cairomm-header.html" HTML_FOOTER = HTML_STYLESHEET = "@abs_top_srcdir@/docs/reference/cairomm.css" HTML_ALIGN_MEMBERS = YES HTML_DYNAMIC_SECTIONS = NO GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project GENERATE_HTMLHELP = NO CHM_FILE = HHC_LOCATION = GENERATE_CHI = NO CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO GENERATE_QHP = NO QCH_FILE = QHP_NAMESPACE = QHP_VIRTUAL_FOLDER = doc QHP_CUST_FILTER_NAME = QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = QHG_LOCATION = DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 1 GENERATE_TREEVIEW = NONE TREEVIEW_WIDTH = 250 FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = PDF_HYPERLINKS = YES USE_PDFLATEX = YES LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml XML_SCHEMA = XML_DTD = XML_PROGRAMLISTING = NO #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES SEARCH_INCLUDES = YES INCLUDE_PATH = "@abs_top_builddir@/" \ "@abs_top_srcdir@/" INCLUDE_FILE_PATTERNS = *.h PREDEFINED = __cplusplus \ DOXYGEN_IGNORE_THIS \ CAIRO_HAS_XLIB_SURFACE \ CAIRO_HAS_XLIB_XRENDER_SURFACE \ CAIRO_HAS_WIN32_SURFACE \ CAIRO_HAS_PDF_SURFACE \ CAIRO_HAS_PS_SURFACE \ CAIRO_HAS_SVG_SURFACE \ CAIRO_HAS_GLITZ_SURFACE \ CAIRO_HAS_QUARTZ_SURFACE \ CAIRO_HAS_PNG_FUNCTIONS \ CAIRO_HAS_FT_FONT \ CAIRO_HAS_WIN32_FONT \ CAIRO_HAS_QUARTZ_FONT EXPAND_AS_DEFINED = CAIROMM_MAJOR_VERSION \ CAIROMM_MINOR_VERSION \ CAIROMM_MICRO_VERSION SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- TAGFILES = @DOXYGEN_TAGFILES@ GENERATE_TAGFILE = "reference/@CAIROMM_MODULE_NAME@.tag" ALLEXTERNALS = NO EXTERNAL_GROUPS = NO PERL_PATH = @PERL@ #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO MSCGEN_PATH = HIDE_UNDOC_RELATIONS = NO HAVE_DOT = YES DOT_FONTNAME = FreeSans DOT_FONTSIZE = 10 DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = NO GROUP_GRAPHS = YES UML_LOOK = NO TEMPLATE_RELATIONS = YES INCLUDE_GRAPH = NO INCLUDED_BY_GRAPH = NO CALL_GRAPH = NO CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO DOT_IMAGE_FORMAT = png DOT_PATH = DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = NO DOT_MULTI_TARGETS = YES GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Options related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO cairomm-1.10.0/PaxHeaders.11012/COPYING0000644000175000017500000000005011561715437015277 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/COPYING0000644000175000017500000006130411561715437015517 0ustar00murraycmurrayc00000000000000 GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! cairomm-1.10.0/PaxHeaders.11012/cairommconfig.h.in0000644000175000017500000000005011561715437017637 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairommconfig.h.in0000644000175000017500000000054211561715437020054 0ustar00murraycmurrayc00000000000000/* This file is part of cairomm. */ /* Defined when the --enable-api-exceptions configure argument was given */ #undef CAIROMM_EXCEPTIONS_ENABLED /* Major version number of cairomm. */ #undef CAIROMM_MAJOR_VERSION /* Minor version number of cairomm. */ #undef CAIROMM_MINOR_VERSION /* Micro version number of cairomm. */ #undef CAIROMM_MICRO_VERSION cairomm-1.10.0/PaxHeaders.11012/NEWS0000644000175000017500000000005011561716261014737 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/NEWS0000644000175000017500000002441311561716261015157 0ustar00murraycmurrayc000000000000001.10.0 (stable): * Documentation: Context::arc(): Correct the documentation, as in the C documentation. (Murray Cumming) Bug #31345 (Christopher Head) 1.9.8 (unstable): * Surface: - added create() for creating a sub-surface representing a rectangle on a target surface - PDF versioning API: get_versions(), restrict_to_version(), version_to_string() - add get_device() - add new surface type enum values * Device - add acquire() and release() functions - Add Device::Lock convenience class * Region - UNSTABLE API CHANGE: Fix do_union(), subtract(), intersect() to throw exceptions instead of returning error statuses to be consistent with the rest of the cairomm API - add xor() functions - add API for creating a region from a list of rectangles - implement copy() * Documentation: - Context::arc(): Fix bug #31345 (Christopher Head) about bad math in arc() documentation. (Murray Cumming) - Add documentation for Device class - Add documentation for Region class 1.9.6 (unstable): * Context: Added in_clip(). * Surface: Added get_mime_data(), set_mime_data(), unset_mime_data(). (Murray Cumming) * Build: Added support for Windows 64-bit and Visual Studio 2010. (Armin Burgmeier) 1.9.4 (unstable): * Added Device. (Murray Cumming) 1.9.2 (unstable): * Context: - set_dash(): Make the dashes parameter const. - device_to_user(), device_to_user_distance(), user_to_device(), user_to_device_distance(): Deprecate the non-const versions, adding const versions. (Murray Cumming) * Cleanup of most -Weffc++ warnings. Bug #28246. (Ian Britten) 1.9.1 (unstable): * Added Region. (Murray Cumming) * Context: Don't allow this to be copied. (Daniel Elstner) * Build: - Fix the MSVC build. (Armin Burgmeier) - Fix the 64-bit build. (Augusto Jun Devegil) - Actually install cairomm-xlib-xrender-1.0.pc. (Daisuke Nishikawa) 1.8.4: * move to new mm-common build infrastructure * Contributors for this release: 1 Christopher Harvey 4 Daniel Elstner 4 David King 1 Jonathon Jongsma 1.8.2: * Fix accidental ABI breakage from 1.8.0. All users are urged to please upgrade from 1.8.0 to 1.8.2 as soon as possible 1.8.0: * No notable changes since 1.7.2 1.7.2 (UNSTABLE): * API Changes (all API changes are in unstable API introduced in 1.7.x) * UserFontFace is not implemented with virtual functions rather than by registering callbacks * Cairo::scaled_matrix() -> Cairo::scaling_matrix() to match other matrix convenience functions * Bugfixes * Incorrect refcounting on ScaledFont * build fixes for Mac OSX * Contributors for this release: 1 Armin Burgmeier 1 Dave Evans 22 Jonathon Jongsma 1.7.0 (UNSTABLE): * API Changes * ScaledFont: Change fontface constructor parameter to be a RefPtr * This is an API break, but the old interface was essentially unusably broken * Cairo::Matrix now inherits from cairo_matrix_t * Previously, we had used Cairo::Matrix throughout our API, but Cairo::Matrix was just a typedef for cairo_matrix_t * This could be considered an API change, but the new Cairo::Matrix still is-a cairo_matrix_t even if it's not exactly a cairo_matrix_t. This change does not break ABI either, as there are no data members or virtual functions. So I believe this is a safe change, but feedback is appreciated. * Provides a much more C++-friendly API for handling matrices * Also added a set of standalone 'generator' functions for generating starting matrices: * Cairo::identity_matrix(), rotation_matrix(), translation_matrix(), scaled_matrix(). This allows for convenient use such as: cr->set_matrix(Cairo::identity_matrix()); rather than something like what was required before: Cairo::Matrix identity_matrix; cairo_matrix_init_identity(&identity_matrix); cr->set_matrix(identity_matrix); * Pattern: get/set_matrix() functions were using a cairo_matrix_t parameter in the API. This is the only place where we used this type and so it was inconsistent with every other matrix-related API in cairomm. Previously this wasn't really an issue since cairo_matrix_t and Cairo::Matrix were typedefed to the same type. However, with the the change to Cairo::Matrix mentioned above, this because a much bigger issue. * This is an ABI-compatible change, but it is a minor API change that could result in some warnings or compile problems in some situations` * New API (some of these are new in cairo 1.8, some are older API that were not wrapped in cairomm previously) * Add Context::get/set_scaled_font() * add Context::show_text_glyphs() * add Context::get_font_options() * Add Surface::has_show_text_glyphs() * Add Surface::get_content() + test * Added Surface::get_fallback_resolution() * Add ScaledFont::text_to_glyphs() * Add PsSurface::get_eps() * Add missing Win32Surface API: create_with_ddb(), create_with_dib(), and get_image() * Add Win32PrintingSurface * Vastly improved font support * ToyFontFace * UserFontFace * Add Freetype font support (FtFontFace, etc) * Add win32 font support (Win32FontFace, etc) * Add quartz font support (QuartzFontFace, etc) * Add ScaledFont::get_scale_matrix() * Fix API inconsistencies by adding overloads and deprecating old versions * Deprecated FontFace::extents() in favor of FontFace::get_extents() * Deprecated FontFace::text_extents() in favor of FontFace::get_text_extents() * Deprecated FontFace::glyph_extents() in favor of FontFace::get_glyph_extents() * Add sigc::slot versions of all of the functions that take a cairo_write_func_t or cairo_read_func_t * This adds a new dependency on libsigc++, but offers a much more flexible and C++-like solution * Old API using cairo_write_func_t / cairo_read_func_t still exist, but are deprecated in favor of the new API * Add a default value for the font_options parameter of the ScaledFont constructor * Added new macros for determining library version: * CAIROMM_MAJOR_VERSION, CAIROMM_MINOR_VERSION, and CAIROMM_MICRO_VERSION * Add a bunch of extra .pc files for additional functionality * like cairo, create convenience .pc files for using some of the optional features. For example, cairomm-ft-1.0, cairomm-pdf-1.0, cairomm-xlib-1.0, etc. * Numerous windows build improvements * Added a *lot* of automated tests 1.6.2: * Fix build on OSX when both Quartz and Xlib surfaces are enabled (Benjamin Reed) * updated the windows build (Armin Burgmeier) * Fixed a bug where an exception message would often report "Success" when it should have reported an error message * Added ability to get the error status code from an exception: Cairo::logic_error::get_status_code() * Added new elements to the surface type enumeration 1.6.0: * wrap cairo_format_stride_for_width(). All new cairo 1.6 API should now be implemented in cairomm 1.5.0 (UNSTABLE): * Unstable release wrapping new API in cairo 1.5 series * Bugfixes - Bug #14559: build failure in exception.cc on Solaris with Sun Workshop C++ - Bug #14558: cairomm 1.4.6 context.cc needs math.h on Solaris 1.4.6: * Bugfixes: - Bug #11972: Cannot build cairomm with Quartz enabled 1.4.4: * Added the --enable-api-exceptions=yes/no configure option, to allow cairomm to build when exceptions are disabled. For instance, when using CXXFLAGS=-fno-exceptions with g++. 1.4.2: * Bugfixes: - Bug #11596: Fixed broken shared library versioning (Dave Beckett) - Bug #8511: RefPtr: refcounting broken with cast_*() methods (Murray Cumming) 1.4.0: * Wrapped new API added in cairo 1.4 * Added support for Quartz surfaces * ability to use dynamic casting for surfaces and patterns returned from Context::get_target(), Context::get_source(), etc. * Various build and bug fixes 1.2.4: * Fixed an error that prevented Cairo::RefPtr<>::cast_static() and Cairo::RefPtr<>::cast_dynamic() from compiling. 1.2.2: * Fixed an issue when compiling on windows with MSVC 1.2.0: * This is the first release that guarantees API and ABI stability * Changed API: - Context::clear_path() is now Context::begin_new_path() - Context::new_sub_path() is now Context::begin_new_sub_path() * new API: - Win32Surface::get_dc() - Win32Surface::create() for device-independent bitmaps * Bugfixes - fixed a memory leak where C++ wrapper objects were not being destroyed * Fixes for compiling with MSVC (also includes project and resource files for Visual Studio 2005. See the MSVC/ directory) 1.1.10: * API: - Wrap new API from cairo 1.2 - Wrap ScaledFont * Improved Documentation * Build fixes 0.6.0: * API: - enumerations are now wrapped within the Cairo namespace. So, for example, CAIRO_FORMAT_ARGB32 becomes Cairo::FORMAT_ARGB32 * Examples: added simple text example translated from Cairo. * Bugfixes for the Glitz and Windows backends. * Build and installation improvements (Danilo Piazzalunga) 0.5.0: * Surface: - Created derived classes for PDF, PS, SVG, Glitz, X11 and Win32 surfaces, which are only available if your copy of cairo supports those surfaces. The X11 and Win32 Surface headers must be #included explicitly. (Jonathon Jongsma) - Added write_to_png() and write_to_png_stream(), available when PNG support is available in Cairo. (Jonathon Jongsma) * Examples: Added PNG, PDF, PS, and SVG Surface examples. (Jonathon Jongsma) * Added API documentation generation with doxygen (Jonathon Jongsma) 0.4.0: * Add Cairo::RefPtr<> and use all reference-counted objects via it. Use the static create() methods instead of new for these classes. * Context: - Change set_dash(void) to unset_dash(). - Change rotate_deg() to rotate_degrees(). - Change identity_matrix() to set_identity_matrix().\ - Change new_path() to clear_path(). * FontFace: Remove get/set_user_data(), because it seems useless. 0.3.0: * Context: - Change mask_surface() to mask() and set_source_surface() to set_source(). - Add typedef for Matrix, but a real Matrix class would be nice. * Pattern: Created hierarchy of classes. * Check for errors in constructors. * Exception: Rename to logic_error, and throw std::bad_alloc or std::io_base::failure instead when appropriate. (Murray Cumming) cairomm-1.10.0/PaxHeaders.11012/configure0000644000175000017500000000005011561716334016145 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/configure0000755000175000017500000214440011561716334016371 0ustar00murraycmurrayc00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for cairomm 1.10.0. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: https://bugs.freedesktop.org/enter_bug.cgi?product=cairomm $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac ECHO=${lt_ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then # Yippee, $ECHO works! : else # Restart under the correct shell. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF $* _LT_EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$lt_ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if { echo_test_string=`eval $cmd`; } 2>/dev/null && { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null then break fi done fi if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$ECHO" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. ECHO='print -r' elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else # Try using printf. ECHO='printf %s\n' if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL ECHO="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. ECHO=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='cairomm' PACKAGE_TARNAME='cairomm' PACKAGE_VERSION='1.10.0' PACKAGE_STRING='cairomm 1.10.0' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=cairomm' PACKAGE_URL='http://www.cairographics.org/cairomm/' ac_unique_file="cairomm/cairomm.h" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='LTLIBOBJS LIBOBJS AUTOTESTS_FALSE AUTOTESTS_TRUE BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB BOOST_UNIT_TEST_FRAMEWORK_LIB BOOST_LDFLAGS BOOST_CPPFLAGS CAIROMM_WXXFLAGS DOCINSTALL_FLAGS DOXYGEN_TAGFILES ENABLE_DOCUMENTATION_FALSE ENABLE_DOCUMENTATION_TRUE XSLTPROC DOXYGEN DOT PERL CAIROMM_LIBS CAIROMM_CFLAGS CAIROMM_INSTALL_PC CAIROMM_MODULES PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG CXXCPP CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB AR LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE ac_ct_CC CFLAGS CC LIBTOOL OBJDUMP DLLTOOL AS host_os host_vendor host_cpu host build_os build_vendor build_cpu build am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CXX CPPFLAGS LDFLAGS CXXFLAGS CXX CAIROMM_SO_VERSION MMDOCTOOLDIR DIST_DOCTOOLS_FALSE DIST_DOCTOOLS_TRUE CAIROMM_MICRO_VERSION CAIROMM_MINOR_VERSION CAIROMM_MAJOR_VERSION CAIROMM_API_VERSION CAIROMM_VERSION CAIROMM_MODULE_NAME ACLOCAL_FLAGS MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_maintainer_mode enable_dependency_tracking enable_static enable_shared with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_documentation with_libstdc_doc with_libsigc_doc enable_warnings enable_tests with_boost with_boost_unit_test_framework enable_api_exceptions ' ac_precious_vars='build_alias host_alias target_alias ACLOCAL_FLAGS CXX CXXFLAGS LDFLAGS LIBS CPPFLAGS CCC CC CFLAGS CPP CXXCPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR CAIROMM_CFLAGS CAIROMM_LIBS PERL DOT DOXYGEN XSLTPROC' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures cairomm 1.10.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/cairomm] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of cairomm 1.10.0:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-documentation do not build or install the documentation --enable-warnings[=min|max|fatal|no] set compiler pedantry level [default=min] --enable-tests enable automated tests [default=no] --enable-api-exceptions Build exceptions API. [default=yes] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libstdc-doc=[TAGFILE@]HTMLREFDIR Link to external libstdc documentation [auto] --with-libsigc-doc=[TAGFILE@]HTMLREFDIR Link to external libsigc documentation [auto] --with-boost[=DIR] use boost (default is No) - it is possible to specify the root directory for boost (optional) --with-boost-unit-test-framework[=special-lib] use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc Some influential environment variables: ACLOCAL_FLAGS aclocal flags, e.g. -I CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags CPP C preprocessor CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path CAIROMM_CFLAGS C compiler flags for CAIROMM, overriding pkg-config CAIROMM_LIBS linker flags for CAIROMM, overriding pkg-config PERL path to Perl interpreter DOT path to dot utility DOXYGEN path to Doxygen utility XSLTPROC path to xsltproc utility Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . cairomm home page: . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF cairomm configure 1.10.0 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by cairomm $as_me 1.10.0, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in build "$srcdir"/build; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in build \"$srcdir\"/build" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers build/config.h cairommconfig.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='cairomm' VERSION='1.10.0' # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a pax tar archive" >&5 $as_echo_n "checking how to create a pax tar archive... " >&6; } # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' _am_tools=${am_cv_prog_tar_pax-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do { echo "$as_me:$LINENO: $_am_tar --version" >&5 ($_am_tar --version) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && break done am__tar="$_am_tar --format=posix -chf - "'"$$tardir"' am__tar_="$_am_tar --format=posix -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x pax -w "$$tardir"' am__tar_='pax -L -x pax -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H pax -L' am__tar_='find "$tardir" -print | cpio -o -H pax -L' am__untar='cpio -i -H pax -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_pax}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -rf conftest.dir if test -s conftest.tar; then { echo "$as_me:$LINENO: $am__untar &5 ($am__untar &5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } grep GrepMe conftest.dir/file >/dev/null 2>&1 && break fi done rm -rf conftest.dir if ${am_cv_prog_tar_pax+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_prog_tar_pax=$_am_tool fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5 $as_echo "$am_cv_prog_tar_pax" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports GNU make features" >&5 $as_echo_n "checking whether ${MAKE-make} supports GNU make features... " >&6; } cat >conftest.make <<'_MMEOF' override reverse = $(2)$(subst ,, )$(1) override result := $(word 2,$(call reverse,success,failure)) all: ; test '$(result)' = success .PHONY: all _MMEOF if ${MAKE-make} -f conftest.make >&5 2>&5; then : mm_gnu_make=yes else mm_gnu_make=no fi rm -f conftest.make { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mm_gnu_make" >&5 $as_echo "$mm_gnu_make" >&6; } if test "x$mm_gnu_make" != xyes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The GNU make program is required to build $PACKAGE_NAME. See \`config.log' for more details" "$LINENO" 5; } fi CAIROMM_MODULE_NAME='cairomm-1.0' CAIROMM_VERSION='1.10.0' CAIROMM_API_VERSION='1.0' CAIROMM_MAJOR_VERSION=1 $as_echo "#define CAIROMM_MAJOR_VERSION 1" >>confdefs.h CAIROMM_MINOR_VERSION=10 $as_echo "#define CAIROMM_MINOR_VERSION 10" >>confdefs.h CAIROMM_MICRO_VERSION=0 $as_echo "#define CAIROMM_MICRO_VERSION 0" >>confdefs.h MMDOCTOOLDIR='${top_srcdir}/docs' if test 'xdocs' != 'x'; then DIST_DOCTOOLS_TRUE= DIST_DOCTOOLS_FALSE='#' else DIST_DOCTOOLS_TRUE='#' DIST_DOCTOOLS_FALSE= fi # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html CAIROMM_SO_VERSION=5:0:4 ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 $as_echo_n "checking whether the C++ compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C++ compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 $as_echo_n "checking for C++ compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=no fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AS+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AS="${ac_tool_prefix}as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 $as_echo "$AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AS+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AS="as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 $as_echo "$ac_ct_AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AS" = x; then AS="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS fi else AS="$ac_cv_prog_AS" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi ;; esac test -z "$AS" && AS=as test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$OBJDUMP" && OBJDUMP=objdump case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.6b' macro_revision='1.3017' ltmain="$ac_aux_dir/ltmain.sh" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$ac_tool_prefix"; then for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:5468: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:5471: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:5474: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line 6677 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} _lt_caught_CXX_error=yes; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi # Set options enable_dlopen=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:8701: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:8705: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9040: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:9044: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9145: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9149: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9200: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9204: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu) link_all_deplibs=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo(void) {} _ACEOF if ac_fn_c_try_link "$LINENO"; then : archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 11584 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 11680 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared # libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5]* | *pgcpp\ [1-5]*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5 $as_echo "$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13636: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:13640: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13735: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:13739: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13787: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:13791: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 $as_echo "$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi CAIROMM_MODULES='cairo >= 1.10.0 sigc++-2.0' cairomm_allmodules=$CAIROMM_MODULES CAIROMM_INSTALL_PC='data/cairomm-1.0.pc' for cairomm_mod in ft pdf png ps svg xlib xlib-xrender \ win32 win32-font quartz quartz-font quartz-image do if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo-\$cairomm_mod\""; } >&5 ($PKG_CONFIG --exists --print-errors "cairo-$cairomm_mod") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then cairomm_allmodules="$cairomm_allmodules cairo-$cairomm_mod" CAIROMM_INSTALL_PC="$CAIROMM_INSTALL_PC data/cairomm-$cairomm_mod-1.0.pc" fi done pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAIROMM" >&5 $as_echo_n "checking for CAIROMM... " >&6; } if test -n "$CAIROMM_CFLAGS"; then pkg_cv_CAIROMM_CFLAGS="$CAIROMM_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$cairomm_allmodules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$cairomm_allmodules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAIROMM_CFLAGS=`$PKG_CONFIG --cflags "$cairomm_allmodules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CAIROMM_LIBS"; then pkg_cv_CAIROMM_LIBS="$CAIROMM_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$cairomm_allmodules\""; } >&5 ($PKG_CONFIG --exists --print-errors "$cairomm_allmodules") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAIROMM_LIBS=`$PKG_CONFIG --libs "$cairomm_allmodules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then CAIROMM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$cairomm_allmodules" 2>&1` else CAIROMM_PKG_ERRORS=`$PKG_CONFIG --print-errors "$cairomm_allmodules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CAIROMM_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ($cairomm_allmodules) were not met: $CAIROMM_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables CAIROMM_CFLAGS and CAIROMM_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables CAIROMM_CFLAGS and CAIROMM_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else CAIROMM_CFLAGS=$pkg_cv_CAIROMM_CFLAGS CAIROMM_LIBS=$pkg_cv_CAIROMM_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $PERL in [\\/]* | ?:[\\/]*) ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="perl" ;; esac fi PERL=$ac_cv_path_PERL if test -n "$PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 $as_echo "$PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "dot", so it can be a program name with args. set dummy dot; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_DOT+:} false; then : $as_echo_n "(cached) " >&6 else case $DOT in [\\/]* | ?:[\\/]*) ac_cv_path_DOT="$DOT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_DOT" && ac_cv_path_DOT="dot" ;; esac fi DOT=$ac_cv_path_DOT if test -n "$DOT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5 $as_echo "$DOT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "doxygen", so it can be a program name with args. set dummy doxygen; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_DOXYGEN+:} false; then : $as_echo_n "(cached) " >&6 else case $DOXYGEN in [\\/]* | ?:[\\/]*) ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_DOXYGEN" && ac_cv_path_DOXYGEN="doxygen" ;; esac fi DOXYGEN=$ac_cv_path_DOXYGEN if test -n "$DOXYGEN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5 $as_echo "$DOXYGEN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xsltproc", so it can be a program name with args. set dummy xsltproc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XSLTPROC+:} false; then : $as_echo_n "(cached) " >&6 else case $XSLTPROC in [\\/]* | ?:[\\/]*) ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="xsltproc" ;; esac fi XSLTPROC=$ac_cv_path_XSLTPROC if test -n "$XSLTPROC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5 $as_echo "$XSLTPROC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Check whether --enable-documentation was given. if test "${enable_documentation+set}" = set; then : enableval=$enable_documentation; ENABLE_DOCUMENTATION=$enableval else ENABLE_DOCUMENTATION=auto fi if test "x$ENABLE_DOCUMENTATION" != xno; then : mm_err= if test "x$MMDOCTOOLDIR" = x; then : mm_err='The mm-common-util module is available, but the installation of mm-common on this machine is missing the shared documentation utilities of the GNOME C++ bindings. It may be necessary to upgrade to a more recent release of mm-common in order to build '$PACKAGE_NAME' and install the documentation.' elif test "x$PERL" = xperl; then : mm_err='Perl is required for installing the documentation.' elif test "x$USE_MAINTAINER_MODE" != xno; then : test "x$DOT" != xdot || mm_err=' dot' test "x$DOXYGEN" != xdoxygen || mm_err="$mm_err doxygen" test "x$XSLTPROC" != xxsltproc || mm_err="$mm_err xsltproc" test -z "$mm_err" || mm_err='The documentation cannot be generated because not all of the required tools are available:'$mm_err fi if test -z "$mm_err"; then : ENABLE_DOCUMENTATION=yes elif test "x$ENABLE_DOCUMENTATION" = xyes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "$mm_err See \`config.log' for more details" "$LINENO" 5; } else ENABLE_DOCUMENTATION=no; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $mm_err" >&5 $as_echo "$as_me: WARNING: $mm_err" >&2;} fi fi if test "x$ENABLE_DOCUMENTATION" = xyes; then ENABLE_DOCUMENTATION_TRUE= ENABLE_DOCUMENTATION_FALSE='#' else ENABLE_DOCUMENTATION_TRUE='#' ENABLE_DOCUMENTATION_FALSE= fi DOXYGEN_TAGFILES= DOCINSTALL_FLAGS= if test "x$ENABLE_DOCUMENTATION" != xno; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libstdc documentation" >&5 $as_echo_n "checking for libstdc documentation... " >&6; } # Check whether --with-libstdc-doc was given. if test "${with_libstdc_doc+set}" = set; then : withval=$with_libstdc_doc; mm_htmlrefdir=`expr "X@$withval" : '.*@\(.*\)' 2>&5` mm_tagname=`expr "X/$withval" : '[^@]*[\\/]\([^\\/@]*\)@' 2>&5` mm_tagpath=`expr "X$withval" : 'X\([^@]*\)@' 2>&5` test "x$mm_tagname" != x || mm_tagname="libstdc++.tag" test "x$mm_tagpath" != x || mm_tagpath=$mm_tagname else mm_htmlrefdir= mm_tagname="libstdc++.tag" mm_tagpath=$mm_tagname fi # Prepend working direcory if the tag file path starts with ./ or ../ case $mm_tagpath in #( .[\\/]*|..[\\/]*) : mm_tagpath=`pwd`/$mm_tagpath ;; #( *) : ;; esac # If no local directory was specified, get the default from the .pc file if test "x$mm_htmlrefdir" = x; then : mm_htmlrefdir=`$PKG_CONFIG --variable=htmlrefdir "mm-common-libstdc++" 2>&5` fi # If the user specified a Web URL, allow it to override the public location case $mm_htmlrefdir in #( http://*|https://*) : mm_htmlrefpub=$mm_htmlrefdir ;; #( *) : mm_htmlrefpub=`$PKG_CONFIG --variable=htmlrefpub "mm-common-libstdc++" 2>&5` test "x$mm_htmlrefpub" != x || mm_htmlrefpub=$mm_htmlrefdir test "x$mm_htmlrefdir" != x || mm_htmlrefdir=$mm_htmlrefpub ;; esac # The user-supplied tag-file name takes precedence if it includes the path case $mm_tagpath in #( *[\\/]*) : ;; #( *) : mm_doxytagfile=`$PKG_CONFIG --variable=doxytagfile "mm-common-libstdc++" 2>&5` test "x$mm_doxytagfile" = x || mm_tagpath=$mm_doxytagfile ;; esac # Remove trailing slashes and translate to URI mm_htmlrefpub=`expr "X$mm_htmlrefpub" : 'X\(.*[^\\/]\)[\\/]*' 2>&5 | sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&5` mm_htmlrefdir=`expr "X$mm_htmlrefdir" : 'X\(.*[^\\/]\)[\\/]*' 2>&5 | sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&5` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mm_tagpath@$mm_htmlrefdir" >&5 $as_echo "$mm_tagpath@$mm_htmlrefdir" >&6; } if test "x$USE_MAINTAINER_MODE" != xno && test ! -f "$mm_tagpath"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Doxygen tag file libstdc++.tag not found" >&5 $as_echo "$as_me: WARNING: Doxygen tag file libstdc++.tag not found" >&2;} fi if test "x$mm_htmlrefdir" = x; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Location of external libstdc documentation not set" >&5 $as_echo "$as_me: WARNING: Location of external libstdc documentation not set" >&2;} else if test "x$DOCINSTALL_FLAGS" = x; then : DOCINSTALL_FLAGS="-l '$mm_tagname@$mm_htmlrefdir/'" else DOCINSTALL_FLAGS="$DOCINSTALL_FLAGS -l '$mm_tagname@$mm_htmlrefdir/'" fi fi if test "x$mm_htmlrefpub" = x; then : mm_val=$mm_tagpath else mm_val="$mm_tagpath=$mm_htmlrefpub" fi if test "x$DOXYGEN_TAGFILES" = x; then : DOXYGEN_TAGFILES=\"$mm_val\" else DOXYGEN_TAGFILES="$DOXYGEN_TAGFILES "\"$mm_val\" fi fi if test "x$ENABLE_DOCUMENTATION" != xno; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsigc documentation" >&5 $as_echo_n "checking for libsigc documentation... " >&6; } # Check whether --with-libsigc-doc was given. if test "${with_libsigc_doc+set}" = set; then : withval=$with_libsigc_doc; mm_htmlrefdir=`expr "X@$withval" : '.*@\(.*\)' 2>&5` mm_tagname=`expr "X/$withval" : '[^@]*[\\/]\([^\\/@]*\)@' 2>&5` mm_tagpath=`expr "X$withval" : 'X\([^@]*\)@' 2>&5` test "x$mm_tagname" != x || mm_tagname="libsigc++-2.0.tag" test "x$mm_tagpath" != x || mm_tagpath=$mm_tagname else mm_htmlrefdir= mm_tagname="libsigc++-2.0.tag" mm_tagpath=$mm_tagname fi # Prepend working direcory if the tag file path starts with ./ or ../ case $mm_tagpath in #( .[\\/]*|..[\\/]*) : mm_tagpath=`pwd`/$mm_tagpath ;; #( *) : ;; esac # If no local directory was specified, get the default from the .pc file if test "x$mm_htmlrefdir" = x; then : mm_htmlrefdir=`$PKG_CONFIG --variable=htmlrefdir "sigc++-2.0" 2>&5` fi # If the user specified a Web URL, allow it to override the public location case $mm_htmlrefdir in #( http://*|https://*) : mm_htmlrefpub=$mm_htmlrefdir ;; #( *) : mm_htmlrefpub=`$PKG_CONFIG --variable=htmlrefpub "sigc++-2.0" 2>&5` test "x$mm_htmlrefpub" != x || mm_htmlrefpub=$mm_htmlrefdir test "x$mm_htmlrefdir" != x || mm_htmlrefdir=$mm_htmlrefpub ;; esac # The user-supplied tag-file name takes precedence if it includes the path case $mm_tagpath in #( *[\\/]*) : ;; #( *) : mm_doxytagfile=`$PKG_CONFIG --variable=doxytagfile "sigc++-2.0" 2>&5` test "x$mm_doxytagfile" = x || mm_tagpath=$mm_doxytagfile ;; esac # Remove trailing slashes and translate to URI mm_htmlrefpub=`expr "X$mm_htmlrefpub" : 'X\(.*[^\\/]\)[\\/]*' 2>&5 | sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&5` mm_htmlrefdir=`expr "X$mm_htmlrefdir" : 'X\(.*[^\\/]\)[\\/]*' 2>&5 | sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&5` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mm_tagpath@$mm_htmlrefdir" >&5 $as_echo "$mm_tagpath@$mm_htmlrefdir" >&6; } if test "x$USE_MAINTAINER_MODE" != xno && test ! -f "$mm_tagpath"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Doxygen tag file libsigc++-2.0.tag not found" >&5 $as_echo "$as_me: WARNING: Doxygen tag file libsigc++-2.0.tag not found" >&2;} fi if test "x$mm_htmlrefdir" = x; then : { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Location of external libsigc documentation not set" >&5 $as_echo "$as_me: WARNING: Location of external libsigc documentation not set" >&2;} else if test "x$DOCINSTALL_FLAGS" = x; then : DOCINSTALL_FLAGS="-l '$mm_tagname@$mm_htmlrefdir/'" else DOCINSTALL_FLAGS="$DOCINSTALL_FLAGS -l '$mm_tagname@$mm_htmlrefdir/'" fi fi if test "x$mm_htmlrefpub" = x; then : mm_val=$mm_tagpath else mm_val="$mm_tagpath=$mm_htmlrefpub" fi if test "x$DOXYGEN_TAGFILES" = x; then : DOXYGEN_TAGFILES=\"$mm_val\" else DOXYGEN_TAGFILES="$DOXYGEN_TAGFILES "\"$mm_val\" fi fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # Check whether --enable-warnings was given. if test "${enable_warnings+set}" = set; then : enableval=$enable_warnings; mm_enable_warnings=$enableval else mm_enable_warnings=min fi case $ac_compile in #( *'$CXXFLAGS '*) : mm_lang='C++' mm_cc=$CXX mm_conftest="conftest.${ac_ext-cc}" ;; #( *'$CFLAGS '*) : mm_lang=C mm_cc=$CC mm_conftest="conftest.${ac_ext-c}" ;; #( *) : as_fn_error $? "current language is neither C nor C++" "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking which $mm_lang compiler warning flags to use" >&5 $as_echo_n "checking which $mm_lang compiler warning flags to use... " >&6; } mm_tested_flags= case $mm_enable_warnings in #( no) : mm_warning_flags= ;; #( max) : mm_warning_flags="-pedantic -Wall -Wextra" ;; #( fatal) : mm_warning_flags="-pedantic -Wall -Wextra -Werror" ;; #( *) : mm_warning_flags="-Wall" ;; esac if test "x$mm_warning_flags" != x; then : # Keep in mind that the dummy source must be devoid of any # problems that might cause diagnostics. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main(int argc, char** argv) { return (argv != 0) ? argc : 0; } _ACEOF for mm_flag in $mm_warning_flags do # Test whether the compiler accepts the flag. Look at standard output, # since GCC only shows a warning message if an option is not supported. mm_cc_out=`$mm_cc $mm_tested_flags $mm_flag -c "$mm_conftest" 2>&1 || echo failed` rm -f "conftest.${OBJEXT-o}" if test "x$mm_cc_out" = x; then : if test "x$mm_tested_flags" = x; then : mm_tested_flags=$mm_flag else mm_tested_flags="$mm_tested_flags $mm_flag" fi else cat <<_MMEOF >&5 $mm_cc: $mm_cc_out _MMEOF fi done rm -f "$mm_conftest" fi mm_all_flags=$mm_tested_flags CAIROMM_WXXFLAGS=$mm_all_flags test "x$mm_all_flags" != x || mm_all_flags=none { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mm_all_flags" >&5 $as_echo "$mm_all_flags" >&6; } # Check whether --enable-tests was given. if test "${enable_tests+set}" = set; then : enableval=$enable_tests; ENABLE_TESTS=$enableval else ENABLE_TESTS=no fi BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB= if test "x$ENABLE_TESTS" = xyes; then : ####################################################### #boost build system sucks no end. #it is damn hard to detect the version of boost #that is installed. All that because our friends of #the boost project don't want to integrate to autofoo. #So we resort to hugly hacks to detect the version of #boost that is installed. ####################################################### # Check whether --with-boost was given. if test "${with_boost+set}" = set; then : withval=$with_boost; if test "$withval" = "no"; then want_boost="no" elif test "$withval" = "yes"; then want_boost="yes" ac_boost_path="" else want_boost="yes" ac_boost_path="$withval" fi else want_boost="yes" fi if test "x$want_boost" = "xyes"; then boost_lib_version_req=1.33.1 boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'` boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'` boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'` boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'` if test "x$boost_lib_version_req_sub_minor" = "x" ; then boost_lib_version_req_sub_minor="0" fi WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boostlib >= $boost_lib_version_req" >&5 $as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; } succeeded=no if test "$ac_boost_path" != ""; then BOOST_LDFLAGS="-L$ac_boost_path/lib" BOOST_CPPFLAGS="-I$ac_boost_path/include" else for ac_boost_path_tmp in /usr /usr/local /opt ; do if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib" BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" break; fi done fi CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } succeeded=yes found_system=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "x$succeeded" != "xyes"; then _version=0 if test "$ac_boost_path" != ""; then BOOST_LDFLAGS="-L$ac_boost_path/lib" if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp fi VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" done fi else for ac_boost_path in /usr /usr/local /opt ; do if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp best_path=$ac_boost_path fi done fi done VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" BOOST_LDFLAGS="-L$best_path/lib" if test "x$BOOST_ROOT" != "x"; then if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'` V_CHECK=`expr $stage_version_shorten \>\= $_version` if test "$V_CHECK" = "1" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: We will use a staged boost library from $BOOST_ROOT" >&5 $as_echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;} BOOST_CPPFLAGS="-I$BOOST_ROOT" BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib" fi fi fi fi CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } succeeded=yes found_system=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi if test "$succeeded" != "yes" ; then if test "$_version" = "0" ; then as_fn_error $? "We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation." "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: Your boost libraries seems to old (version $_version)." >&5 $as_echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;} fi else $as_echo "#define HAVE_BOOST /**/" >>confdefs.h fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" fi # Check whether --with-boost-unit-test-framework was given. if test "${with_boost_unit_test_framework+set}" = set; then : withval=$with_boost_unit_test_framework; if test "$withval" = "no"; then want_boost="no" elif test "$withval" = "yes"; then want_boost="yes" ax_boost_user_unit_test_framework_lib="" else want_boost="yes" ax_boost_user_unit_test_framework_lib="$withval" fi else want_boost="yes" fi if test "x$want_boost" = "xyes"; then CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::Unit_Test_Framework library is available" >&5 $as_echo_n "checking whether the Boost::Unit_Test_Framework library is available... " >&6; } if ${ax_cv_boost_unit_test_framework+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { using boost::unit_test::test_suite; test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return 0; ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ax_cv_boost_unit_test_framework=yes else ax_cv_boost_unit_test_framework=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_unit_test_framework" >&5 $as_echo "$ax_cv_boost_unit_test_framework" >&6; } if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then $as_echo "#define HAVE_BOOST_UNIT_TEST_FRAMEWORK /**/" >>confdefs.h BN=boost_unit_test_framework if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then saved_ldflags="${LDFLAGS}" for ax_lib in $BN $BN-mt $BN-mt-s $BN-s \ $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \ lib$BN lib$BN-$CC lib$BN-$CC-mt lib$BN-$CC-mt-s lib$BN-$CC-s \ $BN-mgw $BN-mgw $BN-mgw-mt $BN-mgw-mt-s $BN-mgw-s ; do LDFLAGS="${LDFLAGS} -l$ax_lib" { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boost::UnitTestFramework library linkage" >&5 $as_echo_n "checking Boost::UnitTestFramework library linkage... " >&6; } if ${ax_cv_boost_unit_test_framework_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include using boost::unit_test::test_suite; test_suite* init_unit_test_suite( int argc, char * argv[] ) { test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return test; } int main () { return 0; ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : link_unit_test_framework="yes" else link_unit_test_framework="no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_unit_test_framework_link" >&5 $as_echo "$ax_cv_boost_unit_test_framework_link" >&6; } LDFLAGS="${saved_ldflags}" if test "x$link_unit_test_framework" = "xyes"; then BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" break fi done else saved_ldflags="${LDFLAGS}" for ax_lib in $ax_boost_user_unit_test_framework_lib $BN-$ax_boost_user_unit_test_framework_lib; do LDFLAGS="${LDFLAGS} -l$ax_lib" { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boost::UnitTestFramework library linkage" >&5 $as_echo_n "checking Boost::UnitTestFramework library linkage... " >&6; } if ${ax_cv_boost_unit_test_framework_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include using boost::unit_test::test_suite; test_suite* init_unit_test_suite( int argc, char * argv[] ) { test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return test; } int main () { return 0; ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : link_unit_test_framework="yes" else link_unit_test_framework="no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_unit_test_framework_link" >&5 $as_echo "$ax_cv_boost_unit_test_framework_link" >&6; } LDFLAGS="${saved_ldflags}" if test "x$link_unit_test_framework" = "xyes"; then BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" break fi done fi if test "x$link_unit_test_framework" = "xno"; then as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5 fi fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" fi if test "x$ac_boost_path" != x; then : for i in "$ac_boost_path/lib/libboost_unit_test_framework.a" \ "$ac_boost_path/lib/libboost_unit_test_framework-st.a" \ "$ac_boost_path/libboost_unit_test_framework.a" \ "$ac_boost_path/libboost_unit_test_framework-st.a" do if test -f "$i"; then : BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB=$i; break fi done else for i in /usr/lib/libboost_unit_test_framework-st.a \ /usr/lib/libboost_unit_test_framework.a \ /usr/lib64/libboost_unit_test_framework-st.a \ /usr/lib64/libboost_unit_test_framework.a do if test -f "$i"; then : BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB=$i; break fi done fi if test "x$BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB" != x; then : { $as_echo "$as_me:${as_lineno-$LINENO}: support of automated tests enabled" >&5 $as_echo "$as_me: support of automated tests enabled" >&6;} else as_fn_error $? "Tried to enable unit tests, but could not find Boost Unit Test framework static library candidate. You can specify a custom location using --with-boost=/path/to/lib" "$LINENO" 5 fi else { $as_echo "$as_me:${as_lineno-$LINENO}: disabled support of automated tests" >&5 $as_echo "$as_me: disabled support of automated tests" >&6;} fi if test "x$ENABLE_TESTS" = xyes; then AUTOTESTS_TRUE= AUTOTESTS_FALSE='#' else AUTOTESTS_TRUE='#' AUTOTESTS_FALSE= fi # Check whether --enable-api-exceptions was given. if test "${enable_api_exceptions+set}" = set; then : enableval=$enable_api_exceptions; cairomm_enable_api_exceptions="$enableval" else cairomm_enable_api_exceptions='yes' fi if test "x$cairomm_enable_api_exceptions" = "xyes"; then { $as_echo "#define CAIROMM_EXCEPTIONS_ENABLED 1" >>confdefs.h } fi ac_config_files="$ac_config_files Makefile cairomm/Makefile tests/Makefile examples/Makefile docs/Makefile docs/reference/Doxyfile data/cairomm-1.0.pc data/cairomm-ft-1.0.pc data/cairomm-pdf-1.0.pc data/cairomm-png-1.0.pc data/cairomm-ps-1.0.pc data/cairomm-quartz-1.0.pc data/cairomm-quartz-font-1.0.pc data/cairomm-quartz-image-1.0.pc data/cairomm-svg-1.0.pc data/cairomm-win32-1.0.pc data/cairomm-win32-font-1.0.pc data/cairomm-xlib-1.0.pc data/cairomm-xlib-xrender-1.0.pc MSVC_Net2005/cairomm/cairomm.rc MSVC_Net2008/cairomm/cairomm.rc MSVC_Net2010/cairomm/cairomm.rc" ac_config_commands="$ac_config_commands MSVC_Net2005/cairomm/cairommconfig.h" ac_config_commands="$ac_config_commands MSVC_Net2008/cairomm/cairommconfig.h" ac_config_commands="$ac_config_commands MSVC_Net2010/cairomm/cairommconfig.h" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${DIST_DOCTOOLS_TRUE}" && test -z "${DIST_DOCTOOLS_FALSE}"; then as_fn_error $? "conditional \"DIST_DOCTOOLS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_DOCUMENTATION_TRUE}" && test -z "${ENABLE_DOCUMENTATION_FALSE}"; then as_fn_error $? "conditional \"ENABLE_DOCUMENTATION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AUTOTESTS_TRUE}" && test -z "${AUTOTESTS_FALSE}"; then as_fn_error $? "conditional \"AUTOTESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by cairomm $as_me 1.10.0, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to . cairomm home page: ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ cairomm config.status 1.10.0 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ SHELL \ ECHO \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` ;; esac ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "build/config.h") CONFIG_HEADERS="$CONFIG_HEADERS build/config.h" ;; "cairommconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS cairommconfig.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "cairomm/Makefile") CONFIG_FILES="$CONFIG_FILES cairomm/Makefile" ;; "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; "docs/reference/Doxyfile") CONFIG_FILES="$CONFIG_FILES docs/reference/Doxyfile" ;; "data/cairomm-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-1.0.pc" ;; "data/cairomm-ft-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-ft-1.0.pc" ;; "data/cairomm-pdf-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-pdf-1.0.pc" ;; "data/cairomm-png-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-png-1.0.pc" ;; "data/cairomm-ps-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-ps-1.0.pc" ;; "data/cairomm-quartz-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-quartz-1.0.pc" ;; "data/cairomm-quartz-font-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-quartz-font-1.0.pc" ;; "data/cairomm-quartz-image-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-quartz-image-1.0.pc" ;; "data/cairomm-svg-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-svg-1.0.pc" ;; "data/cairomm-win32-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-win32-1.0.pc" ;; "data/cairomm-win32-font-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-win32-font-1.0.pc" ;; "data/cairomm-xlib-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-xlib-1.0.pc" ;; "data/cairomm-xlib-xrender-1.0.pc") CONFIG_FILES="$CONFIG_FILES data/cairomm-xlib-xrender-1.0.pc" ;; "MSVC_Net2005/cairomm/cairomm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2005/cairomm/cairomm.rc" ;; "MSVC_Net2008/cairomm/cairomm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2008/cairomm/cairomm.rc" ;; "MSVC_Net2010/cairomm/cairomm.rc") CONFIG_FILES="$CONFIG_FILES MSVC_Net2010/cairomm/cairomm.rc" ;; "MSVC_Net2005/cairomm/cairommconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS MSVC_Net2005/cairomm/cairommconfig.h" ;; "MSVC_Net2008/cairomm/cairommconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS MSVC_Net2008/cairomm/cairommconfig.h" ;; "MSVC_Net2010/cairomm/cairommconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS MSVC_Net2010/cairomm/cairommconfig.h" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Whether or not to build static libraries. build_old_libs=$enable_static # Assembler program. AS=$AS # DLL creation program. DLLTOOL=$DLLTOOL # Object dumper program. OBJDUMP=$OBJDUMP # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == "file_magic". file_magic_cmd=$lt_file_magic_cmd # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into a binary # during linking. This must work even if \$libdir does not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # If ld is used when linking, flag to hardcode \$libdir into a binary # during linking. This must work even if \$libdir does not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; "MSVC_Net2005/cairomm/cairommconfig.h":C) cp -f cairommconfig.h MSVC_Net2005/cairomm/cairommconfig.h ;; "MSVC_Net2008/cairomm/cairommconfig.h":C) cp -f cairommconfig.h MSVC_Net2008/cairomm/cairommconfig.h ;; "MSVC_Net2010/cairomm/cairommconfig.h":C) cp -f cairommconfig.h MSVC_Net2010/cairomm/cairommconfig.h ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi cairomm-1.10.0/PaxHeaders.11012/MSVC_Net20080000644000175000017500000000005011561716652016057 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/0000755000175000017500000000000011561716652016350 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/PaxHeaders.11012/blank.cpp0000644000175000017500000000005011561715437017727 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/blank.cpp0000644000175000017500000000066211561715437020147 0ustar00murraycmurrayc00000000000000// This file may very well be the most annoying workaround of all time. // It is included here to simplify working with glibmm using the // MSVC IDE. // // This file is included in all of the MSVC projects to force the // IDE to display the C/C++ property pages for editing. Apparently, // the MSVC IDE does not recognize .cc files as C++ source code, even // though the compiler does! // // Tim Shead, tshead@k-3d.com // 10/12/2004 cairomm-1.10.0/MSVC_Net2008/PaxHeaders.11012/filelist.am0000644000175000017500000000005011561715437020266 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/filelist.am0000644000175000017500000000137611561715437020511 0ustar00murraycmurrayc00000000000000## This file is part of cairomm msvc_net2008_data = README \ blank.cpp \ cairomm.sln \ gendef/gendef.vcproj \ gendef/gendef.cc \ cairomm/cairommconfig.h \ cairomm/cairomm.rc \ cairomm/cairomm.vcproj \ examples/image-surface/image-surface.vcproj \ examples/pdf-surface/pdf-surface.vcproj \ examples/ps-surface/ps-surface.vcproj \ examples/svg-surface/svg-surface.vcproj \ examples/text-rotate/text-rotate.vcproj \ examples/toy-text/toy-text.vcproj \ examples/user-font/user-font.vcproj cairomm-1.10.0/MSVC_Net2008/PaxHeaders.11012/README0000644000175000017500000000005011561715437017014 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/README0000644000175000017500000000110511561715437017225 0ustar00murraycmurrayc00000000000000Building cairomm-1.0 with Visual Studio .NET 2008 * You will need Visual Studio .NET 2008 (MSVC 9.0). See the MSVC_Net2005 folder for building with Visual Studio .NET 2005 (MSVC 8.0) or the MSVC_Net2010 folder for building with Visual Studio 2010 (MSVC 10.0). * Install the latest Win32 GTK+ Development files from ftp://ftp.gnome.org/pub/GNOME/binaries/win32/gtk+/ and add the paths to headers and import libraries to Visual Studio * Load the MSVC_Net2008/cairomm.sln solution. * Build the entire solution. * Run the tests. Cedric Gustin 08/18/2006 Armin Burgmeier 10/09/2008 cairomm-1.10.0/MSVC_Net2008/PaxHeaders.11012/gendef0000644000175000017500000000005011561716652017307 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/gendef/0000755000175000017500000000000011561716652017600 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/gendef/PaxHeaders.11012/gendef.cc0000644000175000017500000000005011561715437021123 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/gendef/gendef.cc0000644000175000017500000000520211561715437021336 0ustar00murraycmurrayc00000000000000/* * MICO --- an Open Source CORBA implementation * Copyright (c) 2003 Harald Böhme * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * For more information, visit the MICO Home Page at * http://www.mico.org/ */ /* Modified by Cedric Gustin on 2006/01/13 : * Redirect the output of dumpbin to dumpbin.out instead of reading the * output stream of popen, as it fails with Visual Studio 2005 in * pre-link build events. */ #include #include #include using namespace std; int main(int argc,char** argv) { if (argc < 4) { cerr << "Usage: " << argv[0] << " ...." << endl; return 2; } // CG : Explicitly redirect stdout to dumpbin.out. string dumpbin = "dumpbin /SYMBOLS /OUT:dumpbin.out"; int i = 3; for(;i fct def_file << " " << (s+1) << endl; else if(strchr(s,'?')!=0 && strncmp(s,"??_G",4)!=0 && strncmp(s,"??_E",4)!=0) { def_file << " " << s << endl; } } } } // CG : Close dumpbin.out and delete it. fclose(dump); remove("dumpbin.out"); cout << dumpbin.c_str() << endl; } cairomm-1.10.0/MSVC_Net2008/gendef/PaxHeaders.11012/gendef.vcproj0000644000175000017500000000005011561715437022041 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/gendef/gendef.vcproj0000644000175000017500000001651111561715437022261 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/PaxHeaders.11012/cairomm.sln0000644000175000017500000000005011561715437020301 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/cairomm.sln0000644000175000017500000002065211561715437020522 0ustar00murraycmurrayc00000000000000Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendef", "gendef\gendef.vcproj", "{07324745-C9BE-4D65-B08A-9C88188C0C28}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cairomm-1.0", "cairomm\cairomm.vcproj", "{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}" ProjectSection(ProjectDependencies) = postProject {07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_pdf-surface", "examples\pdf-surface\pdf-surface.vcproj", "{129ECC08-6D30-4884-B824-4AF96EF0A45C}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_ps-surface", "examples\ps-surface\ps-surface.vcproj", "{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_svg-surface", "examples\svg-surface\svg-surface.vcproj", "{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_text-rotate", "examples\text-rotate\text-rotate.vcproj", "{F4D455E4-464D-49CC-A120-DB9B8AE0207E}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_image-surface", "examples\image-surface\image-surface.vcproj", "{7A33DBC5-A523-4E9C-8E13-792AE3B91055}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_toy-text", "examples\toy-text\toy-text.vcproj", "{6B6E3E73-0605-41E0-B7F9-1C62BBF92731}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_user-font", "examples\user-font\user-font.vcproj", "{E7C7C350-509B-4091-8929-62E47818C254}" ProjectSection(ProjectDependencies) = postProject {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.ActiveCfg = Debug|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.Build.0 = Debug|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|x64.ActiveCfg = Debug|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|x64.Build.0 = Debug|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.ActiveCfg = Release|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.Build.0 = Release|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|x64.ActiveCfg = Release|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|x64.Build.0 = Release|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.ActiveCfg = Debug|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.Build.0 = Debug|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|x64.ActiveCfg = Debug|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|x64.Build.0 = Debug|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.ActiveCfg = Release|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.Build.0 = Release|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|x64.ActiveCfg = Release|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|x64.Build.0 = Release|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.ActiveCfg = Debug|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.Build.0 = Debug|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|x64.ActiveCfg = Debug|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|x64.Build.0 = Debug|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.ActiveCfg = Release|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.Build.0 = Release|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|x64.ActiveCfg = Release|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|x64.Build.0 = Release|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.ActiveCfg = Debug|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.Build.0 = Debug|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|x64.ActiveCfg = Debug|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|x64.Build.0 = Debug|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.ActiveCfg = Release|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.Build.0 = Release|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|x64.ActiveCfg = Release|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|x64.Build.0 = Release|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.ActiveCfg = Debug|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.Build.0 = Debug|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|x64.ActiveCfg = Debug|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|x64.Build.0 = Debug|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.ActiveCfg = Release|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.Build.0 = Release|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|x64.ActiveCfg = Release|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|x64.Build.0 = Release|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.ActiveCfg = Debug|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.Build.0 = Debug|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|x64.ActiveCfg = Debug|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|x64.Build.0 = Debug|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.ActiveCfg = Release|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.Build.0 = Release|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|x64.ActiveCfg = Release|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|x64.Build.0 = Release|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|Win32.ActiveCfg = Debug|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|Win32.Build.0 = Debug|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|x64.ActiveCfg = Debug|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|x64.Build.0 = Debug|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|Win32.ActiveCfg = Release|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|Win32.Build.0 = Release|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|x64.ActiveCfg = Release|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|x64.Build.0 = Release|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|Win32.ActiveCfg = Debug|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|Win32.Build.0 = Debug|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|x64.ActiveCfg = Debug|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|x64.Build.0 = Debug|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|Win32.ActiveCfg = Release|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|Win32.Build.0 = Release|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|x64.ActiveCfg = Release|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|x64.Build.0 = Release|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|Win32.ActiveCfg = Debug|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|Win32.Build.0 = Debug|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|x64.ActiveCfg = Debug|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|x64.Build.0 = Debug|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Release|Win32.ActiveCfg = Release|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Release|Win32.Build.0 = Release|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Release|x64.ActiveCfg = Release|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal cairomm-1.10.0/MSVC_Net2008/PaxHeaders.11012/cairomm0000644000175000017500000000005011561716652017506 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/cairomm/0000755000175000017500000000000011561716652017777 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/cairomm/PaxHeaders.11012/cairommconfig.h0000644000175000017500000000005011561716342022545 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/cairomm/cairommconfig.h0000644000175000017500000000067011561716342022764 0ustar00murraycmurrayc00000000000000/* cairommconfig.h. Generated from cairommconfig.h.in by configure. */ /* This file is part of cairomm. */ /* Defined when the --enable-api-exceptions configure argument was given */ #define CAIROMM_EXCEPTIONS_ENABLED 1 /* Major version number of cairomm. */ #define CAIROMM_MAJOR_VERSION 1 /* Minor version number of cairomm. */ #define CAIROMM_MINOR_VERSION 10 /* Micro version number of cairomm. */ #define CAIROMM_MICRO_VERSION 0 cairomm-1.10.0/MSVC_Net2008/cairomm/PaxHeaders.11012/cairomm.rc.in0000644000175000017500000000005011561715437022145 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/cairomm/cairomm.rc.in0000644000175000017500000000273611561715437022371 0ustar00murraycmurrayc00000000000000 #define APSTUDIO_READONLY_SYMBOLS #include #undef APSTUDIO_READONLY_SYMBOLS #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED 1 TEXTINCLUDE BEGIN "resource.h\0" END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1 PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "The cairomm development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for cairo" VALUE "FileVersion", "@VERSION@" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "cairomm-1.0" VALUE "ProductName", "cairomm" VALUE "ProductVersion", "@VERSION@" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // English (U.S.) resources #ifndef APSTUDIO_INVOKED #endif // not APSTUDIO_INVOKED cairomm-1.10.0/MSVC_Net2008/cairomm/PaxHeaders.11012/cairomm.rc0000644000175000017500000000005011561716342021534 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/cairomm/cairomm.rc0000644000175000017500000000252611561716342021755 0ustar00murraycmurrayc00000000000000 #define APSTUDIO_READONLY_SYMBOLS #include #undef APSTUDIO_READONLY_SYMBOLS #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED 1 TEXTINCLUDE BEGIN "resource.h\0" END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO FILEVERSION 1,10,0,1 PRODUCTVERSION 1,10,0,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "The cairomm development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for cairo" VALUE "FileVersion", "1.10.0" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "cairomm-1.0" VALUE "ProductName", "cairomm" VALUE "ProductVersion", "1.10.0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // English (U.S.) resources #ifndef APSTUDIO_INVOKED #endif // not APSTUDIO_INVOKED cairomm-1.10.0/MSVC_Net2008/cairomm/PaxHeaders.11012/cairomm.vcproj0000644000175000017500000000005011561715437022437 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/cairomm/cairomm.vcproj0000644000175000017500000002624311561715437022662 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/PaxHeaders.11012/examples0000644000175000017500000000005011561716652017675 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/0000755000175000017500000000000011561716652020166 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/PaxHeaders.11012/ps-surface0000644000175000017500000000005011561716652021745 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/ps-surface/0000755000175000017500000000000011561716652022236 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/ps-surface/PaxHeaders.11012/ps-surface.vcproj0000644000175000017500000000005011561715437025317 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/ps-surface/ps-surface.vcproj0000644000175000017500000002012311561715437025531 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/examples/PaxHeaders.11012/pdf-surface0000644000175000017500000000005011561716652022074 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/pdf-surface/0000755000175000017500000000000011561716652022365 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/pdf-surface/PaxHeaders.11012/pdf-surface.vcproj0000644000175000017500000000005011561715437025575 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj0000644000175000017500000002012511561715437026011 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/examples/PaxHeaders.11012/svg-surface0000644000175000017500000000005011561716652022122 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/svg-surface/0000755000175000017500000000000011561716652022413 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/svg-surface/PaxHeaders.11012/svg-surface.vcproj0000644000175000017500000000005011561715437025651 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/svg-surface/svg-surface.vcproj0000644000175000017500000002012511561715437026065 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/examples/PaxHeaders.11012/text-rotate0000644000175000017500000000005011561716652022155 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/text-rotate/0000755000175000017500000000000011561716652022446 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/text-rotate/PaxHeaders.11012/text-rotate.vcproj0000644000175000017500000000005011561715437025737 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/text-rotate/text-rotate.vcproj0000644000175000017500000002012111561715437026147 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/examples/PaxHeaders.11012/image-surface0000644000175000017500000000005011561716652022405 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/image-surface/0000755000175000017500000000000011561716652022676 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/image-surface/PaxHeaders.11012/image-surface.vcproj0000644000175000017500000000005011561715437026417 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/image-surface/image-surface.vcproj0000644000175000017500000002013111561715437026630 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/examples/PaxHeaders.11012/toy-text0000644000175000017500000000005011561716652021472 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/toy-text/0000755000175000017500000000000011561716652021763 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/toy-text/PaxHeaders.11012/toy-text.vcproj0000644000175000017500000000005011561715437024571 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/toy-text/toy-text.vcproj0000644000175000017500000002022311561715437025004 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/MSVC_Net2008/examples/PaxHeaders.11012/user-font0000644000175000017500000000005011561716652021617 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/user-font/0000755000175000017500000000000011561716652022110 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2008/examples/user-font/PaxHeaders.11012/user-font.vcproj0000644000175000017500000000005011561715437025043 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2008/examples/user-font/user-font.vcproj0000644000175000017500000002022511561715437025260 0ustar00murraycmurrayc00000000000000 cairomm-1.10.0/PaxHeaders.11012/AUTHORS0000644000175000017500000000005011561715437015314 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/AUTHORS0000644000175000017500000000027111561715437015530 0ustar00murraycmurrayc00000000000000Please do not email us directly - use the mailing list. See http://cairographics.org/lists Maintainers: ---------- Murray Cumming Jonathon Jongsma Based on code from Leonard Ritter. cairomm-1.10.0/PaxHeaders.11012/aclocal.m40000644000175000017500000000005011561716334016101 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/aclocal.m40000644000175000017500000014744511561716334016334 0ustar00murraycmurrayc00000000000000# generated automatically by aclocal 1.10.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, [m4_warning([this file was generated for autoconf 2.68. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 10 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 13 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST(MAINT)dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES #serial 20090814 AC_DEFUN([_MM_PRE_INIT], [m4_pattern_forbid([^_?MM_])]) m4_define([_MM_PREREQ], [dnl m4_if(m4_quote(m4_version_compare([$2], [$3])), [-1], [m4_fatal([$4 requires $1 $3 (version $2 is installed)])])[]dnl ]) AC_DEFUN([MM_PREREQ], [dnl m4_assert([$# >= 1])[]dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl _MM_PREREQ([mm-common], [0.9.5], [$1], m4_defn([AC_PACKAGE_NAME]))[]dnl ]) #serial 20110327 m4_define([_MM_CONFIG_DOCTOOL_DIR], [dnl AC_PROVIDE([$0])[]dnl AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl dnl AC_MSG_CHECKING([location of documentation utilities]) AS_IF([test "x$MMDOCTOOLDIR" = x], [ MMDOCTOOLDIR=`$PKG_CONFIG --variable=doctooldir mm-common-util 2>&AS_MESSAGE_LOG_FD` AS_IF([test "[$]?" -ne 0], [AC_MSG_ERROR([[not found The required module mm-common-util could not be found on this system. If you are running a binary distribution and the mm-common package is installed, make sure that any separate development package for mm-common is installed as well. If you built mm-common yourself, it may be necessary to adjust the PKG_CONFIG_PATH environment variable for pkg-config to find it. ]])]) ]) AC_MSG_RESULT([$MMDOCTOOLDIR])[]dnl ]) AC_DEFUN([MM_CONFIG_DOCTOOL_DIR], [dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl m4_ifval([$1], [MMDOCTOOLDIR='[$]{top_srcdir}/$1'], [AC_REQUIRE([_MM_CONFIG_DOCTOOL_DIR])]) AM_CONDITIONAL([DIST_DOCTOOLS], [test 'x$1' != 'x'])dnl AC_SUBST([MMDOCTOOLDIR])[]dnl ]) m4_define([_MM_ARG_ENABLE_DOCUMENTATION], [dnl AC_PROVIDE([$0])[]dnl dnl AC_ARG_VAR([DOT], [path to dot utility])[]dnl AC_ARG_VAR([DOXYGEN], [path to Doxygen utility])[]dnl AC_ARG_VAR([XSLTPROC], [path to xsltproc utility])[]dnl dnl AC_PATH_PROG([DOT], [dot], [dot]) AC_PATH_PROG([DOXYGEN], [doxygen], [doxygen]) AC_PATH_PROG([XSLTPROC], [xsltproc], [xsltproc]) dnl AC_ARG_ENABLE([documentation], [AS_HELP_STRING([--disable-documentation], [do not build or install the documentation])], [ENABLE_DOCUMENTATION=$enableval], [ENABLE_DOCUMENTATION=auto]) AS_IF([test "x$ENABLE_DOCUMENTATION" != xno], [ mm_err= AS_IF([test "x$MMDOCTOOLDIR" = x], [mm_err='dnl The mm-common-util module is available, but the installation of mm-common on this machine is missing the shared documentation utilities of the GNOME C++ bindings. It may be necessary to upgrade to a more recent release of mm-common in order to build '$PACKAGE_NAME' and install the documentation.'], [test "x$PERL" = xperl], [mm_err='Perl is required for installing the documentation.'], [test "x$USE_MAINTAINER_MODE" != xno], [ test "x$DOT" != xdot || mm_err=' dot' test "x$DOXYGEN" != xdoxygen || mm_err="$mm_err doxygen" test "x$XSLTPROC" != xxsltproc || mm_err="$mm_err xsltproc" test -z "$mm_err" || mm_err='The documentation cannot be generated because not all of the required tools are available:'$mm_err ]) AS_IF([test -z "$mm_err"], [ENABLE_DOCUMENTATION=yes], [test "x$ENABLE_DOCUMENTATION" = xyes], [AC_MSG_FAILURE([[$mm_err]])], [ENABLE_DOCUMENTATION=no; AC_MSG_WARN([[$mm_err]])]) ]) AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "x$ENABLE_DOCUMENTATION" = xyes]) AC_SUBST([DOXYGEN_TAGFILES], [[]]) AC_SUBST([DOCINSTALL_FLAGS], [[]])[]dnl ]) AC_DEFUN([MM_ARG_ENABLE_DOCUMENTATION], [dnl AC_BEFORE([$0], [MM_ARG_WITH_TAGFILE_DOC])[]dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl AC_REQUIRE([MM_PATH_PERL])[]dnl AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl ]) m4_define([_MM_TR_URI], [dnl [`expr "X$1" : 'X\(.*[^\\/]\)[\\/]*' 2>&]AS_MESSAGE_LOG_FD[ |]dnl [ sed 's|[\\]|/|g;s| |%20|g;s|^/|file:///|;s|^.:/|file:///&|' 2>&]AS_MESSAGE_LOG_FD[`]dnl ]) m4_define([_MM_ARG_WITH_TAGFILE_DOC], [dnl AC_MSG_CHECKING([for $1 documentation]) AC_ARG_WITH([$1-doc], [AS_HELP_STRING([[--with-$1-doc=[TAGFILE@]HTMLREFDIR]], [Link to external $1 documentation]m4_ifval([$4], [[ [auto]]]))], [ mm_htmlrefdir=`[expr "X@$withval" : '.*@\(.*\)' 2>&]AS_MESSAGE_LOG_FD` mm_tagname=`[expr "X/$withval" : '[^@]*[\\/]\([^\\/@]*\)@' 2>&]AS_MESSAGE_LOG_FD` mm_tagpath=`[expr "X$withval" : 'X\([^@]*\)@' 2>&]AS_MESSAGE_LOG_FD` test "x$mm_tagname" != x || mm_tagname="$3" test "x$mm_tagpath" != x || mm_tagpath=$mm_tagname[]dnl ], [ mm_htmlrefdir= mm_tagname="$3" mm_tagpath=$mm_tagname[]dnl ]) # Prepend working direcory if the tag file path starts with ./ or ../ AS_CASE([$mm_tagpath], [[.[\\/]*|..[\\/]*]], [mm_tagpath=`pwd`/$mm_tagpath]) m4_ifval([$4], [dnl # If no local directory was specified, get the default from the .pc file AS_IF([test "x$mm_htmlrefdir" = x], [ mm_htmlrefdir=`$PKG_CONFIG --variable=htmlrefdir "$4" 2>&AS_MESSAGE_LOG_FD`dnl ]) # If the user specified a Web URL, allow it to override the public location AS_CASE([$mm_htmlrefdir], [[http://*|https://*]], [mm_htmlrefpub=$mm_htmlrefdir], [ mm_htmlrefpub=`$PKG_CONFIG --variable=htmlrefpub "$4" 2>&AS_MESSAGE_LOG_FD` test "x$mm_htmlrefpub" != x || mm_htmlrefpub=$mm_htmlrefdir test "x$mm_htmlrefdir" != x || mm_htmlrefdir=$mm_htmlrefpub ]) # The user-supplied tag-file name takes precedence if it includes the path AS_CASE([$mm_tagpath], [[*[\\/]*]],, [ mm_doxytagfile=`$PKG_CONFIG --variable=doxytagfile "$4" 2>&AS_MESSAGE_LOG_FD` test "x$mm_doxytagfile" = x || mm_tagpath=$mm_doxytagfile ]) # Remove trailing slashes and translate to URI mm_htmlrefpub=_MM_TR_URI([$mm_htmlrefpub]) ])[]dnl mm_htmlrefdir=_MM_TR_URI([$mm_htmlrefdir]) AC_MSG_RESULT([$mm_tagpath@$mm_htmlrefdir]) AS_IF([test "x$USE_MAINTAINER_MODE" != xno && test ! -f "$mm_tagpath"], [AC_MSG_WARN([Doxygen tag file $3 not found])]) AS_IF([test "x$mm_htmlrefdir" = x], [AC_MSG_WARN([Location of external $1 documentation not set])], [AS_IF([test "x$DOCINSTALL_FLAGS" = x], [DOCINSTALL_FLAGS="-l '$mm_tagname@$mm_htmlrefdir/'"], [DOCINSTALL_FLAGS="$DOCINSTALL_FLAGS -l '$mm_tagname@$mm_htmlrefdir/'"])]) AS_IF([test "x$mm_$2" = x], [mm_val=$mm_tagpath], [mm_val="$mm_tagpath=$mm_$2"]) AS_IF([test "x$DOXYGEN_TAGFILES" = x], [DOXYGEN_TAGFILES=[\]"$mm_val[\]"], [DOXYGEN_TAGFILES="$DOXYGEN_TAGFILES "[\]"$mm_val[\]"])[]dnl ]) AC_DEFUN([MM_ARG_WITH_TAGFILE_DOC], [dnl m4_assert([$# >= 1])[]dnl m4_ifval([$2], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])])[]dnl AC_REQUIRE([MM_CONFIG_DOCTOOL_DIR])[]dnl AC_REQUIRE([_MM_ARG_ENABLE_DOCUMENTATION])[]dnl dnl AS_IF([test "x$ENABLE_DOCUMENTATION" != xno], [_MM_ARG_WITH_TAGFILE_DOC(m4_quote(m4_bpatsubst([$1], [[+]*\([-+][0123456789]\|[._]\).*$])), [htmlref]m4_ifval([$2], [[pub]], [[dir]]), [$1], [$2])])[]dnl ]) #serial 20091228 m4_define([_MM_INIT_MODULE_VERSION], [dnl m4_ifval([$3], [AC_SUBST([$2][_MAJOR_VERSION], [$3]) AC_DEFINE([$2][_MAJOR_VERSION], [$3], [Major version number of $1.]) ])[]dnl m4_ifval([$4], [AC_SUBST([$2][_MINOR_VERSION], [$4]) AC_DEFINE([$2][_MINOR_VERSION], [$4], [Minor version number of $1.]) ])[]dnl m4_ifval([$5], [AC_SUBST([$2][_MICRO_VERSION], [$5]) AC_DEFINE([$2][_MICRO_VERSION], [$5], [Micro version number of $1.]) ])[]dnl ]) m4_define([_MM_INIT_MODULE_SUBST], [dnl AC_SUBST([$5][_MODULE_NAME], ['$1']) AC_SUBST([$5][_VERSION], ['$2']) m4_ifval([$4], [AC_SUBST([$5][_API_VERSION], ['$4']) ])[]dnl _MM_INIT_MODULE_VERSION([$3], [$5], m4_bpatsubst([$2], [[^0123456789]+], [,]))[]dnl ]) m4_define([_MM_INIT_MODULE_BASENAME], [_MM_INIT_MODULE_SUBST([$1], [$2], [$3], [$4], m4_quote(AS_TR_CPP(m4_quote(m4_translit([$3], [+], [X])))))]) AC_DEFUN([MM_INIT_MODULE], [dnl m4_assert([$# >= 1])[]dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([MM_CHECK_GNU_MAKE])[]dnl _MM_INIT_MODULE_BASENAME([$1], m4_quote(m4_ifval([$2], [$2], m4_defn([AC_PACKAGE_VERSION]))), m4_quote(m4_bpatsubst([$1], [[-.0123456789]+$])), m4_quote(m4_bregexp([$1], [-?\([.0123456789]+\)$], [\1])))[]dnl ]) #serial 20090822 m4_define([_MM_CHECK_GNU_MAKE], [dnl AC_PROVIDE([$0])[]dnl AC_MSG_CHECKING([whether [$]{MAKE-make} supports GNU make features]) cat >conftest.make <<'_MMEOF' override reverse = [$](2)[$](subst ,, )[$](1) override result := [$](word 2,[$](call reverse,success,failure)) all: ; test '[$](result)' = success .PHONY: all _MMEOF AS_IF([[$]{MAKE-make} -f conftest.make >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [mm_gnu_make=yes], [mm_gnu_make=no]) rm -f conftest.make AC_MSG_RESULT([$mm_gnu_make]) AS_IF([test "x$mm_gnu_make" != xyes], [AC_MSG_FAILURE([[The GNU make program is required to build $PACKAGE_NAME.]])])[]dnl ]) AC_DEFUN([MM_CHECK_GNU_MAKE], [dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([_MM_CHECK_GNU_MAKE])[]dnl ]) m4_define([_MM_PATH_PERL], [dnl AC_PROVIDE([$0])[]dnl AC_ARG_VAR([PERL], [path to Perl interpreter])[]dnl AC_PATH_PROG([PERL], [perl], [perl])[]dnl ]) AC_DEFUN([MM_PATH_PERL], [dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([_MM_PATH_PERL])[]dnl ]) m4_define([_MM_CHECK_PERL], [dnl AS_IF([$PERL -e "require v$1; exit 0;" >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [$2], m4_ifval([$2$3], [[$3]], [[AC_MSG_FAILURE([[At least Perl ]$1[ is required to build $PACKAGE_NAME.]])]]))[]dnl ]) AC_DEFUN([MM_CHECK_PERL], [dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([_MM_PATH_PERL])[]dnl _MM_CHECK_PERL(m4_ifval([$1], [[$1]], [[5.6.0]]), [$2], [$3])[]dnl ]) AC_DEFUN([MM_PKG_CONFIG_SUBST], [dnl m4_assert([$# >= 2])[]dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([PKG_PROG_PKG_CONFIG])[]dnl AC_MSG_CHECKING([for $1]) dnl AS_IF([test -z "[$]{$1+set}"], [$1=`$PKG_CONFIG $2 2>&AS_MESSAGE_LOG_FD` AS_IF([test "[$]?" -eq 0], [$3], [$4])]) dnl AC_MSG_RESULT([[$]$1]) AC_SUBST([$1])[]dnl ]) #serial 20091103 m4_define([_MM_ARG_ENABLE_WARNINGS_OPTION], [dnl AC_PROVIDE([$0])[]dnl AC_ARG_ENABLE([warnings], [AS_HELP_STRING([[--enable-warnings[=min|max|fatal|no]]], [set compiler pedantry level [default=min]])], [mm_enable_warnings=$enableval], [mm_enable_warnings=min])[]dnl ]) AC_DEFUN([MM_ARG_ENABLE_WARNINGS], [dnl m4_assert([$# >= 3])[]dnl AC_REQUIRE([_MM_PRE_INIT])[]dnl AC_REQUIRE([_MM_ARG_ENABLE_WARNINGS_OPTION])[]dnl dnl AS_CASE([$ac_compile], [[*'$CXXFLAGS '*]], [mm_lang='C++' mm_cc=$CXX mm_conftest="conftest.[$]{ac_ext-cc}"], [[*'$CFLAGS '*]], [mm_lang=C mm_cc=$CC mm_conftest="conftest.[$]{ac_ext-c}"], [AC_MSG_ERROR([[current language is neither C nor C++]])]) dnl AC_MSG_CHECKING([which $mm_lang compiler warning flags to use]) m4_ifval([$4], [mm_deprecation_flags= ])mm_tested_flags= dnl AS_CASE([$mm_enable_warnings], [no], [mm_warning_flags=], [max], [mm_warning_flags="$3"], [fatal], [mm_warning_flags="$3 -Werror"[]m4_ifval([$4], [ for mm_prefix in $4 do mm_deprecation_flags="$mm_deprecation_flags-D[$]{mm_prefix}_DISABLE_DEPRECATED " done])], [mm_warning_flags="$2"]) dnl AS_IF([test "x$mm_warning_flags" != x], [ # Keep in mind that the dummy source must be devoid of any # problems that might cause diagnostics. AC_LANG_CONFTEST([AC_LANG_SOURCE([[ int main(int argc, char** argv) { return (argv != 0) ? argc : 0; } ]])]) for mm_flag in $mm_warning_flags do # Test whether the compiler accepts the flag. Look at standard output, # since GCC only shows a warning message if an option is not supported. mm_cc_out=`$mm_cc $mm_tested_flags $mm_flag -c "$mm_conftest" 2>&1 || echo failed` rm -f "conftest.[$]{OBJEXT-o}" AS_IF([test "x$mm_cc_out" = x], [AS_IF([test "x$mm_tested_flags" = x], [mm_tested_flags=$mm_flag], [mm_tested_flags="$mm_tested_flags $mm_flag"])], [cat <<_MMEOF >&AS_MESSAGE_LOG_FD $mm_cc: $mm_cc_out _MMEOF ]) done rm -f "$mm_conftest" ]) mm_all_flags=m4_ifval([$4], [$mm_deprecation_flags])$mm_tested_flags AC_SUBST([$1], [$mm_all_flags]) dnl test "x$mm_all_flags" != x || mm_all_flags=none AC_MSG_RESULT([$mm_all_flags])[]dnl ]) m4_include([build/ax_boost_base.m4]) m4_include([build/ax_boost_unit_test_framework.m4]) m4_include([build/libtool.m4]) m4_include([build/ltoptions.m4]) m4_include([build/ltsugar.m4]) m4_include([build/ltversion.m4]) m4_include([build/lt~obsolete.m4]) m4_include([build/reduced.m4]) cairomm-1.10.0/PaxHeaders.11012/Makefile.in0000644000175000017500000000005011561716336016310 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/Makefile.in0000644000175000017500000010655111561716336016534 0ustar00murraycmurrayc00000000000000# Makefile.in generated by automake 1.10.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = README $(am__configure_deps) $(dist_noinst_DATA) \ $(dist_noinst_SCRIPTS) $(srcdir)/MSVC_Net2005/filelist.am \ $(srcdir)/MSVC_Net2008/filelist.am \ $(srcdir)/MSVC_Net2010/filelist.am $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/cairommconfig.h.in \ $(top_srcdir)/MSVC_Net2005/cairomm/cairomm.rc.in \ $(top_srcdir)/MSVC_Net2008/cairomm/cairomm.rc.in \ $(top_srcdir)/MSVC_Net2010/cairomm/cairomm.rc.in \ $(top_srcdir)/build/config.h.in $(top_srcdir)/configure \ $(top_srcdir)/data/cairomm-1.0.pc.in \ $(top_srcdir)/data/cairomm-ft-1.0.pc.in \ $(top_srcdir)/data/cairomm-pdf-1.0.pc.in \ $(top_srcdir)/data/cairomm-png-1.0.pc.in \ $(top_srcdir)/data/cairomm-ps-1.0.pc.in \ $(top_srcdir)/data/cairomm-quartz-1.0.pc.in \ $(top_srcdir)/data/cairomm-quartz-font-1.0.pc.in \ $(top_srcdir)/data/cairomm-quartz-image-1.0.pc.in \ $(top_srcdir)/data/cairomm-svg-1.0.pc.in \ $(top_srcdir)/data/cairomm-win32-1.0.pc.in \ $(top_srcdir)/data/cairomm-win32-font-1.0.pc.in \ $(top_srcdir)/data/cairomm-xlib-1.0.pc.in \ $(top_srcdir)/data/cairomm-xlib-xrender-1.0.pc.in \ $(top_srcdir)/docs/reference/Doxyfile.in AUTHORS COPYING \ ChangeLog INSTALL NEWS build/config.guess build/config.sub \ build/depcomp build/install-sh build/ltmain.sh build/missing subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/ax_boost_base.m4 \ $(top_srcdir)/build/ax_boost_unit_test_framework.m4 \ $(top_srcdir)/build/libtool.m4 \ $(top_srcdir)/build/ltoptions.m4 \ $(top_srcdir)/build/ltsugar.m4 \ $(top_srcdir)/build/ltversion.m4 \ $(top_srcdir)/build/lt~obsolete.m4 \ $(top_srcdir)/build/reduced.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/build/config.h cairommconfig.h CONFIG_CLEAN_FILES = docs/reference/Doxyfile data/cairomm-1.0.pc \ data/cairomm-ft-1.0.pc data/cairomm-pdf-1.0.pc \ data/cairomm-png-1.0.pc data/cairomm-ps-1.0.pc \ data/cairomm-quartz-1.0.pc data/cairomm-quartz-font-1.0.pc \ data/cairomm-quartz-image-1.0.pc data/cairomm-svg-1.0.pc \ data/cairomm-win32-1.0.pc data/cairomm-win32-font-1.0.pc \ data/cairomm-xlib-1.0.pc data/cairomm-xlib-xrender-1.0.pc \ MSVC_Net2005/cairomm/cairomm.rc \ MSVC_Net2008/cairomm/cairomm.rc \ MSVC_Net2010/cairomm/cairomm.rc SCRIPTS = $(dist_noinst_SCRIPTS) SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(pkgconfigdir)" \ "$(DESTDIR)$(cairomm_libincludedir)" nodist_pkgconfigDATA_INSTALL = $(INSTALL_DATA) DATA = $(dist_noinst_DATA) $(nodist_pkgconfig_DATA) nodist_cairomm_libincludeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(nodist_cairomm_libinclude_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = cairomm examples tests docs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ACLOCAL_FLAGS = @ACLOCAL_FLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_LDFLAGS = @BOOST_LDFLAGS@ BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@ BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB = @BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB@ CAIROMM_API_VERSION = @CAIROMM_API_VERSION@ CAIROMM_CFLAGS = @CAIROMM_CFLAGS@ CAIROMM_INSTALL_PC = @CAIROMM_INSTALL_PC@ CAIROMM_LIBS = @CAIROMM_LIBS@ CAIROMM_MAJOR_VERSION = @CAIROMM_MAJOR_VERSION@ CAIROMM_MICRO_VERSION = @CAIROMM_MICRO_VERSION@ CAIROMM_MINOR_VERSION = @CAIROMM_MINOR_VERSION@ CAIROMM_MODULES = @CAIROMM_MODULES@ CAIROMM_MODULE_NAME = @CAIROMM_MODULE_NAME@ CAIROMM_SO_VERSION = @CAIROMM_SO_VERSION@ CAIROMM_VERSION = @CAIROMM_VERSION@ CAIROMM_WXXFLAGS = @CAIROMM_WXXFLAGS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DOCINSTALL_FLAGS = @DOCINSTALL_FLAGS@ DOT = @DOT@ DOXYGEN = @DOXYGEN@ DOXYGEN_TAGFILES = @DOXYGEN_TAGFILES@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MMDOCTOOLDIR = @MMDOCTOOLDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XSLTPROC = @XSLTPROC@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS} DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=max @ENABLE_DOCUMENTATION_FALSE@doc_subdirs = @ENABLE_DOCUMENTATION_TRUE@doc_subdirs = docs SUBDIRS = cairomm examples tests $(doc_subdirs) cairomm_libincludedir = $(libdir)/$(CAIROMM_MODULE_NAME)/include nodist_cairomm_libinclude_HEADERS = cairommconfig.h pkgconfigdir = $(libdir)/pkgconfig nodist_pkgconfig_DATA = $(CAIROMM_INSTALL_PC) msvc_net2005_data = README \ blank.cpp \ cairomm.sln \ gendef/gendef.vcproj \ gendef/gendef.cc \ cairomm/cairommconfig.h \ cairomm/cairomm.rc \ cairomm/cairomm.vcproj \ examples/image-surface/image-surface.vcproj \ examples/pdf-surface/pdf-surface.vcproj \ examples/ps-surface/ps-surface.vcproj \ examples/svg-surface/svg-surface.vcproj \ examples/text-rotate/text-rotate.vcproj \ examples/toy-text/toy-text.vcproj \ examples/user-font/user-font.vcproj msvc_net2008_data = README \ blank.cpp \ cairomm.sln \ gendef/gendef.vcproj \ gendef/gendef.cc \ cairomm/cairommconfig.h \ cairomm/cairomm.rc \ cairomm/cairomm.vcproj \ examples/image-surface/image-surface.vcproj \ examples/pdf-surface/pdf-surface.vcproj \ examples/ps-surface/ps-surface.vcproj \ examples/svg-surface/svg-surface.vcproj \ examples/text-rotate/text-rotate.vcproj \ examples/toy-text/toy-text.vcproj \ examples/user-font/user-font.vcproj msvc_net2010_data = README \ cairomm.sln \ gendef/gendef.vcxproj \ gendef/gendef.vcxproj.filters \ gendef/gendef.cc \ cairomm/cairommconfig.h \ cairomm/cairomm.rc \ cairomm/cairomm.vcxproj \ cairomm/cairomm.vcxproj.filters \ examples/image-surface/image-surface.vcxproj \ examples/image-surface/image-surface.vcxproj.filters \ examples/pdf-surface/pdf-surface.vcxproj \ examples/pdf-surface/pdf-surface.vcxproj.filters \ examples/ps-surface/ps-surface.vcxproj \ examples/ps-surface/ps-surface.vcxproj.filters \ examples/svg-surface/svg-surface.vcxproj \ examples/svg-surface/svg-surface.vcxproj.filters \ examples/text-rotate/text-rotate.vcxproj \ examples/text-rotate/text-rotate.vcxproj.filters \ examples/toy-text/toy-text.vcxproj \ examples/toy-text/toy-text.vcxproj.filters \ examples/user-font/user-font.vcxproj \ examples/user-font/user-font.vcxproj.filters msvc_files = $(addprefix MSVC_Net2005/,$(msvc_net2005_data)) \ $(addprefix MSVC_Net2008/,$(msvc_net2008_data)) \ $(addprefix MSVC_Net2010/,$(msvc_net2010_data)) dist_noinst_DATA = MAINTAINERS $(msvc_files) dist_noinst_SCRIPTS = autogen.sh DISTCLEANFILES = MSVC_Net2005/cairomm/cairommconfig.h MSVC_Net2008/cairomm/cairommconfig.h MSVC_Net2010/cairomm/cairommconfig.h # Copied from cairo/Makefile.am: # # Some custom targets to make it easier to release things. # Use either: # make release-check # or make release-publish RELEASE_UPLOAD_HOST = cairographics.org RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases RELEASE_URL_BASE = http://cairographics.org/releases RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org) GIT = $(top_srcdir)/build/missing --run git tar_file = $(PACKAGE)-$(VERSION).tar.gz sha1_file = $(tar_file).sha1 gpg_file = $(sha1_file).asc all: cairommconfig.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/MSVC_Net2005/filelist.am $(srcdir)/MSVC_Net2008/filelist.am $(srcdir)/MSVC_Net2010/filelist.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) build/config.h: build/stamp-h1 @if test ! -f $@; then \ rm -f build/stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) build/stamp-h1; \ else :; fi build/stamp-h1: $(top_srcdir)/build/config.h.in $(top_builddir)/config.status @rm -f build/stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status build/config.h $(top_srcdir)/build/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f build/stamp-h1 touch $@ cairommconfig.h: stamp-h2 @if test ! -f $@; then \ rm -f stamp-h2; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h2; \ else :; fi stamp-h2: $(srcdir)/cairommconfig.h.in $(top_builddir)/config.status @rm -f stamp-h2 cd $(top_builddir) && $(SHELL) ./config.status cairommconfig.h distclean-hdr: -rm -f build/config.h build/stamp-h1 cairommconfig.h stamp-h2 docs/reference/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/docs/reference/Doxyfile.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-ft-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-ft-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-pdf-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-pdf-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-png-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-png-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-ps-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-ps-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-quartz-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-quartz-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-quartz-font-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-quartz-font-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-quartz-image-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-quartz-image-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-svg-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-svg-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-win32-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-win32-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-win32-font-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-win32-font-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-xlib-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-xlib-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ data/cairomm-xlib-xrender-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/data/cairomm-xlib-xrender-1.0.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ MSVC_Net2005/cairomm/cairomm.rc: $(top_builddir)/config.status $(top_srcdir)/MSVC_Net2005/cairomm/cairomm.rc.in cd $(top_builddir) && $(SHELL) ./config.status $@ MSVC_Net2008/cairomm/cairomm.rc: $(top_builddir)/config.status $(top_srcdir)/MSVC_Net2008/cairomm/cairomm.rc.in cd $(top_builddir) && $(SHELL) ./config.status $@ MSVC_Net2010/cairomm/cairomm.rc: $(top_builddir)/config.status $(top_srcdir)/MSVC_Net2010/cairomm/cairomm.rc.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-nodist_pkgconfigDATA: $(nodist_pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(nodist_pkgconfig_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(nodist_pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ $(nodist_pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done uninstall-nodist_pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(nodist_pkgconfig_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done install-nodist_cairomm_libincludeHEADERS: $(nodist_cairomm_libinclude_HEADERS) @$(NORMAL_INSTALL) test -z "$(cairomm_libincludedir)" || $(MKDIR_P) "$(DESTDIR)$(cairomm_libincludedir)" @list='$(nodist_cairomm_libinclude_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(nodist_cairomm_libincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(cairomm_libincludedir)/$$f'"; \ $(nodist_cairomm_libincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(cairomm_libincludedir)/$$f"; \ done uninstall-nodist_cairomm_libincludeHEADERS: @$(NORMAL_UNINSTALL) @list='$(nodist_cairomm_libinclude_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(cairomm_libincludedir)/$$f'"; \ rm -f "$(DESTDIR)$(cairomm_libincludedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) cairommconfig.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) cairommconfig.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) cairommconfig.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) cairommconfig.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done -find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(SCRIPTS) $(DATA) $(HEADERS) cairommconfig.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(cairomm_libincludedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-nodist_cairomm_libincludeHEADERS \ install-nodist_pkgconfigDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-nodist_cairomm_libincludeHEADERS \ uninstall-nodist_pkgconfigDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man \ install-nodist_cairomm_libincludeHEADERS \ install-nodist_pkgconfigDATA install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am \ uninstall-nodist_cairomm_libincludeHEADERS \ uninstall-nodist_pkgconfigDATA $(sha1_file): $(tar_file) sha1sum $^ > $@ $(gpg_file): $(sha1_file) @echo "Please enter your GPG password to sign the checksum." gpg --armor --sign $^ release-verify-even-micro: @echo -n "Checking that $(PACKAGE_VERSION) has an even micro component..." @test "$(GENERIC_MICRO_VERSION)" = "`echo $(GENERIC_MICRO_VERSION)/2*2 | bc`" \ || (echo "Ouch." && echo "The version micro component '$(GENERIC_MICRO_VERSION)' is not an even number." \ && echo "The version in configure.in must be incremented before a new release." \ && false) @echo "Good." release-verify-newer: @echo -n "Checking that no $(PACKAGE_VERSION) release already exists..." @ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \ || (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \ && echo "Are you sure you have an updated git checkout?" \ && echo "This should never happen." \ && false) @echo "Good." release-remove-old: rm -f $(tar_file) $(sha1_file) $(gpg_file) # Maybe it's just my system, but somehow group sticky bits keep # getting set and this causes failures in un-tarring on some systems. # Until I figure out where the sticky bit is coming from, just clean # these up before building a release. release-cleanup-group-sticky: find . -type f | xargs chmod g-s release-check: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky distcheck release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) mkdir -p releases scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR) mv $(tar_file) $(sha1_file) $(gpg_file) releases ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)" $(GIT) tag -s -m "$(PACKAGE) release $(PACKAGE_VERSION)" v$(PACKAGE_VERSION) # TODO: Had to remove the doc-publish target for now. release-publish: release-upload releases/$(sha1_file) @echo "" @echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)" @echo "including the following:" @echo "" @echo "Subject: $(PACKAGE) release $(PACKAGE_VERSION) now available" @echo "" @echo "============================== CUT HERE ==============================" @echo "cairomm is a C++ API for the cairo graphics library. For more " @echo "information, see http://cairographics.org/cairomm" @echo "" @echo "A new $(PACKAGE) release $(PACKAGE_VERSION) is now available from:" @echo "" @echo " $(RELEASE_URL_BASE)/$(tar_file)" @echo "" @echo " which can be verified with:" @echo "" @echo " $(RELEASE_URL_BASE)/$(sha1_file)" @echo -n " " @cat releases/$(sha1_file) @echo "" @echo " $(RELEASE_URL_BASE)/$(gpg_file)" @echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)" @echo "" @echo "WHAT'S NEW" @echo "==========" @echo "" @echo "============================== CUT HERE ==============================" @echo "Also, please include the new entries from the NEWS file." @echo "" @echo "Last but not least, do not forget to bump up the micro" @echo "version component to the next (odd) number and commit." .PHONY: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky release-check release-upload release-publish # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: cairomm-1.10.0/PaxHeaders.11012/MSVC_Net20100000644000175000017500000000005011561716652016050 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/0000755000175000017500000000000011561716652016341 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/PaxHeaders.11012/filelist.am0000644000175000017500000000005011561715437020257 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/filelist.am0000644000175000017500000000247211561715437020500 0ustar00murraycmurrayc00000000000000## This file is part of cairomm msvc_net2010_data = README \ cairomm.sln \ gendef/gendef.vcxproj \ gendef/gendef.vcxproj.filters \ gendef/gendef.cc \ cairomm/cairommconfig.h \ cairomm/cairomm.rc \ cairomm/cairomm.vcxproj \ cairomm/cairomm.vcxproj.filters \ examples/image-surface/image-surface.vcxproj \ examples/image-surface/image-surface.vcxproj.filters \ examples/pdf-surface/pdf-surface.vcxproj \ examples/pdf-surface/pdf-surface.vcxproj.filters \ examples/ps-surface/ps-surface.vcxproj \ examples/ps-surface/ps-surface.vcxproj.filters \ examples/svg-surface/svg-surface.vcxproj \ examples/svg-surface/svg-surface.vcxproj.filters \ examples/text-rotate/text-rotate.vcxproj \ examples/text-rotate/text-rotate.vcxproj.filters \ examples/toy-text/toy-text.vcxproj \ examples/toy-text/toy-text.vcxproj.filters \ examples/user-font/user-font.vcxproj \ examples/user-font/user-font.vcxproj.filters cairomm-1.10.0/MSVC_Net2010/PaxHeaders.11012/README0000644000175000017500000000005011561715437017005 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/README0000644000175000017500000000110511561715437017216 0ustar00murraycmurrayc00000000000000Building cairomm-1.0 with Visual Studio .NET 2010 * You will need Visual Studio 2010 (MSVC 10.0). See the MSVC_Net2005 folder for building with Visual Studio .NET 2005 (MSVC 8.0) or the MSVC_Net2008 folder for building with Visual Studio .NET 2008 (MSVC 9.0). * Install the latest Win32 GTK+ Development files from ftp://ftp.gnome.org/pub/GNOME/binaries/win32/gtk+/ and add the paths to headers and import libraries to Visual Studio * Load the MSVC_Net2010/cairomm.sln solution. * Build the entire solution. * Run the tests. Cedric Gustin 08/18/2006 Armin Burgmeier 09/29/2010 cairomm-1.10.0/MSVC_Net2010/PaxHeaders.11012/gendef0000644000175000017500000000005011561716652017300 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/gendef/0000755000175000017500000000000011561716652017571 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/gendef/PaxHeaders.11012/gendef.cc0000644000175000017500000000005011561715437021114 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/gendef/gendef.cc0000644000175000017500000000520211561715437021327 0ustar00murraycmurrayc00000000000000/* * MICO --- an Open Source CORBA implementation * Copyright (c) 2003 Harald Böhme * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * For more information, visit the MICO Home Page at * http://www.mico.org/ */ /* Modified by Cedric Gustin on 2006/01/13 : * Redirect the output of dumpbin to dumpbin.out instead of reading the * output stream of popen, as it fails with Visual Studio 2005 in * pre-link build events. */ #include #include #include using namespace std; int main(int argc,char** argv) { if (argc < 4) { cerr << "Usage: " << argv[0] << " ...." << endl; return 2; } // CG : Explicitly redirect stdout to dumpbin.out. string dumpbin = "dumpbin /SYMBOLS /OUT:dumpbin.out"; int i = 3; for(;i fct def_file << " " << (s+1) << endl; else if(strchr(s,'?')!=0 && strncmp(s,"??_G",4)!=0 && strncmp(s,"??_E",4)!=0) { def_file << " " << s << endl; } } } } // CG : Close dumpbin.out and delete it. fclose(dump); remove("dumpbin.out"); cout << dumpbin.c_str() << endl; } cairomm-1.10.0/MSVC_Net2010/gendef/PaxHeaders.11012/gendef.vcxproj0000644000175000017500000000005011561715437022222 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/gendef/gendef.vcxproj0000644000175000017500000002261711561715437022446 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 {07324745-C9BE-4D65-B08A-9C88188C0C28} Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false false $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false false Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug Level3 EditAndContinue $(OutDir)gendef.exe true $(OutDir)$(TargetName).pdb Console false MachineX86 WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded Level3 ProgramDatabase $(OutDir)gendef.exe true Console true true false MachineX86 X64 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug Level3 ProgramDatabase $(OutDir)gendef.exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded Level3 ProgramDatabase $(OutDir)gendef.exe true Console true true false MachineX64 cairomm-1.10.0/MSVC_Net2010/gendef/PaxHeaders.11012/gendef.vcxproj.filters0000644000175000017500000000005011561715437023671 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/gendef/gendef.vcxproj.filters0000644000175000017500000000160411561715437024106 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/PaxHeaders.11012/cairomm.sln0000644000175000017500000000005011561715437020272 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/cairomm.sln0000644000175000017500000001636311561715437020517 0ustar00murraycmurrayc00000000000000Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendef", "gendef\gendef.vcxproj", "{07324745-C9BE-4D65-B08A-9C88188C0C28}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cairomm-1.0", "cairomm\cairomm.vcxproj", "{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_pdf-surface", "examples\pdf-surface\pdf-surface.vcxproj", "{129ECC08-6D30-4884-B824-4AF96EF0A45C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_ps-surface", "examples\ps-surface\ps-surface.vcxproj", "{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_svg-surface", "examples\svg-surface\svg-surface.vcxproj", "{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_text-rotate", "examples\text-rotate\text-rotate.vcxproj", "{F4D455E4-464D-49CC-A120-DB9B8AE0207E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_image-surface", "examples\image-surface\image-surface.vcxproj", "{7A33DBC5-A523-4E9C-8E13-792AE3B91055}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_toy-text", "examples\toy-text\toy-text.vcxproj", "{6B6E3E73-0605-41E0-B7F9-1C62BBF92731}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_user-font", "examples\user-font\user-font.vcxproj", "{E7C7C350-509B-4091-8929-62E47818C254}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.ActiveCfg = Debug|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.Build.0 = Debug|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|x64.ActiveCfg = Debug|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|x64.Build.0 = Debug|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.ActiveCfg = Release|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.Build.0 = Release|Win32 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|x64.ActiveCfg = Release|x64 {07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|x64.Build.0 = Release|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.ActiveCfg = Debug|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.Build.0 = Debug|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|x64.ActiveCfg = Debug|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|x64.Build.0 = Debug|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.ActiveCfg = Release|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.Build.0 = Release|Win32 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|x64.ActiveCfg = Release|x64 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|x64.Build.0 = Release|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.ActiveCfg = Debug|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.Build.0 = Debug|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|x64.ActiveCfg = Debug|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|x64.Build.0 = Debug|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.ActiveCfg = Release|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.Build.0 = Release|Win32 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|x64.ActiveCfg = Release|x64 {129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|x64.Build.0 = Release|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.ActiveCfg = Debug|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.Build.0 = Debug|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|x64.ActiveCfg = Debug|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|x64.Build.0 = Debug|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.ActiveCfg = Release|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.Build.0 = Release|Win32 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|x64.ActiveCfg = Release|x64 {CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|x64.Build.0 = Release|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.ActiveCfg = Debug|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.Build.0 = Debug|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|x64.ActiveCfg = Debug|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|x64.Build.0 = Debug|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.ActiveCfg = Release|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.Build.0 = Release|Win32 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|x64.ActiveCfg = Release|x64 {BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|x64.Build.0 = Release|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.ActiveCfg = Debug|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.Build.0 = Debug|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|x64.ActiveCfg = Debug|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|x64.Build.0 = Debug|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.ActiveCfg = Release|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.Build.0 = Release|Win32 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|x64.ActiveCfg = Release|x64 {F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|x64.Build.0 = Release|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|Win32.ActiveCfg = Debug|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|Win32.Build.0 = Debug|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|x64.ActiveCfg = Debug|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Debug|x64.Build.0 = Debug|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|Win32.ActiveCfg = Release|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|Win32.Build.0 = Release|Win32 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|x64.ActiveCfg = Release|x64 {7A33DBC5-A523-4E9C-8E13-792AE3B91055}.Release|x64.Build.0 = Release|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|Win32.ActiveCfg = Debug|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|Win32.Build.0 = Debug|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|x64.ActiveCfg = Debug|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Debug|x64.Build.0 = Debug|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|Win32.ActiveCfg = Release|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|Win32.Build.0 = Release|Win32 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|x64.ActiveCfg = Release|x64 {6B6E3E73-0605-41E0-B7F9-1C62BBF92731}.Release|x64.Build.0 = Release|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|Win32.ActiveCfg = Debug|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|Win32.Build.0 = Debug|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|x64.ActiveCfg = Debug|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Debug|x64.Build.0 = Debug|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Release|Win32.ActiveCfg = Release|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Release|Win32.Build.0 = Release|Win32 {E7C7C350-509B-4091-8929-62E47818C254}.Release|x64.ActiveCfg = Release|x64 {E7C7C350-509B-4091-8929-62E47818C254}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal cairomm-1.10.0/MSVC_Net2010/PaxHeaders.11012/cairomm0000644000175000017500000000005011561716652017477 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/cairomm/0000755000175000017500000000000011561716652017770 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/cairomm/PaxHeaders.11012/cairommconfig.h0000644000175000017500000000005011561716342022536 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/cairomm/cairommconfig.h0000644000175000017500000000067011561716342022755 0ustar00murraycmurrayc00000000000000/* cairommconfig.h. Generated from cairommconfig.h.in by configure. */ /* This file is part of cairomm. */ /* Defined when the --enable-api-exceptions configure argument was given */ #define CAIROMM_EXCEPTIONS_ENABLED 1 /* Major version number of cairomm. */ #define CAIROMM_MAJOR_VERSION 1 /* Minor version number of cairomm. */ #define CAIROMM_MINOR_VERSION 10 /* Micro version number of cairomm. */ #define CAIROMM_MICRO_VERSION 0 cairomm-1.10.0/MSVC_Net2010/cairomm/PaxHeaders.11012/cairomm.rc.in0000644000175000017500000000005011561715437022136 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/cairomm/cairomm.rc.in0000644000175000017500000000273611561715437022362 0ustar00murraycmurrayc00000000000000 #define APSTUDIO_READONLY_SYMBOLS #include #undef APSTUDIO_READONLY_SYMBOLS #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED 1 TEXTINCLUDE BEGIN "resource.h\0" END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1 PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "The cairomm development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for cairo" VALUE "FileVersion", "@VERSION@" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "cairomm-1.0" VALUE "ProductName", "cairomm" VALUE "ProductVersion", "@VERSION@" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // English (U.S.) resources #ifndef APSTUDIO_INVOKED #endif // not APSTUDIO_INVOKED cairomm-1.10.0/MSVC_Net2010/cairomm/PaxHeaders.11012/cairomm.rc0000644000175000017500000000005011561716342021525 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/cairomm/cairomm.rc0000644000175000017500000000252611561716342021746 0ustar00murraycmurrayc00000000000000 #define APSTUDIO_READONLY_SYMBOLS #include #undef APSTUDIO_READONLY_SYMBOLS #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED 1 TEXTINCLUDE BEGIN "resource.h\0" END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO FILEVERSION 1,10,0,1 PRODUCTVERSION 1,10,0,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "The cairomm development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for cairo" VALUE "FileVersion", "1.10.0" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "cairomm-1.0" VALUE "ProductName", "cairomm" VALUE "ProductVersion", "1.10.0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // English (U.S.) resources #ifndef APSTUDIO_INVOKED #endif // not APSTUDIO_INVOKED cairomm-1.10.0/MSVC_Net2010/cairomm/PaxHeaders.11012/cairomm.vcxproj0000644000175000017500000000005011561715437022620 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/cairomm/cairomm.vcxproj0000644000175000017500000003364511561715437023047 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 cairomm-1.0 {58B2B53C-C4FF-47FD-817B-095E45B7F7D4} glibmm Win32Proj DynamicLibrary MultiByte DynamicLibrary MultiByte DynamicLibrary MultiByte DynamicLibrary MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true cairomm-vc100-1_0 cairomm-vc100-1_0 cairomm-vc100-d-1_0 cairomm-vc100-d-1_0 Disabled .;../..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_USRDLL;CAIROMM_BUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue Generate cairomm def file $(SolutionDir)gendef\$(Platform)\$(Configuration)\gendef $(Platform)\$(Configuration)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj cairo.lib;sigc-vc100-d-2_0.lib;%(AdditionalDependencies) $(OutDir)cairomm-vc100-d-1_0.dll $(Platform)\$(Configuration)\$(ProjectName).def true false .;../..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;CAIROMM_BUILD;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase Generate cairomm def file $(SolutionDir)gendef\$(Platform)\$(Configuration)\gendef $(Platform)\$(Configuration)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj cairo.lib;sigc-vc100-2_0.lib;%(AdditionalDependencies) $(OutDir)cairomm-vc100-1_0.dll $(Platform)\$(Configuration)\$(ProjectName).def false X64 Disabled .;../..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_USRDLL;CAIROMM_BUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase Generate cairomm def file $(SolutionDir)gendef\$(Platform)\$(Configuration)\gendef $(Platform)\$(Configuration)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj cairo.lib;sigc-vc100-d-2_0.lib;%(AdditionalDependencies) $(OutDir)cairomm-vc100-d-1_0.dll $(Platform)\$(Configuration)\$(ProjectName).def true false MachineX64 X64 .;../..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;CAIROMM_BUILD;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase Generate cairomm def file $(SolutionDir)gendef\$(Platform)\$(Configuration)\gendef $(Platform)\$(Configuration)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj cairo.lib;sigc-vc100-2_0.lib;%(AdditionalDependencies) $(OutDir)cairomm-vc100-1_0.dll $(Platform)\$(Configuration)\$(ProjectName).def false MachineX64 {07324745-c9be-4d65-b08a-9c88188c0c28} false cairomm-1.10.0/MSVC_Net2010/cairomm/PaxHeaders.11012/cairomm.vcxproj.filters0000644000175000017500000000005011561715437024267 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/cairomm/cairomm.vcxproj.filters0000644000175000017500000001075111561715437024507 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Source Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Header Files Resource Files cairomm-1.10.0/MSVC_Net2010/PaxHeaders.11012/examples0000644000175000017500000000005011561716652017666 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/0000755000175000017500000000000011561716652020157 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/PaxHeaders.11012/ps-surface0000644000175000017500000000005011561716652021736 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/ps-surface/0000755000175000017500000000000011561716652022227 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/ps-surface/PaxHeaders.11012/ps-surface.vcxproj.filters0000644000175000017500000000005011561715437027147 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj.filters0000644000175000017500000000164311561715437027367 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/examples/ps-surface/PaxHeaders.11012/ps-surface.vcxproj0000644000175000017500000000005011561715437025500 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj0000644000175000017500000002561311561715437025723 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 examples_ps-surface {CAE46373-7375-4607-AAB7-0EBA8F0E5B55} examples_dispatcher Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX86 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX86 X64 Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX64 {58b2b53c-c4ff-47fd-817b-095e45b7f7d4} false cairomm-1.10.0/MSVC_Net2010/examples/PaxHeaders.11012/pdf-surface0000644000175000017500000000005011561716652022065 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/pdf-surface/0000755000175000017500000000000011561716652022356 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/pdf-surface/PaxHeaders.11012/pdf-surface.vcxproj0000644000175000017500000000005011561715437025756 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj0000644000175000017500000002561511561715437026203 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 examples_pdf-surface {129ECC08-6D30-4884-B824-4AF96EF0A45C} examples_dispatcher Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX86 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX86 X64 Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX64 {58b2b53c-c4ff-47fd-817b-095e45b7f7d4} false cairomm-1.10.0/MSVC_Net2010/examples/pdf-surface/PaxHeaders.11012/pdf-surface.vcxproj.filters0000644000175000017500000000005011561715437027425 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj.filters0000644000175000017500000000164411561715437027646 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/examples/PaxHeaders.11012/svg-surface0000644000175000017500000000005011561716652022113 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/svg-surface/0000755000175000017500000000000011561716652022404 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/svg-surface/PaxHeaders.11012/svg-surface.vcxproj.filters0000644000175000017500000000005011561715437027501 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj.filters0000644000175000017500000000164411561715437027722 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/examples/svg-surface/PaxHeaders.11012/svg-surface.vcxproj0000644000175000017500000000005011561715437026032 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj0000644000175000017500000002561511561715437026257 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 examples_svg-surface {BCA44D2B-1832-41F5-9EE9-FE1F709EE584} examples_dispatcher Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX86 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX86 X64 Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX64 {58b2b53c-c4ff-47fd-817b-095e45b7f7d4} false cairomm-1.10.0/MSVC_Net2010/examples/PaxHeaders.11012/text-rotate0000644000175000017500000000005011561716652022146 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/text-rotate/0000755000175000017500000000000011561716652022437 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/text-rotate/PaxHeaders.11012/text-rotate.vcxproj0000644000175000017500000000005011561715437026120 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj0000644000175000017500000002561111561715437026341 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 examples_text-rotate {F4D455E4-464D-49CC-A120-DB9B8AE0207E} examples_dispatcher Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX86 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX86 X64 Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX64 {58b2b53c-c4ff-47fd-817b-095e45b7f7d4} false cairomm-1.10.0/MSVC_Net2010/examples/text-rotate/PaxHeaders.11012/text-rotate.vcxproj.filters0000644000175000017500000000005011561715437027567 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj.filters0000644000175000017500000000164011561715437030004 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/examples/PaxHeaders.11012/image-surface0000644000175000017500000000005011561716652022376 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/image-surface/0000755000175000017500000000000011561716652022667 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/image-surface/PaxHeaders.11012/image-surface.vcxproj0000644000175000017500000000005011561715437026600 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/image-surface/image-surface.vcxproj0000644000175000017500000002562111561715437027022 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 examples_image-surface {7A33DBC5-A523-4E9C-8E13-792AE3B91055} examples_dispatcher Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX86 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX86 X64 Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX64 {58b2b53c-c4ff-47fd-817b-095e45b7f7d4} false cairomm-1.10.0/MSVC_Net2010/examples/image-surface/PaxHeaders.11012/image-surface.vcxproj.filters0000644000175000017500000000005011561715437030247 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/image-surface/image-surface.vcxproj.filters0000644000175000017500000000164611561715437030472 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/examples/PaxHeaders.11012/toy-text0000644000175000017500000000005011561716652021463 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/toy-text/0000755000175000017500000000000011561716652021754 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/toy-text/PaxHeaders.11012/toy-text.vcxproj.filters0000644000175000017500000000005011561715437026421 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/toy-text/toy-text.vcxproj.filters0000644000175000017500000000163511561715437026642 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/examples/toy-text/PaxHeaders.11012/toy-text.vcxproj0000644000175000017500000000005011561715437024752 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/toy-text/toy-text.vcxproj0000644000175000017500000002571311561715437025176 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 examples_toy-text {6B6E3E73-0605-41E0-B7F9-1C62BBF92731} examples_dispatcher Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX86 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX86 X64 Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX64 {58b2b53c-c4ff-47fd-817b-095e45b7f7d4} false cairomm-1.10.0/MSVC_Net2010/examples/PaxHeaders.11012/user-font0000644000175000017500000000005011561716652021610 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/user-font/0000755000175000017500000000000011561716652022101 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/MSVC_Net2010/examples/user-font/PaxHeaders.11012/user-font.vcxproj.filters0000644000175000017500000000005011561715437026673 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/user-font/user-font.vcxproj.filters0000644000175000017500000000163611561715437027115 0ustar00murraycmurrayc00000000000000 {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx Source Files cairomm-1.10.0/MSVC_Net2010/examples/user-font/PaxHeaders.11012/user-font.vcxproj0000644000175000017500000000005011561715437025224 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/MSVC_Net2010/examples/user-font/user-font.vcxproj0000644000175000017500000002571511561715437025452 0ustar00murraycmurrayc00000000000000 Debug Win32 Debug x64 Release Win32 Release x64 examples_user-font {E7C7C350-509B-4091-8929-62E47818C254} examples_dispatcher Win32Proj Application MultiByte Application MultiByte Application MultiByte Application MultiByte <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ true true $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ false true Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 EditAndContinue cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX86 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX86 X64 Disabled $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe true $(OutDir)$(TargetName).pdb Console false MachineX64 X64 $(SolutionDir)\cairomm;$(SolutionDir)\..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_CONSOLE;_USE_MATH_DEFINES;%(PreprocessorDefinitions) MultiThreadedDLL true Level3 ProgramDatabase cairo.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe false Console true true false MachineX64 {58b2b53c-c4ff-47fd-817b-095e45b7f7d4} false cairomm-1.10.0/PaxHeaders.11012/Makefile.am0000644000175000017500000000005011561715437016300 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/Makefile.am0000644000175000017500000001300111561715437016507 0ustar00murraycmurrayc00000000000000## Copyright (c) 2009 Openismus GmbH ## ## This file is part of cairomm. ## ## cairomm is free software: you can redistribute it and/or modify it ## under the terms of the GNU Lesser General Public License as published ## by the Free Software Foundation, either version 2.1 of the License, ## or (at your option) any later version. ## ## cairomm is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## See the GNU Lesser General Public License for more details. ## ## You should have received a copy of the GNU Lesser General Public License ## along with this library. If not, see . ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS} DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=max if ENABLE_DOCUMENTATION doc_subdirs = docs else doc_subdirs = endif SUBDIRS = cairomm examples tests $(doc_subdirs) cairomm_libincludedir = $(libdir)/$(CAIROMM_MODULE_NAME)/include nodist_cairomm_libinclude_HEADERS = cairommconfig.h pkgconfigdir = $(libdir)/pkgconfig nodist_pkgconfig_DATA = $(CAIROMM_INSTALL_PC) include $(srcdir)/MSVC_Net2005/filelist.am include $(srcdir)/MSVC_Net2008/filelist.am include $(srcdir)/MSVC_Net2010/filelist.am msvc_files = $(addprefix MSVC_Net2005/,$(msvc_net2005_data)) \ $(addprefix MSVC_Net2008/,$(msvc_net2008_data)) \ $(addprefix MSVC_Net2010/,$(msvc_net2010_data)) dist_noinst_DATA = MAINTAINERS $(msvc_files) dist_noinst_SCRIPTS = autogen.sh DISTCLEANFILES = MSVC_Net2005/cairomm/cairommconfig.h MSVC_Net2008/cairomm/cairommconfig.h MSVC_Net2010/cairomm/cairommconfig.h # Copied from cairo/Makefile.am: # # Some custom targets to make it easier to release things. # Use either: # make release-check # or make release-publish RELEASE_UPLOAD_HOST = cairographics.org RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases RELEASE_URL_BASE = http://cairographics.org/releases RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org) GIT = $(top_srcdir)/build/missing --run git tar_file = $(PACKAGE)-$(VERSION).tar.gz sha1_file = $(tar_file).sha1 gpg_file = $(sha1_file).asc $(sha1_file): $(tar_file) sha1sum $^ > $@ $(gpg_file): $(sha1_file) @echo "Please enter your GPG password to sign the checksum." gpg --armor --sign $^ release-verify-even-micro: @echo -n "Checking that $(PACKAGE_VERSION) has an even micro component..." @test "$(GENERIC_MICRO_VERSION)" = "`echo $(GENERIC_MICRO_VERSION)/2*2 | bc`" \ || (echo "Ouch." && echo "The version micro component '$(GENERIC_MICRO_VERSION)' is not an even number." \ && echo "The version in configure.in must be incremented before a new release." \ && false) @echo "Good." release-verify-newer: @echo -n "Checking that no $(PACKAGE_VERSION) release already exists..." @ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \ || (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \ && echo "Are you sure you have an updated git checkout?" \ && echo "This should never happen." \ && false) @echo "Good." release-remove-old: rm -f $(tar_file) $(sha1_file) $(gpg_file) # Maybe it's just my system, but somehow group sticky bits keep # getting set and this causes failures in un-tarring on some systems. # Until I figure out where the sticky bit is coming from, just clean # these up before building a release. release-cleanup-group-sticky: find . -type f | xargs chmod g-s release-check: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky distcheck release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) mkdir -p releases scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR) mv $(tar_file) $(sha1_file) $(gpg_file) releases ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)" $(GIT) tag -s -m "$(PACKAGE) release $(PACKAGE_VERSION)" v$(PACKAGE_VERSION) # TODO: Had to remove the doc-publish target for now. release-publish: release-upload releases/$(sha1_file) @echo "" @echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)" @echo "including the following:" @echo "" @echo "Subject: $(PACKAGE) release $(PACKAGE_VERSION) now available" @echo "" @echo "============================== CUT HERE ==============================" @echo "cairomm is a C++ API for the cairo graphics library. For more " @echo "information, see http://cairographics.org/cairomm" @echo "" @echo "A new $(PACKAGE) release $(PACKAGE_VERSION) is now available from:" @echo "" @echo " $(RELEASE_URL_BASE)/$(tar_file)" @echo "" @echo " which can be verified with:" @echo "" @echo " $(RELEASE_URL_BASE)/$(sha1_file)" @echo -n " " @cat releases/$(sha1_file) @echo "" @echo " $(RELEASE_URL_BASE)/$(gpg_file)" @echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)" @echo "" @echo "WHAT'S NEW" @echo "==========" @echo "" @echo "============================== CUT HERE ==============================" @echo "Also, please include the new entries from the NEWS file." @echo "" @echo "Last but not least, do not forget to bump up the micro" @echo "version component to the next (odd) number and commit." .PHONY: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky release-check release-upload release-publish cairomm-1.10.0/PaxHeaders.11012/autogen.sh0000644000175000017500000000005011561715437016242 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/autogen.sh0000755000175000017500000000036611561715437016466 0ustar00murraycmurrayc00000000000000#! /bin/sh -e test -n "$srcdir" || srcdir=`dirname "$0"` test -n "$srcdir" || srcdir=. mm-common-prepare --force --copy "$srcdir" autoreconf --force --install "$srcdir" test -n "$NOCONFIGURE" || "$srcdir/configure" --enable-maintainer-mode "$@" cairomm-1.10.0/PaxHeaders.11012/build0000644000175000017500000000005011561716653015267 xustar000000000000000020 atime=1304927659 20 ctime=1304927659 cairomm-1.10.0/build/0000755000175000017500000000000011561716653015560 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/build/PaxHeaders.11012/missing0000644000175000017500000000005011561716335016735 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/missing0000755000175000017500000002634411561716335017165 0ustar00murraycmurrayc00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: cairomm-1.10.0/build/PaxHeaders.11012/ltsugar.m40000644000175000017500000000005011561716332017261 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/ltsugar.m40000644000175000017500000001042411561716332017476 0ustar00murraycmurrayc00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) cairomm-1.10.0/build/PaxHeaders.11012/ltmain.sh0000644000175000017500000000005011561716332017156 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/ltmain.sh0000755000175000017500000073341511561716332017412 0ustar00murraycmurrayc00000000000000# Generated from ltmain.m4sh. # ltmain.sh (GNU libtool) 2.2.6b # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print informational messages (default) # --version print version information # -h, --help print short or long help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . PROGRAM=ltmain.sh PACKAGE=libtool VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" TIMESTAMP="" package_revision=1.3017 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # NLS nuisances: We save the old values to restore during execute mode. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done $lt_unset CDPATH : ${CP="cp -f"} : ${ECHO="echo"} : ${EGREP="/bin/grep -E"} : ${FGREP="/bin/grep -F"} : ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # Generated shell functions inserted here. # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: # In the unlikely event $progname began with a '-', it would play havoc with # func_echo (imagine progname=-n), so we prepend ./ in that case: func_dirname_and_basename "$progpath" progname=$func_basename_result case $progname in -*) progname=./$progname ;; esac # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname${mode+: }$mode: $*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` done my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "X$my_tmpdir" | $Xsed } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "X$1" | $Xsed \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_version # Echo version message to standard output and exit. func_version () { $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $SED -n '/^# Usage:/,/# -h/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" $ECHO $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help # Echo long help message to standard output and exit. func_help () { $SED -n '/^# Usage:/,/# Report bugs to/ { s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ p }' < "$progpath" exit $? } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { func_error "missing argument for $1" exit_cmd=exit } exit_cmd=: # Check that we have a working $ECHO. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then # Yippee, $ECHO works! : else # Restart under the correct shell, and then maybe $ECHO will work. exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # Parse options once, thoroughly. This comes as soon as possible in # the script to make things like `libtool --version' happen quickly. { # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Parse non-mode specific arguments: while test "$#" -gt 0; do opt="$1" shift case $opt in --config) func_config ;; --debug) preserve_args="$preserve_args $opt" func_echo "enabling shell trace mode" opt_debug='set -x' $opt_debug ;; -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break execute_dlfiles="$execute_dlfiles $1" shift ;; --dry-run | -n) opt_dry_run=: ;; --features) func_features ;; --finish) mode="finish" ;; --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break case $1 in # Valid mode arguments: clean) ;; compile) ;; execute) ;; finish) ;; install) ;; link) ;; relink) ;; uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac mode="$1" shift ;; --preserve-dup-deps) opt_duplicate_deps=: ;; --quiet|--silent) preserve_args="$preserve_args $opt" opt_silent=: ;; --verbose| -v) preserve_args="$preserve_args $opt" opt_silent=false ;; --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break preserve_args="$preserve_args $opt $1" func_enable_tag "$1" # tagname is set here shift ;; # Separate optargs to long options: -dlopen=*|--mode=*|--tag=*) func_opt_split "$opt" set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} shift ;; -\?|-h) func_usage ;; --help) opt_help=: ;; --version) func_version ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) nonopt="$opt" break ;; esac done case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_duplicate_deps ;; esac # Having warned about all mis-specified options, bail out if # anything was wrong. $exit_cmd $EXIT_FAILURE } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } ## ----------- ## ## Main. ## ## ----------- ## $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi test -z "$mode" && func_fatal_error "error: you must specify a MODE." # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$mode' for more information." } # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_ltwrapper_scriptname_result="" if func_ltwrapper_executable_p "$1"; then func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" fi } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done case "$@ " in " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T <?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi removelist="$removelist $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist removelist="$removelist $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$mode'" ;; esac $ECHO $ECHO "Try \`$progname --help' for more information about other modes." exit $? } # Now that we've collected a possible --mode arg, show help if necessary $opt_help && func_mode_help # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $execute_dlfiles; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_quote_for_eval "$file" args="$args $func_quote_for_eval_result" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" $ECHO "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS $ECHO "X----------------------------------------------------------------------" | $Xsed $ECHO "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done $ECHO $ECHO "If you ever happen to want to link against installed libraries" $ECHO "in a given directory, LIBDIR, you must either use libtool, and" $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" $ECHO "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" $ECHO " during execution" fi if test -n "$runpath_var"; then $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" $ECHO " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi $ECHO $ECHO "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" $ECHO "pages." ;; *) $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac $ECHO "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS } test "$mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $ECHO "X$nonopt" | $GREP shtool >/dev/null; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" install_prog="$install_prog$func_quote_for_eval_result" # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= for arg do if test -n "$dest"; then files="$files $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" install_prog="$install_prog $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for progfile in $progfiles; do func_verbose "extracting global C symbols from \`$progfile'" $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" } done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" fi $ECHO >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; " case $host in *cygwin* | *mingw* | *cegcc* ) $ECHO >> "$output_objdir/$my_dlsyms" "\ /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */" lt_dlsym_const= ;; *osf5*) echo >> "$output_objdir/$my_dlsyms" "\ /* This system does not cope well with relocations in const data */" lt_dlsym_const= ;; *) lt_dlsym_const=const ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ extern $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) symtab_cflags="$symtab_cflags $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper_part1 [arg=no] # # Emit the first part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part1 () { func_emit_wrapper_part1_arg1=no if test -n "$1" ; then func_emit_wrapper_part1_arg1=$1 fi $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then ECHO=\"$qecho\" file=\"\$0\" # Make sure echo works. if test \"X\$1\" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then # Yippee, \$ECHO works! : else # Restart under the correct shell, and then maybe \$ECHO will work. exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} fi fi\ " $ECHO "\ # Find the directory that this script lives in. thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done " } # end: func_emit_wrapper_part1 # func_emit_wrapper_part2 [arg=no] # # Emit the second part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part2 () { func_emit_wrapper_part2_arg1=no if test -n "$1" ; then func_emit_wrapper_part2_arg1=$1 fi $ECHO "\ # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # end: func_emit_wrapper_part2 # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=no if test -n "$1" ; then func_emit_wrapper_arg1=$1 fi # split this up so that func_emit_cwrapperexe_src # can call each part independently. func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" } # func_to_host_path arg # # Convert paths to host format when used with build tools. # Intended for use with "native" mingw (where libtool itself # is running under the msys shell), or in the following cross- # build environments: # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # where wine is equipped with the `winepath' executable. # In the native mingw case, the (msys) shell automatically # converts paths for any non-msys applications it launches, # but that facility isn't available from inside the cwrapper. # Similar accommodations are necessary for $host mingw and # $build cygwin. Calling this function does no harm for other # $host/$build combinations not listed above. # # ARG is the path (on $build) that should be converted to # the proper representation for $host. The result is stored # in $func_to_host_path_result. func_to_host_path () { func_to_host_path_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' case $build in *mingw* ) # actually, msys # awkward: cmd appends spaces to result lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_path_tmp1=`( cmd //c echo "$1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_path_tmp1=`cygpath -w "$1"` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # Unfortunately, winepath does not exit with a non-zero # error code, so we are forced to check the contents of # stdout. On the other hand, if the command is not # found, the shell will set an exit code of 127 and print # *an error message* to stdout. So we must check for both # error code of zero AND non-empty stdout, which explains # the odd construction: func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` else # Allow warning below. func_to_host_path_result="" fi ;; esac if test -z "$func_to_host_path_result" ; then func_error "Could not determine host path corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_path_result="$1" fi ;; esac fi } # end: func_to_host_path # func_to_host_pathlist arg # # Convert pathlists to host format when used with build tools. # See func_to_host_path(), above. This function supports the # following $build/$host combinations (but does no harm for # combinations not listed here): # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # # Path separators are also converted from $build format to # $host format. If ARG begins or ends with a path separator # character, it is preserved (but converted to $host format) # on output. # # ARG is a pathlist (on $build) that should be converted to # the proper representation on $host. The result is stored # in $func_to_host_pathlist_result. func_to_host_pathlist () { func_to_host_pathlist_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_to_host_pathlist_tmp2="$1" # Once set for this call, this variable should not be # reassigned. It is used in tha fallback case. func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e 's|^:*||' -e 's|:*$||'` case $build in *mingw* ) # Actually, msys. # Awkward: cmd appends spaces to result. lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # unfortunately, winepath doesn't convert pathlists func_to_host_pathlist_result="" func_to_host_pathlist_oldIFS=$IFS IFS=: for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do IFS=$func_to_host_pathlist_oldIFS if test -n "$func_to_host_pathlist_f" ; then func_to_host_path "$func_to_host_pathlist_f" if test -n "$func_to_host_path_result" ; then if test -z "$func_to_host_pathlist_result" ; then func_to_host_pathlist_result="$func_to_host_path_result" else func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" fi fi fi IFS=: done IFS=$func_to_host_pathlist_oldIFS ;; esac if test -z "$func_to_host_pathlist_result" ; then func_error "Could not determine the host path(s) corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This may break if $1 contains DOS-style drive # specifications. The fix is not to complicate the expression # below, but for the user to provide a working wine installation # with winepath so that path translation in the cross-to-mingw # case works properly. lt_replace_pathsep_nix_to_dos="s|:|;|g" func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_replace_pathsep_nix_to_dos"` fi # Now, add the leading and trailing path separators back case "$1" in :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" ;; esac case "$1" in *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" ;; esac ;; esac fi } # end: func_to_host_pathlist # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include # define setmode _setmode #else # include # include # ifdef __CYGWIN__ # include # define HAVE_SETENV # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif # endif #endif #include #include #include #include #include #include #include #include #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif #ifdef _MSC_VER # define S_IXUSR _S_IEXEC # define stat _stat # ifndef _INTPTR_T_DEFINED # define intptr_t int # endif #endif #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifdef __CYGWIN__ # define FOPEN_WB "wb" #endif #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #undef LTWRAPPER_DEBUGPRINTF #if defined DEBUGWRAPPER # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args static void ltwrapper_debugprintf (const char *fmt, ...) { va_list args; va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } #else # define LTWRAPPER_DEBUGPRINTF(args) #endif const char *program_name = NULL; void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_fatal (const char *message, ...); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_opt_process_env_set (const char *arg); void lt_opt_process_env_prepend (const char *arg); void lt_opt_process_env_append (const char *arg); int lt_split_name_value (const char *arg, char** name, char** value); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); static const char *script_text_part1 = EOF func_emit_wrapper_part1 yes | $SED -e 's/\([\\"]\)/\\\1/g' \ -e 's/^/ "/' -e 's/$/\\n"/' echo ";" cat <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } EOF case $host_os in mingw*) cat <<"EOF" /* execv doesn't actually work on mingw as expected on unix */ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); if (rval == -1) { /* failed to start process */ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); return 127; } return rval; EOF ;; *) cat <<"EOF" execv (lt_argv_zero, newargz); return rval; /* =127, but avoids unused variable warning */ EOF ;; esac cat <<"EOF" } void * xmalloc (size_t num) { void *p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char) name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable (const char *path) { struct stat st; LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", tmp_pathspec)); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { char *errstr = strerror (errno); lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal ("Could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } void lt_setenv (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", (name ? name : ""), (value ? value : ""))); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } int lt_split_name_value (const char *arg, char** name, char** value) { const char *p; int len; if (!arg || !*arg) return 1; p = strchr (arg, (int)'='); if (!p) return 1; *value = xstrdup (++p); len = strlen (arg) - strlen (*value); *name = XMALLOC (char, len); strncpy (*name, arg, len-1); (*name)[len - 1] = '\0'; return 0; } void lt_opt_process_env_set (const char *arg) { char *name = NULL; char *value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); } lt_setenv (name, value); XFREE (name); XFREE (value); } void lt_opt_process_env_prepend (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); } new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_opt_process_env_append (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); } new_value = lt_extend_str (getenv (name), value, 1); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_update_exe_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF } # end: func_emit_cwrapperexe_src # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) deplibs="$deplibs $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) weak_libs="$weak_libs $arg" prev= continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname '-L' '' "$arg" dir=$func_stripname_result if test -z "$dir"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" linker_flags="$linker_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" compiler_flags="$compiler_flags $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_duplicate_deps ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= case $lib in *.la) func_source "$lib" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` case " $weak_libs " in *" $deplib_base "*) ;; *) deplibs="$deplibs $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" dir=$func_stripname_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then $ECHO $ECHO "*** Warning: Trying to link with static lib archive $deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because the file extensions .$libext of this argument makes me believe" $ECHO "*** that it is just a static archive that I should not use here." else $ECHO $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) temp_rpath="$temp_rpath$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded notinst_deplibs="$notinst_deplibs $lib" need_relink=no ;; *) if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then $ECHO if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $ECHO $ECHO "*** And there doesn't seem to be a static archive available" $ECHO "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. $ECHO $ECHO "*** Warning: This system can not link to static lib archive $lib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then $ECHO "*** But as you try to build a module library, libtool will still create " $ECHO "*** a static module, that should work as long as the dlopening application" $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then $ECHO $ECHO "*** However, this would only work if libtool was able to extract symbol" $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" $ECHO "*** not find such a program. So, this module is probably useless." $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_dirname "$deplib" "" "." dir="$func_dirname_result" # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else $ECHO $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" libobjs="$libobjs $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $ECHO $ECHO "*** Warning: linker path does not have real file for library $a_deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $ECHO $ECHO "*** Warning: linker path does not have real file for library $a_deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` done fi if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | $GREP . >/dev/null; then $ECHO if test "X$deplibs_check_method" = "Xnone"; then $ECHO "*** Warning: inter-library dependencies are not supported in this platform." else $ECHO "*** Warning: inter-library dependencies are not known to be supported." fi $ECHO "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $ECHO $ECHO "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" $ECHO "*** a static module, that should work as long as the dlopening" $ECHO "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $ECHO $ECHO "*** However, this would only work if libtool was able to extract symbol" $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" $ECHO "*** not find such a program. So, this module is probably useless." $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $ECHO "*** The inter-library dependencies that have been dropped here will be" $ECHO "*** automatically added whenever a program is linked with this library" $ECHO "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $ECHO $ECHO "*** Since this library must not contain undefined symbols," $ECHO "*** because either the platform does not support them or" $ECHO "*** it was explicitly requested with -no-undefined," $ECHO "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" delfiles="$delfiles $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" func_len " $cmd" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then func_show_eval "$cmd" 'exit $?' skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output output_la=`$ECHO "X$output" | $Xsed -e "$basename"` # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" $ECHO 'INPUT (' > $output for obj in $save_libobjs do $ECHO "$obj" >> $output done $ECHO ')' >> $output delfiles="$delfiles $output" elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do $ECHO "$obj" >> $output done delfiles="$delfiles $output" output=$firstobj\"$file_list_spec$output\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. eval concat_cmds=\"$reload_cmds $objlist $last_robj\" else # All subsequent reloadable object files will link in # the last one created. eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=$obj func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi delfiles="$delfiles $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *cegcc) # Disable wrappers for cegcc, we are cross compiling anyway. wrappers_required=no ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $ECHO for shipping. if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; esac qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then oldobjs="$oldobjs $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles oldobjs="$oldobjs $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else $ECHO "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlfiles="$newdlfiles $libdir/$name" ;; *) newdlfiles="$newdlfiles $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlprefiles="$newdlprefiles $libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$mode" = link || test "$mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) RM="$RM $arg"; rmforce=yes ;; -*) RM="$RM $arg" ;; *) files="$files $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= origobjdir="$objdir" for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then objdir="$origobjdir" else objdir="$dir/$origobjdir" fi func_basename "$file" name="$func_basename_result" test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result rmfiles="$rmfiles $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$mode" = uninstall || test "$mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 cairomm-1.10.0/build/PaxHeaders.11012/lt~obsolete.m40000644000175000017500000000005011561716332020152 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/lt~obsolete.m40000644000175000017500000001311311561716332020365 0ustar00murraycmurrayc00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 4 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) cairomm-1.10.0/build/PaxHeaders.11012/ax_boost_unit_test_framework.m40000644000175000017500000000005011561715437023576 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/ax_boost_unit_test_framework.m40000644000175000017500000001326511561715437024021 0ustar00murraycmurrayc00000000000000##### http://autoconf-archive.cryp.to/ax_boost_unit_test_framework.html # # SYNOPSIS # # AX_BOOST_UNIT_TEST_FRAMEWORK # # DESCRIPTION # # Test for Unit_Test_Framework library from the Boost C++ libraries. # The macro requires a preceding call to AX_BOOST_BASE. Further # documentation is available at # . # # This macro calls: # # AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) # # And sets: # # HAVE_BOOST_UNIT_TEST_FRAMEWORK # # LAST MODIFICATION # # 2006-12-28 # # COPYLEFT # # Copyright (c) 2006 Thomas Porschberg # # Copying and distribution of this file, with or without # modification, are permitted in any medium without royalty provided # the copyright notice and this notice are preserved. AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK], [ AC_ARG_WITH([boost-unit-test-framework], AS_HELP_STRING([--with-boost-unit-test-framework@<:@=special-lib@:>@], [use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc ]), [ if test "$withval" = "no"; then want_boost="no" elif test "$withval" = "yes"; then want_boost="yes" ax_boost_user_unit_test_framework_lib="" else want_boost="yes" ax_boost_user_unit_test_framework_lib="$withval" fi ], [want_boost="yes"] ) if test "x$want_boost" = "xyes"; then AC_REQUIRE([AC_PROG_CC]) CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available, ax_cv_boost_unit_test_framework, [AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include ]], [[using boost::unit_test::test_suite; test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return 0;]]), ax_cv_boost_unit_test_framework=yes, ax_cv_boost_unit_test_framework=no) AC_LANG_POP([C++]) ]) if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available]) BN=boost_unit_test_framework if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then saved_ldflags="${LDFLAGS}" for ax_lib in $BN $BN-mt $BN-mt-s $BN-s \ $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \ lib$BN lib$BN-$CC lib$BN-$CC-mt lib$BN-$CC-mt-s lib$BN-$CC-s \ $BN-mgw $BN-mgw $BN-mgw-mt $BN-mgw-mt-s $BN-mgw-s ; do LDFLAGS="${LDFLAGS} -l$ax_lib" AC_CACHE_CHECK(Boost::UnitTestFramework library linkage, ax_cv_boost_unit_test_framework_link, [AC_LANG_PUSH([C++]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include using boost::unit_test::test_suite; test_suite* init_unit_test_suite( int argc, char * argv[] ) { test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return test; } ]], [[ return 0;]])], link_unit_test_framework="yes",link_unit_test_framework="no") AC_LANG_POP([C++]) ]) LDFLAGS="${saved_ldflags}" if test "x$link_unit_test_framework" = "xyes"; then BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) break fi done else saved_ldflags="${LDFLAGS}" for ax_lib in $ax_boost_user_unit_test_framework_lib $BN-$ax_boost_user_unit_test_framework_lib; do LDFLAGS="${LDFLAGS} -l$ax_lib" AC_CACHE_CHECK(Boost::UnitTestFramework library linkage, ax_cv_boost_unit_test_framework_link, [AC_LANG_PUSH([C++]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include using boost::unit_test::test_suite; test_suite* init_unit_test_suite( int argc, char * argv[] ) { test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return test; } ]], [[ return 0;]])], link_unit_test_framework="yes",link_unit_test_framework="no") AC_LANG_POP([C++]) ]) LDFLAGS="${saved_ldflags}" if test "x$link_unit_test_framework" = "xyes"; then BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) break fi done fi if test "x$link_unit_test_framework" = "xno"; then AC_MSG_ERROR(Could not link against $ax_lib !) fi fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" fi ]) cairomm-1.10.0/build/PaxHeaders.11012/install-sh0000644000175000017500000000005011561716335017342 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/install-sh0000755000175000017500000003253711561716335017573 0ustar00murraycmurrayc00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: cairomm-1.10.0/build/PaxHeaders.11012/reduced.m40000644000175000017500000000005011561715437017220 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/reduced.m40000644000175000017500000000114011561715437017430 0ustar00murraycmurrayc00000000000000## CAIROMM_ARG_ENABLE_API_EXCEPTIONS() ## ## Provide the --enable-api-exceptions configure argument, enabled ## by default. ## AC_DEFUN([CAIROMM_ARG_ENABLE_API_EXCEPTIONS], [ AC_ARG_ENABLE([api-exceptions], [ --enable-api-exceptions Build exceptions API. [[default=yes]]], [cairomm_enable_api_exceptions="$enableval"], [cairomm_enable_api_exceptions='yes']) if test "x$cairomm_enable_api_exceptions" = "xyes"; then { AC_DEFINE([CAIROMM_EXCEPTIONS_ENABLED],[1], [Defined when the --enable-api-exceptions configure argument was given]) } fi ]) cairomm-1.10.0/build/PaxHeaders.11012/doc-reference.am0000644000175000017500000000005011561716326020361 xustar000000000000000020 atime=1304927614 20 ctime=1304927659 cairomm-1.10.0/build/doc-reference.am0000644000175000017500000002140611561716326020600 0ustar00murraycmurrayc00000000000000## Copyright (c) 2009, 2011 Openismus GmbH ## ## This file is part of mm-common. ## ## mm-common is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published ## by the Free Software Foundation, either version 2 of the License, ## or (at your option) any later version. ## ## mm-common is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with mm-common. If not, see . ## Parameters: book_name ## Overrides: pubdocbase, htmlrefpub, book_title, htmlref_patterns, ## doc_outdir, doc_config, doc_postprocess, doc_install, ## tagfile_to_devhelp2, doxytagfile, devhelpfile ## Files: doc_input ## Output: dist_noinst_DATA, DISTCLEANFILES, MAINTAINERCLEANFILES # The name of the sub-directory where the generated documentation # will be placed. doc_outdir ?= reference # The name of the Doxygen configuration file. doc_config ?= $(doc_outdir)/Doxyfile # The base URL where the online documentation for C++ binding modules # is located, including the trailing slash. pubdocbase ?= http://library.gnome.org/devel/ # The URL of the module's online HTML reference documentation, which # may or may not end in a trailing slash. htmlrefpub ?= $(pubdocbase)$(PACKAGE_TARNAME)/unstable/ # The title of the generated Devhelp book. book_title ?= $(PACKAGE_NAME) Reference Manual # A list of wildcard patterns matching the files from the HTML directory # generated by Doxygen which should be distributed and installed. htmlref_patterns ?= $(addprefix $(doc_outdir)/html/*.,css gif html png) # Locations of utilities shipped with glibmm. Made overridable # in case the installed utilities cannot be used for some reason. doc_postprocess ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-postprocess.pl" doc_install ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-install.pl" tagfile_to_devhelp2 ?= "$(MMDOCTOOLDIR)/tagfile-to-devhelp2.xsl" # Names of the main output files. doxytagfile ?= $(doc_outdir)/$(book_name).tag devhelpfile ?= $(doc_outdir)/$(book_name).devhelp2 # Function: $(call vpath_listall,PATTERN ...) # Get all filenames which match a PATTERN from the list. Look for files # relative to either the current directory or $(srcdir). Strip $(srcdir)/ # again before returning and remove any duplicates. vpath_srclist = $(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/,$(1)))) vpath_listall = $(sort $(wildcard $(1)) $(if $(srcdir:.=),$(vpath_srclist))) # Installation directories. libdocdir = $(datarootdir)/doc/$(book_name) referencedir = $(libdocdir)/reference htmlrefdir = $(referencedir)/html devhelpdir = $(datadir)/devhelp/books/$(book_name) if ENABLE_DOCUMENTATION doc_inst_targets = install-htmlref install-devhelp doc_inst_files = $(doxytagfile) doc_dist_files = $(devhelpfile) $(call vpath_listall,$(htmlref_patterns)) else doc_inst_targets = doc_inst_files = doc_dist_files = endif if DIST_DOCTOOLS doc_dist_files += $(MMDOCTOOLDIR)/doc-postprocess.pl $(MMDOCTOOLDIR)/doc-install.pl $(MMDOCTOOLDIR)/tagfile-to-devhelp2.xsl $(MMDOCTOOLDIR)/doxygen.css endif dist_reference_DATA = $(strip $(doc_inst_files)) dist_noinst_DATA = $(strip $(doc_dist_files)) DISTCLEANFILES = $(doc_outdir)/doxygen.log MAINTAINERCLEANFILES = $(doxytagfile) $(devhelpfile) $(doc_outdir)/html/* # The generic bit of the doc-install.pl command line. doc_install_cmd = $(doc_install) --verbose --mode=0644 # Transform $(datarootdir) into a URI to match MM_ARG_WITH_TAGFILE_DOC(). datarootdir_esc = $(subst $(subst ,, ),%20,$(subst \,/,$(datarootdir))) docdir_base_uri = file:///$(patsubst /%,%,$(datarootdir_esc:/=))/doc # The command and options used to install the files from the HTML reference # documentation. The $(subst) magic translates external tag references from # absolute to relative paths if the destination is on the local file system # and installed under the same prefix as the package being built. htmlref_relinst = $(subst @$(docdir_base_uri)/,@../../../,$(DOCINSTALL_FLAGS)) htmlref_install = $(doc_install_cmd) $(htmlref_relinst) # The command and options used to install the Devhelp file. devhelp_install = $(doc_install_cmd) --book-base='$(htmlrefdir:/=)' # Helper variables to replicate each pattern with a $(srcdir)/ prefix. # Also add quoting to prevent the shell from expanding the patterns. htmlref_patterns_dup = $(foreach item,$(htmlref_patterns),'$(item)' '$(srcdir)/$(item)') htmlref_patterns_quote = $(patsubst %,'%',$(htmlref_patterns)) htmlref_patterns_vpath = $(if $(srcdir:.=),$(htmlref_patterns_dup),$(htmlref_patterns_quote)) # Expand to a list of -name 'PATTERN' arguments for use with 'find'. htmlref_find_patterns = $(patsubst %,-name '%' -o,$(notdir $(htmlref_patterns))) -false # The parameters to the Doxygen-to-Devhelp XSLT script dh_xsl_params = --stringparam book_title '$(book_title)' \ --stringparam book_name '$(book_name)' \ --stringparam book_base html # Generated configuration files which, when updated, should cause the # reference documentation to be rebuilt. doc_config_deps = $(CONFIG_HEADER) $(srcdir)/$(doc_config).in $(srcdir)/Makefile.in # Regenerate the documentation automatically only in maintainer mode. # Depend on the generated configuration header files to trigger a rebuild # if a configuration value changed. The configuration header files only # have their timestamp modified when the content actually changed, which # is not the case for any other files generated by configure. if MAINTAINER_MODE doc_dependencies = $(doc_config_deps) $(doc_input) else doc_dependencies = endif # Explicitly depend on the files to be distributed or installed. all-local: $(doc_inst_files) $(doc_dist_files) # Hook up custom rules for translating references to external documentation # to the actual location at install time. install-data-local: $(doc_inst_targets) # Hook up corresponding custom uninstall rules. uninstall-local: $(addprefix un,$(doc_inst_targets)) # Install the HTML reference documentation files with just one invocation # of doc-install.pl to speed up the build process. Make use of the --glob # option, which tells it to perform filename globbing itself, like 'find'. # This helps to avoid excessively long command lines, as some platforms # have rather restrictive limits. install-htmlref: $(doc_outdir)/html/index.html @$(NORMAL_INSTALL) $(MKDIR_P) '$(DESTDIR)$(htmlrefdir)' $(htmlref_install) -t '$(DESTDIR)$(htmlrefdir)' --glob -- $(htmlref_patterns_vpath) # Delete files from the html installation directory. Avoid recursive # directory removal, and apply the same wildcard pattern as was used to # select files for installation. uninstall-htmlref: @$(NORMAL_UNINSTALL) (cd '$(DESTDIR)$(htmlrefdir)' 2>/dev/null || exit 0; \ find . -type f '(' $(htmlref_find_patterns) ')' -exec rm -f '{}' '+') -test ! -r '$(DESTDIR)$(htmlrefdir)' || rmdir '$(DESTDIR)$(htmlrefdir)' # Install the Devhelp file, translating the base path on the fly. install-devhelp: $(devhelpfile) @$(NORMAL_INSTALL) $(MKDIR_P) '$(DESTDIR)$(devhelpdir)' $(devhelp_install) -t '$(DESTDIR)$(devhelpdir)' -- $^ # Remove the installed Devhelp file and directory. uninstall-devhelp: @$(NORMAL_UNINSTALL) rm -f '$(DESTDIR)$(devhelpdir)/$(notdir $(devhelpfile))' -test ! -r '$(DESTDIR)$(devhelpdir)' || rmdir '$(DESTDIR)$(devhelpdir)' # Regenerate the Doxygen configuration file automatically. In the # top-level build directory Automake already takes care of this. ifneq ($(subdir),.) $(doc_config): $(srcdir)/$(doc_config).in $(top_builddir)/config.status $(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ endif # Make sure that the documentation will always have been generated before # executing commands of a rule that depends on files in $(doc_outdir)/html/. $(doc_outdir)/html/%: | $(doxytagfile) # Run Doxygen to build the reference documentation. The generated tag file # also functions as time stamp target for the documentation as a whole. $(doxytagfile): $(doc_dependencies) | $(doc_config) -$(AM_V_at)rm -f $@ -$(AM_V_at)rm -fr $(doc_outdir)/html $(AM_V_GEN)(echo '@INCLUDE =' $(doc_config) && echo 'INPUT =' $(doc_input)) | $(DOXYGEN) - $(AM_V_at)$(doc_postprocess) '$(doc_outdir)/html/*.html' # Run XSL transformation to generate a Devhelp book from a Doxygen tag file. %.devhelp2: %.tag $(AM_V_GEN)$(XSLTPROC) $(dh_xsl_params) -o $@ $(tagfile_to_devhelp2) $< .PHONY: install-htmlref uninstall-htmlref install-devhelp uninstall-devhelp # Instruct GNU make to delete the targets of a rule after it failed, in # order to avoid the complication of handling that situation manually. .DELETE_ON_ERROR: cairomm-1.10.0/build/PaxHeaders.11012/ltversion.m40000644000175000017500000000005011561716332017625 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/ltversion.m40000644000175000017500000000127711561716332020050 0ustar00murraycmurrayc00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # Generated from ltversion.in. # serial 3017 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.2.6b]) m4_define([LT_PACKAGE_REVISION], [1.3017]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.6b' macro_revision='1.3017' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) cairomm-1.10.0/build/PaxHeaders.11012/depcomp0000644000175000017500000000005011561716335016713 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/depcomp0000755000175000017500000004440011561716335017134 0ustar00murraycmurrayc00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: cairomm-1.10.0/build/PaxHeaders.11012/config.h.in0000644000175000017500000000005011561716335017364 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/config.h.in0000644000175000017500000000375411561716335017611 0ustar00murraycmurrayc00000000000000/* build/config.h.in. Generated from configure.ac by autoheader. */ /* Defined when the --enable-api-exceptions configure argument was given */ #undef CAIROMM_EXCEPTIONS_ENABLED /* Major version number of cairomm. */ #undef CAIROMM_MAJOR_VERSION /* Micro version number of cairomm. */ #undef CAIROMM_MICRO_VERSION /* Minor version number of cairomm. */ #undef CAIROMM_MINOR_VERSION /* define if the Boost library is available */ #undef HAVE_BOOST /* define if the Boost::Unit_Test_Framework library is available */ #undef HAVE_BOOST_UNIT_TEST_FRAMEWORK /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS cairomm-1.10.0/build/PaxHeaders.11012/config.guess0000644000175000017500000000005011561716335017656 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/config.guess0000755000175000017500000012761511561716335020111 0ustar00murraycmurrayc00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. timestamp='2009-11-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: cairomm-1.10.0/build/PaxHeaders.11012/libtool.m40000644000175000017500000000005011561716332017244 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/libtool.m40000644000175000017500000077464711561716332017511 0ustar00murraycmurrayc00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 56 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl _LT_PROG_ECHO_BACKSLASH case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\[$]0 --fallback-echo"')dnl " lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` ;; esac _LT_OUTPUT_LIBTOOL_INIT ]) # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) cat >"$CONFIG_LT" <<_LTEOF #! $SHELL # Generated by $as_me. # Run this file to recreate a libtool stub with the current configuration. lt_cl_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2008 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. if test "$no_create" != yes; then lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) fi ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_XSI_SHELLFNS sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES # -------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(whole_archive_flag_spec, $1)='' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX # ----------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)]) $1 AC_DIVERT_POP ])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. m4_defun([_LT_PROG_ECHO_BACKSLASH], [_LT_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac ECHO=${lt_ECHO-echo} if test "X[$]1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then # Yippee, $ECHO works! : else # Restart under the correct shell. exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF [$]* _LT_EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$lt_ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if { echo_test_string=`eval $cmd`; } 2>/dev/null && { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null then break fi done fi if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$ECHO" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. ECHO='print -r' elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} else # Try using printf. ECHO='printf %s\n' if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL ECHO="$CONFIG_SHELL [$]0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$CONFIG_SHELL [$]0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "[$]0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} else # Oops. We lost completely, so just stick with echo. ECHO=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi AC_SUBST(lt_ECHO) ]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that does not interpret backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [AC_CHECK_TOOL(AR, ar, false) test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1]) AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[[3-9]]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method == "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_TAGVAR(ld_shlibs, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE(int foo(void) {}, _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' ) LDFLAGS="$save_LDFLAGS" else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then _LT_TAGVAR(archive_cmds_need_lc, $1)=no else _LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], [[If ld is used when linking, flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [fix_srcfile_path], [1], [Fix the shell variable $srcfile for the compiler]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_PROG_CXX # ------------ # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ # compiler, we have our own version here. m4_defun([_LT_PROG_CXX], [ pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) AC_PROG_CXX if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_CXX dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_CXX], []) # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [AC_REQUIRE([_LT_PROG_CXX])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[[12]]*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ]) dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_PROG_F77 # ------------ # Since AC_PROG_F77 is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_F77], [ pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) AC_PROG_F77 if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_F77 dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_F77], []) # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_REQUIRE([_LT_PROG_F77])dnl AC_LANG_PUSH(Fortran 77) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${F77-"f77"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_PROG_FC # ----------- # Since AC_PROG_FC is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_FC], [ pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) AC_PROG_FC if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_FC dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_FC], []) # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_REQUIRE([_LT_PROG_FC])dnl AC_LANG_PUSH(Fortran) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${FC-"f95"} compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC="$lt_save_CC" ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC= CC=${RC-"windres"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC="$lt_save_CC" ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_XSI_SHELLFNS # --------------------- # Bourne and XSI compatible variants of some useful shell functions. m4_defun([_LT_PROG_XSI_SHELLFNS], [case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $[*] )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } dnl func_dirname_and_basename dnl A portable version of this function is already defined in general.m4sh dnl so there is no need for it here. # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[[^=]]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$[@]"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]+=\$[2]" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]=\$$[1]\$[2]" } _LT_EOF ;; esac ]) cairomm-1.10.0/build/PaxHeaders.11012/ltoptions.m40000644000175000017500000000005011561716332017633 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/ltoptions.m40000644000175000017500000002724211561716332020056 0ustar00murraycmurrayc00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [0], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) cairomm-1.10.0/build/PaxHeaders.11012/config.sub0000644000175000017500000000005011561716335017321 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/config.sub0000755000175000017500000010316711561716335017550 0ustar00murraycmurrayc00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. timestamp='2009-11-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: cairomm-1.10.0/build/PaxHeaders.11012/ax_boost_base.m40000644000175000017500000000005011561715437020415 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/build/ax_boost_base.m40000644000175000017500000001463711561715437020644 0ustar00murraycmurrayc00000000000000##### http://autoconf-archive.cryp.to/ax_boost_base.html # # SYNOPSIS # # AX_BOOST_BASE([MINIMUM-VERSION]) # # DESCRIPTION # # Test for the Boost C++ libraries of a particular version (or newer) # # If no path to the installed boost library is given the macro # searchs under /usr, /usr/local, and /opt, and evaluates the # $BOOST_ROOT environment variable. Further documentation is # available at . # # This macro calls: # # AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS) # # And sets: # # HAVE_BOOST # # LAST MODIFICATION # # 2006-12-28 # # COPYLEFT # # Copyright (c) 2006 Thomas Porschberg # # Copying and distribution of this file, with or without # modification, are permitted in any medium without royalty provided # the copyright notice and this notice are preserved. AC_DEFUN([AX_BOOST_BASE], [ AC_ARG_WITH([boost], AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is No) - it is possible to specify the root directory for boost (optional)]), [ if test "$withval" = "no"; then want_boost="no" elif test "$withval" = "yes"; then want_boost="yes" ac_boost_path="" else want_boost="yes" ac_boost_path="$withval" fi ], [want_boost="yes"]) if test "x$want_boost" = "xyes"; then boost_lib_version_req=ifelse([$1], ,1.20.0,$1) boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'` boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'` boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'` boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` if test "x$boost_lib_version_req_sub_minor" = "x" ; then boost_lib_version_req_sub_minor="0" fi WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req) succeeded=no dnl first we check the system location for boost libraries dnl this location ist chosen if boost libraries are installed with the --layout=system option dnl or if you install boost with RPM if test "$ac_boost_path" != ""; then BOOST_LDFLAGS="-L$ac_boost_path/lib" BOOST_CPPFLAGS="-I$ac_boost_path/include" else for ac_boost_path_tmp in /usr /usr/local /opt ; do if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib" BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" break; fi done fi CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_LANG_PUSH(C++) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @%:@include ]], [[ #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ]])],[ AC_MSG_RESULT(yes) succeeded=yes found_system=yes ],[ ]) AC_LANG_POP([C++]) dnl if we found no boost with system layout we search for boost libraries dnl built and installed without the --layout=system option or for a staged(not installed) version if test "x$succeeded" != "xyes"; then _version=0 if test "$ac_boost_path" != ""; then BOOST_LDFLAGS="-L$ac_boost_path/lib" if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp fi VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" done fi else for ac_boost_path in /usr /usr/local /opt ; do if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "$V_CHECK" = "1" ; then _version=$_version_tmp best_path=$ac_boost_path fi done fi done VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" BOOST_LDFLAGS="-L$best_path/lib" if test "x$BOOST_ROOT" != "x"; then if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'` V_CHECK=`expr $stage_version_shorten \>\= $_version` if test "$V_CHECK" = "1" ; then AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT) BOOST_CPPFLAGS="-I$BOOST_ROOT" BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib" fi fi fi fi CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_LANG_PUSH(C++) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @%:@include ]], [[ #if BOOST_VERSION >= $WANT_BOOST_VERSION // Everything is okay #else # error Boost version is too old #endif ]])],[ AC_MSG_RESULT(yes) succeeded=yes found_system=yes ],[ ]) AC_LANG_POP([C++]) fi if test "$succeeded" != "yes" ; then if test "$_version" = "0" ; then AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation.]]) else AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).]) fi else AC_SUBST(BOOST_CPPFLAGS) AC_SUBST(BOOST_LDFLAGS) AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available]) fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" fi ]) cairomm-1.10.0/PaxHeaders.11012/README0000644000175000017500000000005011561715437015124 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/README0000644000175000017500000000067611561715437015351 0ustar00murraycmurrayc00000000000000cairomm ------------- This library provides a C++ interface to cairo. Read the file 'INSTALL' for instructions to compile and install the library. See the examples directory for example code. Use pkg-config to discover the necessary include and linker arguments. For instance, pkg-config cairomm-1.0 --cflags --libs Ideally you would use PKG_CHECK_MODULES in your configure.ac file. See http://www.openismus.com for generic help with that. cairomm-1.10.0/PaxHeaders.11012/tests0000644000175000017500000000005011561716653015332 xustar000000000000000020 atime=1304927659 20 ctime=1304927659 cairomm-1.10.0/tests/0000755000175000017500000000000011561716653015623 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/tests/PaxHeaders.11012/test-scaled-font.cc0000644000175000017500000000005011561715437021071 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/test-scaled-font.cc0000644000175000017500000001025211561715437021305 0ustar00murraycmurrayc00000000000000#include #include #include using namespace boost::unit_test; #include #include using namespace Cairo; void test_construction() { RefPtr face = ToyFontFace::create("sans", FONT_SLANT_NORMAL, FONT_WEIGHT_NORMAL); Matrix identity; cairo_matrix_init_identity(&identity); RefPtr font = ScaledFont::create(face, identity, identity, FontOptions()); BOOST_REQUIRE(font); // now use the default argument for font_options font = ScaledFont::create(face, identity, identity); BOOST_REQUIRE(font); } void test_text_to_glyphs() { RefPtr face = ToyFontFace::create("sans", FONT_SLANT_NORMAL, FONT_WEIGHT_NORMAL); Matrix identity; cairo_matrix_init_identity(&identity); RefPtr font = ScaledFont::create(face, identity, identity, FontOptions()); BOOST_REQUIRE(font); std::vector glyphs; std::vector clusters; TextClusterFlags flags; font->text_to_glyphs(0, 0, "foo", glyphs, clusters, flags); BOOST_CHECK_EQUAL(3, glyphs.size()); BOOST_CHECK_EQUAL(3, clusters.size()); } void test_scale_matrix() { RefPtr face = ToyFontFace::create("sans", FONT_SLANT_NORMAL, FONT_WEIGHT_NORMAL); Matrix m; cairo_matrix_init_scale(&m, 2.0, 4.0); RefPtr font = ScaledFont::create(face, m, m, FontOptions()); BOOST_REQUIRE(font); Matrix result; font->get_scale_matrix(result); // no real test, just excercising the functionality } void test_get_font_face() { // this is to test for a bug where we were accidentally freeing the resulting // font face from a call to ScaledFont::get_font_face() when we didn't hold a // reference to it RefPtr face = ToyFontFace::create("sans", FONT_SLANT_NORMAL, FONT_WEIGHT_NORMAL); Matrix identity; cairo_matrix_init_identity(&identity); RefPtr font = ScaledFont::create(face, identity, identity, FontOptions()); BOOST_REQUIRE(font); const int refcount = cairo_font_face_get_reference_count(face->cobj()); { RefPtr got_face = font->get_font_face(); } // scope ensure that the font face is destroyed // after creating and destroying the FontFace in get_font_face, our reference // count should be the same BOOST_REQUIRE_EQUAL(cairo_font_face_get_reference_count(face->cobj()), refcount); } #ifdef CAIRO_HAS_FT_FONT void test_ft_scaled_font() { FcPattern* invalid = FcPatternCreate(); Cairo::RefPtr invalid_face; BOOST_CHECK_THROW(invalid_face = Cairo::FtFontFace::create(invalid), std::bad_alloc); // basically taken from the cairo test case -- we don't care what font we're // using so just create an empty pattern and do the minimal substitution to // get a valid pattern FcPattern* pattern = FcPatternCreate(); FcConfigSubstitute (NULL, pattern, FcMatchPattern); FcDefaultSubstitute (pattern); FcResult result; FcPattern* resolved = FcFontMatch (NULL, pattern, &result); Cairo::RefPtr face = Cairo::FtFontFace::create(resolved); BOOST_CHECK(face); cairo_scaled_font_t* c_scaled_font = 0; int refcount = 0; { Cairo::RefPtr scaled_font = FtScaledFont::create(face, Cairo::identity_matrix(), Cairo::identity_matrix(), FontOptions()); c_scaled_font = scaled_font->cobj(); refcount = cairo_scaled_font_get_reference_count(c_scaled_font); } // make sure that the base destructor is called BOOST_CHECK_EQUAL(cairo_scaled_font_get_reference_count(c_scaled_font), refcount -1); } #endif // CAIRO_HAS_FT_FONT test_suite* init_unit_test_suite(int argc, char* argv[]) { // compile even with -Werror if (argc && argv) {} test_suite* test= BOOST_TEST_SUITE( "Cairo::ScaledFont Tests" ); test->add(BOOST_TEST_CASE(&test_construction)); test->add(BOOST_TEST_CASE(&test_text_to_glyphs)); test->add(BOOST_TEST_CASE(&test_scale_matrix)); test->add(BOOST_TEST_CASE(&test_get_font_face)); #ifdef CAIRO_HAS_FT_FONT test->add(BOOST_TEST_CASE(&test_ft_scaled_font)); #endif // CAIRO_HAS_FT_FONT return test; } cairomm-1.10.0/tests/PaxHeaders.11012/test-font-face.cc0000644000175000017500000000005011561715437020534 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/test-font-face.cc0000644000175000017500000000732211561715437020754 0ustar00murraycmurrayc00000000000000// vim: ts=2 sw=2 et /* * These tests are of limited usefulness. In fact, you might even say that * they're not really tests at all. But I felt that it would be useful to have * some basic usage of most functions just to verify that things compile and * work generally */ #include #include #include #include #include using namespace boost::unit_test; #include #include #include #include #include #ifdef CAIRO_HAS_WIN32_FONT #include #include #endif // CAIRO_HAS_WIN32_FONT void test_create_toy () { Cairo::RefPtr toy = Cairo::ToyFontFace::create("sans", Cairo::FONT_SLANT_ITALIC, Cairo::FONT_WEIGHT_NORMAL); BOOST_CHECK (toy); BOOST_CHECK_EQUAL (CAIRO_STATUS_SUCCESS, toy->get_status()); } void test_toy_getters () { Cairo::RefPtr toy = Cairo::ToyFontFace::create("sans", Cairo::FONT_SLANT_ITALIC, Cairo::FONT_WEIGHT_NORMAL); BOOST_CHECK_EQUAL ("sans", toy->get_family()); BOOST_CHECK_EQUAL (Cairo::FONT_SLANT_ITALIC, toy->get_slant()); BOOST_CHECK_EQUAL (Cairo::FONT_WEIGHT_NORMAL, toy->get_weight()); BOOST_CHECK_EQUAL (Cairo::FONT_TYPE_TOY, toy->get_type()); } #ifdef CAIRO_HAS_FT_FONT void test_ft_font_face() { FcPattern* invalid = FcPatternCreate(); Cairo::RefPtr invalid_face; BOOST_CHECK_THROW(invalid_face = Cairo::FtFontFace::create(invalid), std::bad_alloc); // basically taken from the cairo test case -- we don't care what font we're // using so just create an empty pattern and do the minimal substitution to // get a valid pattern FcPattern* pattern = FcPatternCreate(); FcConfigSubstitute (NULL, pattern, FcMatchPattern); FcDefaultSubstitute (pattern); FcResult result; FcPattern* resolved = FcFontMatch (NULL, pattern, &result); Cairo::RefPtr face = Cairo::FtFontFace::create(resolved); BOOST_CHECK(face); // FIXME: test creating from a FT_Face } #endif // CAIRO_HAS_FT_FONT #ifdef CAIRO_HAS_WIN32_FONT void test_win32_font_face() { LOGFONTW lf; lf.lfHeight = 10; lf.lfWidth = 0; lf.lfEscapement = 0; lf.lfOrientation = 0; lf.lfWeight = FW_NORMAL; lf.lfItalic = FALSE; lf.lfUnderline = FALSE; lf.lfStrikeOut = FALSE; lf.lfCharSet = ANSI_CHARSET; lf.lfOutPrecision = OUT_DEFAULT_PRECIS; lf.lfClipPrecision = CLIP_DEFAULT_PRECIS; lf.lfQuality = DEFAULT_QUALITY; lf.lfPitchAndFamily = DEFAULT_PITCH; wcscpy(lf.lfFaceName, L"Courier New"); Cairo::RefPtr fc(Cairo::Win32FontFace::create(&lf)); BOOST_CHECK(fc); Cairo::RefPtr sfc(Cairo::ImageSurface::create(Cairo::FORMAT_RGB24, 100, 100)); Cairo::RefPtr cr(Cairo::Context::create(sfc)); cr->translate(0.0, 50.0); cr->set_source_rgb(1.0, 1.0, 1.0); BOOST_CHECK_NO_THROW(cr->set_font_face(fc)); BOOST_CHECK_NO_THROW(cr->show_text("Hello, World!")); } #endif // CAIRO_HAS_WIN32_FONT test_suite* init_unit_test_suite(int argc, char* argv[]) { // compile even with -Werror if (argc && argv) {} test_suite* test= BOOST_TEST_SUITE( "Cairo::FontFace Tests" ); test->add (BOOST_TEST_CASE (&test_create_toy)); test->add (BOOST_TEST_CASE (&test_toy_getters)); #ifdef CAIRO_HAS_FT_FONT test->add (BOOST_TEST_CASE (&test_ft_font_face)); #endif // CAIRO_HAS_FT_FONT #ifdef CAIRO_HAS_WIN32_FONT test->add (BOOST_TEST_CASE (&test_win32_font_face)); #endif // CAIRO_HAS_WIN32_FONT return test; } cairomm-1.10.0/tests/PaxHeaders.11012/test-matrix.cc0000644000175000017500000000005011561715437020176 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/test-matrix.cc0000644000175000017500000000727111561715437020421 0ustar00murraycmurrayc00000000000000#include #include #include using namespace boost::unit_test; #include // this is necessary for BOOST_CHECK_EQUAL, but there's no equivalent in the C // API, so I'm reluctant to include it in cairomm right now bool operator==(const Cairo::Matrix& A, const Cairo::Matrix& B) { return A.xx == B.xx && A.yx == B.yx && A.xy == B.xy && A.yy == B.yy && A.x0 == B.x0 && A.y0 == B.y0; } // this is necessary for BOOST_CHECK_EQUAL to work but doesn't seem useful // enough to put in the actual implementation std::ostream& operator<<(std::ostream& out, const Cairo::Matrix& matrix) { return out << "[ " << matrix.xx << ", " << matrix.yx << ", " << matrix.xy << ", " << matrix.yy << ", " << matrix.x0 << ", " << matrix.y0 << " ]"; } void test_constructors() { cairo_matrix_t c_identity; cairo_matrix_init_identity(&c_identity); BOOST_CHECK_EQUAL(c_identity.xx, Cairo::identity_matrix().xx); BOOST_CHECK_EQUAL(c_identity.xy, Cairo::identity_matrix().xy); BOOST_CHECK_EQUAL(c_identity.yx, Cairo::identity_matrix().yx); BOOST_CHECK_EQUAL(c_identity.yy, Cairo::identity_matrix().yy); BOOST_CHECK_EQUAL(c_identity.x0, Cairo::identity_matrix().x0); BOOST_CHECK_EQUAL(c_identity.y0, Cairo::identity_matrix().y0); // nonsense values, just for testing const double xx=1, yx=2, xy=3, yy=5, x0=6, y0=7; cairo_matrix_t c_matrix; cairo_matrix_init(&c_matrix, xx, yx, xy, yy, x0, y0); Cairo::Matrix cpp_matrix(xx, yx, xy, yy, x0, y0); BOOST_CHECK_EQUAL(c_matrix.xx, cpp_matrix.xx); BOOST_CHECK_EQUAL(c_matrix.xy, cpp_matrix.xy); BOOST_CHECK_EQUAL(c_matrix.yx, cpp_matrix.yx); BOOST_CHECK_EQUAL(c_matrix.yy, cpp_matrix.yy); BOOST_CHECK_EQUAL(c_matrix.x0, cpp_matrix.x0); BOOST_CHECK_EQUAL(c_matrix.y0, cpp_matrix.y0); } void test_invert() { // test a valid matrix BOOST_CHECK_NO_THROW(Cairo::identity_matrix().invert()); // check a degenerate matrix Cairo::Matrix degenerate(0,0,0,0,0,0); BOOST_CHECK_THROW(degenerate.invert(), std::logic_error); } cairo_matrix_t* test_matrix = 0; static void foo(cairo_matrix_t* matrix) { test_matrix = matrix; } void test_cast() { // make sure that we can cast between C++ and C types without ill effect Cairo::Matrix matrix = Cairo::identity_matrix(); cairo_matrix_t casted = (cairo_matrix_t) Cairo::identity_matrix(); // check that it's equal to the identity matrix cairo_matrix_t identity; cairo_matrix_init_identity(&identity); BOOST_CHECK_EQUAL(casted.xx, identity.xx); BOOST_CHECK_EQUAL(casted.xy, identity.xy); BOOST_CHECK_EQUAL(casted.yx, identity.yx); BOOST_CHECK_EQUAL(casted.yy, identity.yy); BOOST_CHECK_EQUAL(casted.x0, identity.x0); BOOST_CHECK_EQUAL(casted.y0, identity.y0); // pass C++ type as an argument to C foo(&matrix); BOOST_CHECK_EQUAL(matrix.xx, test_matrix->xx); BOOST_CHECK_EQUAL(matrix.xy, test_matrix->xy); BOOST_CHECK_EQUAL(matrix.yx, test_matrix->yx); BOOST_CHECK_EQUAL(matrix.yy, test_matrix->yy); BOOST_CHECK_EQUAL(matrix.x0, test_matrix->x0); BOOST_CHECK_EQUAL(matrix.y0, test_matrix->y0); } void test_multiply() { Cairo::Matrix A = Cairo::scaling_matrix(2, 4); Cairo::Matrix B = Cairo::translation_matrix(5.3, 1.2); Cairo::Matrix C = A * B; Cairo::Matrix D; D.multiply(A, B); BOOST_CHECK_EQUAL(C, D); } test_suite* init_unit_test_suite(int /*argc*/, char** /*argv*/) { test_suite* test= BOOST_TEST_SUITE( "Cairo::Matrix Tests" ); test->add (BOOST_TEST_CASE (&test_constructors)); test->add (BOOST_TEST_CASE (&test_invert)); test->add (BOOST_TEST_CASE (&test_cast)); test->add (BOOST_TEST_CASE (&test_multiply)); return test; } cairomm-1.10.0/tests/PaxHeaders.11012/test-user-font.cc0000644000175000017500000000005011561715437020614 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/test-user-font.cc0000644000175000017500000002633111561715437021035 0ustar00murraycmurrayc00000000000000// vim: ts=2 sw=2 et /* * These tests are of limited usefulness. In fact, you might even say that * they're not really tests at all. But I felt that it would be useful to have * some basic usage of most functions just to verify that things compile and * work generally */ #include #include #include #include #include using namespace boost::unit_test; #include #include #include #include using namespace Cairo; // little utility helper classes struct TestSetup { TestSetup() { surface = ImageSurface::create(Cairo::FORMAT_ARGB32, 100, 100); cr = Cairo::Context::create(surface); } RefPtr cr; RefPtr surface; }; // a no-op-render user font base class class NullRenderUserFont : public UserFontFace { public: ErrorStatus render_glyph(const RefPtr& /*scaled_font*/, unsigned long /*glyph*/, const RefPtr& /*cr*/, TextExtents& /*metrics*/) { ++count_render_glyph; return CAIRO_STATUS_SUCCESS; } int count_render_glyph; protected: NullRenderUserFont() : UserFontFace(), count_render_glyph(0) {} }; /****************************** * test_implement_text ******************************/ class ImplTextUserFont: public NullRenderUserFont { public: static RefPtr create() { return RefPtr(new ImplTextUserFont());}; virtual ErrorStatus text_to_glyphs(const RefPtr& /*scaled_font*/, const std::string& /*utf8*/, std::vector& glyphs, std::vector& /*clusters*/, TextClusterFlags& /*cluster_flags*/) { ++count_text_to_glyphs; // return an arbitrary glyph Glyph g = {84, 0, 0}; glyphs.push_back(g); return CAIRO_STATUS_SUCCESS; } int count_text_to_glyphs; protected: ImplTextUserFont() : count_text_to_glyphs(0) {} }; void test_implement_text() { TestSetup setup; RefPtr font = ImplTextUserFont::create(); setup.cr->set_font_face(font); setup.cr->show_text("hello"); BOOST_REQUIRE(font->count_text_to_glyphs > 0); BOOST_REQUIRE(font->count_render_glyph > 0); } /****************************** * test_implement_unicode ******************************/ class ImplUnicodeUserFont: public NullRenderUserFont { public: static RefPtr create() { return RefPtr(new ImplUnicodeUserFont());}; virtual ErrorStatus unicode_to_glyph(const RefPtr& /*scaled_font*/, unsigned long /*unicode*/, unsigned long& /*glyph*/) { ++count_unicode_to_glyph; return CAIRO_STATUS_SUCCESS;} int count_unicode_to_glyph; protected: ImplUnicodeUserFont() : NullRenderUserFont(), count_unicode_to_glyph(0) {} }; void test_implement_unicode() { TestSetup setup; RefPtr font = ImplTextUserFont::create(); setup.cr->set_font_face(font); setup.cr->show_text("hello"); BOOST_REQUIRE(font->count_text_to_glyphs > 0); BOOST_REQUIRE(font->count_render_glyph > 0); } /****************************** * test_implement_both ******************************/ class ImplBothUserFont: public NullRenderUserFont { public: static RefPtr create() { return RefPtr(new ImplBothUserFont());}; virtual ErrorStatus unicode_to_glyph(const RefPtr& /*scaled_font*/, unsigned long /*unicode*/, unsigned long& /*glyph*/) { ++count_unicode_to_glyph; return CAIRO_STATUS_SUCCESS;} int count_unicode_to_glyph; virtual ErrorStatus text_to_glyphs(const RefPtr& /*scaled_font*/, const std::string& /*utf8*/, std::vector& glyphs, std::vector& /*clusters*/, TextClusterFlags& /*cluster_flags*/) { ++count_text_to_glyphs; // return an arbitrary glyph Glyph g = {84, 0, 0}; glyphs.push_back(g); return CAIRO_STATUS_SUCCESS; } int count_text_to_glyphs; protected: ImplBothUserFont() : NullRenderUserFont(), count_unicode_to_glyph(0), count_text_to_glyphs(0) {} }; void test_implement_both() { TestSetup setup; RefPtr font = ImplBothUserFont::create(); setup.cr->set_font_face(font); setup.cr->show_text("hello"); // text_to_glyphs should take precedence BOOST_REQUIRE(font->count_text_to_glyphs > 0); BOOST_REQUIRE(font->count_unicode_to_glyph == 0); BOOST_REQUIRE(font->count_render_glyph > 0); } /****************************** * test_implement_neither ******************************/ class ImplNeitherUserFont: public NullRenderUserFont { public: static RefPtr create() { return RefPtr(new ImplNeitherUserFont());}; protected: ImplNeitherUserFont() : NullRenderUserFont() {} }; void test_implement_neither() { TestSetup setup; RefPtr font = ImplNeitherUserFont::create(); setup.cr->set_font_face(font); setup.cr->show_text("hello"); BOOST_REQUIRE(font->count_render_glyph > 0); } /****************************** * test_implement_init ******************************/ class ImplInitUserFont: public NullRenderUserFont { public: static RefPtr create() { return RefPtr(new ImplInitUserFont());}; ErrorStatus init(const RefPtr& /*scaled_font*/, const RefPtr& /*cr*/, FontExtents& /*extents*/) {++count_init; return CAIRO_STATUS_SUCCESS;} int count_init; protected: ImplInitUserFont() : NullRenderUserFont(), count_init(0) {} }; void test_implement_init() { TestSetup setup; RefPtr font = ImplInitUserFont::create(); setup.cr->set_font_face(font); setup.cr->show_text("hello"); BOOST_REQUIRE(font->count_init > 0); BOOST_REQUIRE(font->count_render_glyph > 0); } class ExceptionUserFont : public UserFontFace { public: static RefPtr create(int flags) { return RefPtr(new ExceptionUserFont(flags));}; ErrorStatus render_glyph(const RefPtr& /*scaled_font*/, unsigned long /*glyph*/, const RefPtr& /*cr*/, TextExtents& /*metrics*/) { count_render_glyph++; if (m_flags & FLAG_RENDER) throw std::logic_error("render-glyph exception"); return CAIRO_STATUS_SUCCESS; } ErrorStatus unicode_to_glyph(const RefPtr& /*scaled_font*/, unsigned long unicode, unsigned long& glyph) { count_unicode_to_glyph++; if (m_flags & FLAG_UNICODE) throw std::logic_error("unicode-to-glyph exception"); glyph = unicode; return CAIRO_STATUS_SUCCESS; } ErrorStatus init(const RefPtr& /*scaled_font*/, const RefPtr& /*cr*/, FontExtents& /*extents*/) { count_init++; if (m_flags & FLAG_INIT) throw std::logic_error("init exception"); return CAIRO_STATUS_SUCCESS; } int count_render_glyph; int count_text_to_glyphs; int count_unicode_to_glyph; int count_init; int m_flags; static const int FLAG_INIT = 1 << 0; static const int FLAG_UNICODE = 1 << 1; static const int FLAG_RENDER = 1 << 2; protected: ExceptionUserFont(int flags) : UserFontFace(), count_render_glyph(0), count_text_to_glyphs(0), count_unicode_to_glyph(0), count_init(0), m_flags(flags) {} }; void test_user_font_exception() { Cairo::RefPtr font = ExceptionUserFont::create(ExceptionUserFont::FLAG_INIT); BOOST_CHECK(font); // the init() callback will throw an exception, if this isn't handled in the // callback wrapper, the program will abort since an exception can't unwind // through C code. However, due to the exception being thrown, the create() // function will fail and throw a new exception. So if the executable doesn't // abort, we should get an exception here. Cairo::RefPtr scaled_font; BOOST_CHECK_THROW (scaled_font = Cairo::ScaledFont::create(font, Cairo::scaling_matrix(10, 10), Cairo::identity_matrix(), Cairo::FontOptions()), Cairo::logic_error); BOOST_CHECK (font->count_init > 0); // now test when an exception is thrown in unicode_to_glyph font = ExceptionUserFont::create(ExceptionUserFont::FLAG_UNICODE); BOOST_CHECK_NO_THROW (scaled_font = Cairo::ScaledFont::create(font, Cairo::scaling_matrix(10, 10), Cairo::identity_matrix(), Cairo::FontOptions())); TestSetup setup; setup.cr->set_font_face(font); // this call should throw an exception since the callback wrapper will return // an error status (that will be translated into an exception) but the test // shouldn't abort since the callback exceptions are handled by the callback // wrapper BOOST_REQUIRE_EQUAL (CAIRO_STATUS_SUCCESS, font->get_status()); BOOST_CHECK_THROW(setup.cr->show_text("Hello, world"), Cairo::logic_error); BOOST_CHECK(font->count_unicode_to_glyph > 0); BOOST_CHECK_EQUAL(font->count_render_glyph, 0); // now test when an exception is thrown in render_glyph font = ExceptionUserFont::create(ExceptionUserFont::FLAG_RENDER); BOOST_CHECK_NO_THROW (scaled_font = Cairo::ScaledFont::create(font, Cairo::scaling_matrix(10, 10), Cairo::identity_matrix(), Cairo::FontOptions())); // need a new setup since the old cr is now in an error state, so attemtping // to use it will throw an exception TestSetup setup2; BOOST_CHECK_NO_THROW(setup2.cr->set_font_face(font)); BOOST_REQUIRE_EQUAL (CAIRO_STATUS_SUCCESS, font->get_status()); BOOST_CHECK_THROW(setup2.cr->show_text("Hello, world"), Cairo::logic_error); BOOST_CHECK (font->count_unicode_to_glyph > 0); BOOST_CHECK (font->count_render_glyph > 0); } test_suite* init_unit_test_suite(int argc, char* argv[]) { // compile even with -Werror if (argc && argv) {} test_suite* test= BOOST_TEST_SUITE( "Cairo::UserFontFace Tests" ); test->add (BOOST_TEST_CASE (&test_implement_text)); test->add (BOOST_TEST_CASE (&test_implement_unicode)); test->add (BOOST_TEST_CASE (&test_implement_both)); test->add (BOOST_TEST_CASE (&test_implement_neither)); test->add (BOOST_TEST_CASE (&test_implement_init)); test->add (BOOST_TEST_CASE (&test_user_font_exception)); return test; } cairomm-1.10.0/tests/PaxHeaders.11012/test-surface.cc0000644000175000017500000000005011561715437020322 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/test-surface.cc0000644000175000017500000001036211561715437020540 0ustar00murraycmurrayc00000000000000#include #include #include #include using namespace boost::unit_test; #include using namespace Cairo; static unsigned int test_slot_called = 0; ErrorStatus test_slot(const unsigned char* /*data*/, unsigned int /*len*/) { test_slot_called++; return CAIRO_STATUS_SUCCESS; } void test_write_to_png_stream() { RefPtr surface = ImageSurface::create(FORMAT_ARGB32, 1, 1); surface->write_to_png_stream(sigc::ptr_fun(test_slot)); BOOST_CHECK(test_slot_called > 0); } void test_pdf_constructor_slot() { test_slot_called = 0; RefPtr pdf = PdfSurface::create_for_stream(sigc::ptr_fun(&test_slot), 1, 1); pdf->show_page(); pdf->finish(); BOOST_CHECK(test_slot_called > 0); } void test_ps_constructor_slot() { test_slot_called = 0; RefPtr ps = PsSurface::create_for_stream(sigc::ptr_fun(&test_slot), 1, 1); ps->show_page(); ps->finish(); BOOST_CHECK(test_slot_called > 0); } void test_svg_constructor_slot() { test_slot_called = 0; RefPtr svg = SvgSurface::create_for_stream(sigc::ptr_fun(&test_slot), 1, 1); svg->show_page(); svg->finish(); BOOST_CHECK(test_slot_called > 0); } static std::ifstream png_file; unsigned int test_read_func_called = 0; static ErrorStatus test_read_func(unsigned char* data, unsigned int len) { ++test_read_func_called; if (png_file.read(reinterpret_cast(data), len)) return CAIRO_STATUS_SUCCESS; return CAIRO_STATUS_READ_ERROR; } unsigned int c_test_read_func_called = 0; static cairo_status_t c_test_read_func(void* /*closure*/, unsigned char* data, unsigned int len) { ++c_test_read_func_called; if (png_file.read(reinterpret_cast(data), len)) return CAIRO_STATUS_SUCCESS; return CAIRO_STATUS_READ_ERROR; } void test_create_from_png() { RefPtr surface; // try the sigc::slot version png_file.open(PNG_STREAM_FILE); surface = ImageSurface::create_from_png_stream(sigc::ptr_fun(&test_read_func)); png_file.close(); BOOST_CHECK(test_read_func_called > 0); // now try the raw C function (deprecated) version png_file.open(PNG_STREAM_FILE); surface = ImageSurface::create_from_png(&c_test_read_func, NULL); png_file.close(); BOOST_CHECK(c_test_read_func_called > 0); } void test_ps_eps() { RefPtr ps = PsSurface::create("test.ps", 1, 1); // check the initial value bool result = ps->get_eps(); // set it to the opposite value ps->set_eps(!result); // verify BOOST_CHECK_EQUAL(ps->get_eps(), !result); } void test_content() { RefPtr surface = ImageSurface::create(FORMAT_ARGB32, 1, 1); BOOST_CHECK_EQUAL(surface->get_content(), CONTENT_COLOR_ALPHA); RefPtr similar = Surface::create(surface, CONTENT_ALPHA, 1, 1); BOOST_REQUIRE(similar); BOOST_CHECK_EQUAL(similar->get_content(), CONTENT_ALPHA); } void test_fallback_resolution() { RefPtr surface = ImageSurface::create(FORMAT_ARGB32, 1, 1); double x, y; surface->get_fallback_resolution(x, y); const double new_x = 94, new_y = 123; surface->set_fallback_resolution(new_x, new_y); surface->get_fallback_resolution(x, y); BOOST_CHECK_EQUAL(x, new_x); BOOST_CHECK_EQUAL(y, new_y); } void test_show_text_glyphs() { // image surface doesn't support show_text_glyphs Cairo::RefPtr surf = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 10, 10); \ BOOST_CHECK(!surf->has_show_text_glyphs()); // but pdf surface should surf = Cairo::PdfSurface::create("test.pdf", 10.0, 10.0); BOOST_CHECK(surf->has_show_text_glyphs()); } test_suite* init_unit_test_suite(int argc, char* argv[]) { // compile even with -Werror if (argc && argv) {} test_suite* test= BOOST_TEST_SUITE( "Cairo::Surface Tests" ); test->add (BOOST_TEST_CASE (&test_write_to_png_stream)); test->add (BOOST_TEST_CASE (&test_pdf_constructor_slot)); test->add (BOOST_TEST_CASE (&test_ps_constructor_slot)); test->add (BOOST_TEST_CASE (&test_svg_constructor_slot)); test->add (BOOST_TEST_CASE (&test_create_from_png)); test->add (BOOST_TEST_CASE (&test_ps_eps)); test->add (BOOST_TEST_CASE (&test_content)); test->add (BOOST_TEST_CASE (&test_show_text_glyphs)); return test; } cairomm-1.10.0/tests/PaxHeaders.11012/test-font-options.cc0000644000175000017500000000005011561715437021331 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/test-font-options.cc0000644000175000017500000000245011561715437021546 0ustar00murraycmurrayc00000000000000#include #include #include #include using namespace boost::unit_test; using namespace Cairo; void test_excercise() { // just excercise all of the methods Cairo::FontOptions options; Cairo::FontOptions other; options.merge(other); options.hash(); options.set_antialias(Cairo::ANTIALIAS_SUBPIXEL); Cairo::Antialias antialias = options.get_antialias(); BOOST_CHECK_EQUAL(Cairo::ANTIALIAS_SUBPIXEL, antialias); options.set_subpixel_order(Cairo::SUBPIXEL_ORDER_DEFAULT); Cairo::SubpixelOrder order = options.get_subpixel_order(); BOOST_CHECK_EQUAL(Cairo::SUBPIXEL_ORDER_DEFAULT, order); options.set_hint_style(Cairo::HINT_STYLE_SLIGHT); Cairo::HintStyle hint_style = options.get_hint_style(); BOOST_CHECK_EQUAL(Cairo::HINT_STYLE_SLIGHT, hint_style); options.set_hint_metrics(Cairo::HINT_METRICS_OFF); Cairo::HintMetrics metrics = options.get_hint_metrics(); BOOST_CHECK_EQUAL(Cairo::HINT_METRICS_OFF, metrics); } test_suite* init_unit_test_suite(int argc, char* argv[]) { // compile even with -Werror if (argc && argv) {} test_suite* test= BOOST_TEST_SUITE( "Cairo::Context Tests" ); test->add (BOOST_TEST_CASE (&test_excercise)); return test; } cairomm-1.10.0/tests/PaxHeaders.11012/Makefile.in0000644000175000017500000000005011561716335017451 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/Makefile.in0000644000175000017500000005715511561716335017702 0ustar00murraycmurrayc00000000000000# Makefile.in generated by automake 1.10.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @AUTOTESTS_TRUE@TESTS = test-context$(EXEEXT) test-font-face$(EXEEXT) \ @AUTOTESTS_TRUE@ test-surface$(EXEEXT) \ @AUTOTESTS_TRUE@ test-scaled-font$(EXEEXT) \ @AUTOTESTS_TRUE@ test-font-options$(EXEEXT) \ @AUTOTESTS_TRUE@ test-matrix$(EXEEXT) test-user-font$(EXEEXT) @AUTOTESTS_TRUE@noinst_PROGRAMS = $(am__EXEEXT_1) subdir = tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/ax_boost_base.m4 \ $(top_srcdir)/build/ax_boost_unit_test_framework.m4 \ $(top_srcdir)/build/libtool.m4 \ $(top_srcdir)/build/ltoptions.m4 \ $(top_srcdir)/build/ltsugar.m4 \ $(top_srcdir)/build/ltversion.m4 \ $(top_srcdir)/build/lt~obsolete.m4 \ $(top_srcdir)/build/reduced.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/build/config.h \ $(top_builddir)/cairommconfig.h CONFIG_CLEAN_FILES = @AUTOTESTS_TRUE@am__EXEEXT_1 = test-context$(EXEEXT) \ @AUTOTESTS_TRUE@ test-font-face$(EXEEXT) test-surface$(EXEEXT) \ @AUTOTESTS_TRUE@ test-scaled-font$(EXEEXT) \ @AUTOTESTS_TRUE@ test-font-options$(EXEEXT) \ @AUTOTESTS_TRUE@ test-matrix$(EXEEXT) test-user-font$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) am__test_context_SOURCES_DIST = test-context.cc @AUTOTESTS_TRUE@am_test_context_OBJECTS = test-context.$(OBJEXT) test_context_OBJECTS = $(am_test_context_OBJECTS) test_context_LDADD = $(LDADD) am__test_font_face_SOURCES_DIST = test-font-face.cc @AUTOTESTS_TRUE@am_test_font_face_OBJECTS = test-font-face.$(OBJEXT) test_font_face_OBJECTS = $(am_test_font_face_OBJECTS) test_font_face_LDADD = $(LDADD) am__test_font_options_SOURCES_DIST = test-font-options.cc @AUTOTESTS_TRUE@am_test_font_options_OBJECTS = \ @AUTOTESTS_TRUE@ test-font-options.$(OBJEXT) test_font_options_OBJECTS = $(am_test_font_options_OBJECTS) test_font_options_LDADD = $(LDADD) am__test_matrix_SOURCES_DIST = test-matrix.cc @AUTOTESTS_TRUE@am_test_matrix_OBJECTS = test-matrix.$(OBJEXT) test_matrix_OBJECTS = $(am_test_matrix_OBJECTS) test_matrix_LDADD = $(LDADD) am__test_scaled_font_SOURCES_DIST = test-scaled-font.cc @AUTOTESTS_TRUE@am_test_scaled_font_OBJECTS = \ @AUTOTESTS_TRUE@ test-scaled-font.$(OBJEXT) test_scaled_font_OBJECTS = $(am_test_scaled_font_OBJECTS) test_scaled_font_LDADD = $(LDADD) am__test_surface_SOURCES_DIST = test-surface.cc @AUTOTESTS_TRUE@am_test_surface_OBJECTS = \ @AUTOTESTS_TRUE@ test_surface-test-surface.$(OBJEXT) test_surface_OBJECTS = $(am_test_surface_OBJECTS) test_surface_LDADD = $(LDADD) am__test_user_font_SOURCES_DIST = test-user-font.cc @AUTOTESTS_TRUE@am_test_user_font_OBJECTS = test-user-font.$(OBJEXT) test_user_font_OBJECTS = $(am_test_user_font_OBJECTS) test_user_font_LDADD = $(LDADD) DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/build/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_context_SOURCES) $(test_font_face_SOURCES) \ $(test_font_options_SOURCES) $(test_matrix_SOURCES) \ $(test_scaled_font_SOURCES) $(test_surface_SOURCES) \ $(test_user_font_SOURCES) DIST_SOURCES = $(am__test_context_SOURCES_DIST) \ $(am__test_font_face_SOURCES_DIST) \ $(am__test_font_options_SOURCES_DIST) \ $(am__test_matrix_SOURCES_DIST) \ $(am__test_scaled_font_SOURCES_DIST) \ $(am__test_surface_SOURCES_DIST) \ $(am__test_user_font_SOURCES_DIST) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_FLAGS = @ACLOCAL_FLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_LDFLAGS = @BOOST_LDFLAGS@ BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@ BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB = @BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB@ CAIROMM_API_VERSION = @CAIROMM_API_VERSION@ CAIROMM_CFLAGS = @CAIROMM_CFLAGS@ CAIROMM_INSTALL_PC = @CAIROMM_INSTALL_PC@ CAIROMM_LIBS = @CAIROMM_LIBS@ CAIROMM_MAJOR_VERSION = @CAIROMM_MAJOR_VERSION@ CAIROMM_MICRO_VERSION = @CAIROMM_MICRO_VERSION@ CAIROMM_MINOR_VERSION = @CAIROMM_MINOR_VERSION@ CAIROMM_MODULES = @CAIROMM_MODULES@ CAIROMM_MODULE_NAME = @CAIROMM_MODULE_NAME@ CAIROMM_SO_VERSION = @CAIROMM_SO_VERSION@ CAIROMM_VERSION = @CAIROMM_VERSION@ CAIROMM_WXXFLAGS = @CAIROMM_WXXFLAGS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DOCINSTALL_FLAGS = @DOCINSTALL_FLAGS@ DOT = @DOT@ DOXYGEN = @DOXYGEN@ DOXYGEN_TAGFILES = @DOXYGEN_TAGFILES@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ #The libraries that the executable needs to link against: LIBS = $(top_builddir)/cairomm/libcairomm-1.0.la @LIBS@ @CAIROMM_LIBS@ @BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MMDOCTOOLDIR = @MMDOCTOOLDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XSLTPROC = @XSLTPROC@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @AUTOTESTS_TRUE@test_context_SOURCES = test-context.cc @AUTOTESTS_TRUE@test_font_face_SOURCES = test-font-face.cc @AUTOTESTS_TRUE@test_user_font_SOURCES = test-user-font.cc @AUTOTESTS_TRUE@test_surface_SOURCES = test-surface.cc @AUTOTESTS_TRUE@test_scaled_font_SOURCES = test-scaled-font.cc @AUTOTESTS_TRUE@test_font_options_SOURCES = test-font-options.cc @AUTOTESTS_TRUE@test_matrix_SOURCES = test-matrix.cc @AUTOTESTS_TRUE@test_surface_CPPFLAGS = -DPNG_STREAM_FILE=\"$(srcdir)/png-stream-test.png\" #Where to find the header files needed by the source files: INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@ EXTRA_DIST = png-stream-test.png DISTCLEANFILES = test.ps test.pdf all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test-context$(EXEEXT): $(test_context_OBJECTS) $(test_context_DEPENDENCIES) @rm -f test-context$(EXEEXT) $(CXXLINK) $(test_context_OBJECTS) $(test_context_LDADD) $(LIBS) test-font-face$(EXEEXT): $(test_font_face_OBJECTS) $(test_font_face_DEPENDENCIES) @rm -f test-font-face$(EXEEXT) $(CXXLINK) $(test_font_face_OBJECTS) $(test_font_face_LDADD) $(LIBS) test-font-options$(EXEEXT): $(test_font_options_OBJECTS) $(test_font_options_DEPENDENCIES) @rm -f test-font-options$(EXEEXT) $(CXXLINK) $(test_font_options_OBJECTS) $(test_font_options_LDADD) $(LIBS) test-matrix$(EXEEXT): $(test_matrix_OBJECTS) $(test_matrix_DEPENDENCIES) @rm -f test-matrix$(EXEEXT) $(CXXLINK) $(test_matrix_OBJECTS) $(test_matrix_LDADD) $(LIBS) test-scaled-font$(EXEEXT): $(test_scaled_font_OBJECTS) $(test_scaled_font_DEPENDENCIES) @rm -f test-scaled-font$(EXEEXT) $(CXXLINK) $(test_scaled_font_OBJECTS) $(test_scaled_font_LDADD) $(LIBS) test-surface$(EXEEXT): $(test_surface_OBJECTS) $(test_surface_DEPENDENCIES) @rm -f test-surface$(EXEEXT) $(CXXLINK) $(test_surface_OBJECTS) $(test_surface_LDADD) $(LIBS) test-user-font$(EXEEXT): $(test_user_font_OBJECTS) $(test_user_font_DEPENDENCIES) @rm -f test-user-font$(EXEEXT) $(CXXLINK) $(test_user_font_OBJECTS) $(test_user_font_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-context.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-font-face.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-font-options.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-matrix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-scaled-font.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-user-font.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_surface-test-surface.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< test_surface-test-surface.o: test-surface.cc @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_surface_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_surface-test-surface.o -MD -MP -MF $(DEPDIR)/test_surface-test-surface.Tpo -c -o test_surface-test-surface.o `test -f 'test-surface.cc' || echo '$(srcdir)/'`test-surface.cc @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/test_surface-test-surface.Tpo $(DEPDIR)/test_surface-test-surface.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='test-surface.cc' object='test_surface-test-surface.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_surface_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_surface-test-surface.o `test -f 'test-surface.cc' || echo '$(srcdir)/'`test-surface.cc test_surface-test-surface.obj: test-surface.cc @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_surface_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_surface-test-surface.obj -MD -MP -MF $(DEPDIR)/test_surface-test-surface.Tpo -c -o test_surface-test-surface.obj `if test -f 'test-surface.cc'; then $(CYGPATH_W) 'test-surface.cc'; else $(CYGPATH_W) '$(srcdir)/test-surface.cc'; fi` @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/test_surface-test-surface.Tpo $(DEPDIR)/test_surface-test-surface.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='test-surface.cc' object='test_surface-test-surface.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_surface_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_surface-test-surface.obj `if test -f 'test-surface.cc'; then $(CYGPATH_W) 'test-surface.cc'; else $(CYGPATH_W) '$(srcdir)/test-surface.cc'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$all" -eq 1; then \ tests="test"; \ All=""; \ else \ tests="tests"; \ All="All "; \ fi; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="$$All$$all $$tests passed"; \ else \ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all $$tests failed"; \ else \ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ skipped="($$skip test was not run)"; \ else \ skipped="($$skip tests were not run)"; \ fi; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-generic clean-libtool clean-noinstPROGRAMS ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: cairomm-1.10.0/tests/PaxHeaders.11012/Makefile.am0000644000175000017500000000005011561715437017442 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/Makefile.am0000644000175000017500000000162411561715437017661 0ustar00murraycmurrayc00000000000000if AUTOTESTS # build automated 'tests' TESTS=test-context test-font-face test-surface test-scaled-font test-font-options test-matrix test-user-font noinst_PROGRAMS = $(TESTS) test_context_SOURCES=test-context.cc test_font_face_SOURCES=test-font-face.cc test_user_font_SOURCES=test-user-font.cc test_surface_SOURCES=test-surface.cc test_scaled_font_SOURCES=test-scaled-font.cc test_font_options_SOURCES=test-font-options.cc test_matrix_SOURCES=test-matrix.cc test_surface_CPPFLAGS=-DPNG_STREAM_FILE=\"$(srcdir)/png-stream-test.png\" else #don't build anything TESTS= endif #Where to find the header files needed by the source files: INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@ #The libraries that the executable needs to link against: LIBS = $(top_builddir)/cairomm/libcairomm-1.0.la @LIBS@ @CAIROMM_LIBS@ @BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB@ EXTRA_DIST=png-stream-test.png DISTCLEANFILES=test.ps test.pdf cairomm-1.10.0/tests/PaxHeaders.11012/png-stream-test.png0000644000175000017500000000005011561715437021146 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/png-stream-test.png0000644000175000017500000000023711561715437021364 0ustar00murraycmurrayc00000000000000‰PNG  IHDRwSÞsRGB®Îé pHYs  šœtIMEØ/ºhítEXtCommentCreated with GIMPW IDAT×c```'4' IEND®B`‚cairomm-1.10.0/tests/PaxHeaders.11012/test-context.cc0000644000175000017500000000005011561715437020356 xustar000000000000000020 atime=1304927613 20 ctime=1304927659 cairomm-1.10.0/tests/test-context.cc0000644000175000017500000002651411561715437020602 0ustar00murraycmurrayc00000000000000// vim: ts=2 sw=2 et /* * These tests are of limited usefulness. In fact, you might even say that * they're not really tests at all. But I felt that it would be useful to have * some basic usage of most functions just to verify that things compile and * work generally */ #include #include #include #include using namespace boost::unit_test; #include #include #define CREATE_CONTEXT(varname) \ Cairo::RefPtr surf = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 10, 10); \ Cairo::RefPtr cr = Cairo::Context::create(surf); void test_dashes () { CREATE_CONTEXT(cr); std::valarray dash_array(4); dash_array[0] = 0.1; dash_array[1] = 0.2; dash_array[2] = 0.04; dash_array[3] = 0.31; cr->set_dash(dash_array, 0.54); std::vector get_array; double get_offset; cr->get_dash (get_array, get_offset); BOOST_CHECK_EQUAL (dash_array[0], get_array[0]); BOOST_CHECK_EQUAL (dash_array[1], get_array[1]); BOOST_CHECK_EQUAL (dash_array[2], get_array[2]); BOOST_CHECK_EQUAL (dash_array[3], get_array[3]); BOOST_CHECK_EQUAL (0.54, get_offset); std::vector dash_vect(4); dash_vect[0] = 0.5; dash_vect[1] = 0.25; dash_vect[2] = 0.93; dash_vect[3] = 1.31; cr->set_dash(dash_vect, 0.4); cr->get_dash (get_array, get_offset); BOOST_CHECK_EQUAL (dash_vect[0], get_array[0]); BOOST_CHECK_EQUAL (dash_vect[1], get_array[1]); BOOST_CHECK_EQUAL (dash_vect[2], get_array[2]); BOOST_CHECK_EQUAL (dash_vect[3], get_array[3]); BOOST_CHECK_EQUAL (0.4, get_offset); cr->unset_dash (); cr->get_dash (get_array, get_offset); BOOST_CHECK (get_array.empty ()); } void test_save_restore () { CREATE_CONTEXT(cr); cr->set_line_width (2.3); cr->save (); cr->set_line_width (4.0); BOOST_CHECK_EQUAL (4.0, cr->get_line_width ()); cr->restore (); BOOST_CHECK_EQUAL (2.3, cr->get_line_width ()); } void test_operator () { CREATE_CONTEXT(cr); cr->set_operator (Cairo::OPERATOR_ATOP); BOOST_CHECK_EQUAL (Cairo::OPERATOR_ATOP, cr->get_operator ()); cr->set_operator (Cairo::OPERATOR_CLEAR); BOOST_CHECK_EQUAL (Cairo::OPERATOR_CLEAR, cr->get_operator ()); } void test_source () { CREATE_CONTEXT(cr); Cairo::RefPtr solid_pattern = Cairo::SolidPattern::create_rgb (1.0, 0.5, 0.25); Cairo::RefPtr gradient_pattern = Cairo::LinearGradient::create (0.0, 0.0, 1.0, 1.0); cr->set_source (solid_pattern); { Cairo::RefPtr retrieved_solid = Cairo::RefPtr::cast_dynamic(cr->get_source ()); BOOST_REQUIRE (retrieved_solid); double r, g, b, a; retrieved_solid->get_rgba (r, g, b, a); BOOST_CHECK_EQUAL (1.0, r); BOOST_CHECK_EQUAL (0.5, g); BOOST_CHECK_EQUAL (0.25, b); // now try for const objects.. Cairo::RefPtr cr2 = cr; Cairo::RefPtr retrieved_solid2 = Cairo::RefPtr::cast_dynamic(cr2->get_source ()); BOOST_REQUIRE (retrieved_solid2); } cr->set_source (gradient_pattern); { Cairo::RefPtr retrieved_linear = Cairo::RefPtr::cast_dynamic(cr->get_source ()); BOOST_REQUIRE (retrieved_linear); double x0, x1, y0, y1; retrieved_linear->get_linear_points (x0, y0, x1, y1); BOOST_CHECK_EQUAL (0.0, x0); BOOST_CHECK_EQUAL (0.0, y0); BOOST_CHECK_EQUAL (1.0, x1); BOOST_CHECK_EQUAL (1.0, y1); } cr->set_source_rgb (1.0, 0.5, 0.25); { Cairo::RefPtr solid = Cairo::RefPtr::cast_dynamic(cr->get_source ()); BOOST_REQUIRE (solid); double rx, gx, bx, ax; solid->get_rgba (rx, gx, bx, ax); BOOST_CHECK_EQUAL (1.0, rx); BOOST_CHECK_EQUAL (0.5, gx); BOOST_CHECK_EQUAL (0.25, bx); } cr->set_source_rgba (0.1, 0.3, 0.5, 0.7); { Cairo::RefPtr solid = Cairo::RefPtr::cast_dynamic(cr->get_source ()); BOOST_REQUIRE (solid); double rx, gx, bx, ax; solid->get_rgba (rx, gx, bx, ax); BOOST_CHECK_EQUAL (0.1, rx); BOOST_CHECK_EQUAL (0.3, gx); BOOST_CHECK_EQUAL (0.5, bx); BOOST_CHECK_EQUAL (0.7, ax); } } void test_tolerance () { CREATE_CONTEXT(cr); cr->set_tolerance (3.0); BOOST_CHECK_EQUAL (3.0, cr->get_tolerance ()); } void test_antialias () { CREATE_CONTEXT(cr); cr->set_antialias (Cairo::ANTIALIAS_GRAY); BOOST_CHECK_EQUAL (Cairo::ANTIALIAS_GRAY, cr->get_antialias ()); cr->set_antialias (Cairo::ANTIALIAS_SUBPIXEL); BOOST_CHECK_EQUAL (Cairo::ANTIALIAS_SUBPIXEL, cr->get_antialias ()); } void test_fill_rule () { CREATE_CONTEXT(cr); cr->set_fill_rule (Cairo::FILL_RULE_EVEN_ODD); BOOST_CHECK_EQUAL (Cairo::FILL_RULE_EVEN_ODD, cr->get_fill_rule ()); cr->set_fill_rule (Cairo::FILL_RULE_WINDING); BOOST_CHECK_EQUAL (Cairo::FILL_RULE_WINDING, cr->get_fill_rule ()); } void test_line_width () { CREATE_CONTEXT(cr); cr->set_line_width (1.0); BOOST_CHECK_EQUAL (1.0, cr->get_line_width ()); cr->set_line_width (4.0); BOOST_CHECK_EQUAL (4.0, cr->get_line_width ()); } void test_line_cap () { CREATE_CONTEXT(cr); cr->set_line_cap (Cairo::LINE_CAP_BUTT); BOOST_CHECK_EQUAL (Cairo::LINE_CAP_BUTT, cr->get_line_cap ()); cr->set_line_cap (Cairo::LINE_CAP_ROUND); BOOST_CHECK_EQUAL (Cairo::LINE_CAP_ROUND, cr->get_line_cap ()); } void test_line_join () { CREATE_CONTEXT(cr); cr->set_line_join (Cairo::LINE_JOIN_BEVEL); BOOST_CHECK_EQUAL (Cairo::LINE_JOIN_BEVEL, cr->get_line_join ()); cr->set_line_join (Cairo::LINE_JOIN_MITER); BOOST_CHECK_EQUAL (Cairo::LINE_JOIN_MITER, cr->get_line_join ()); } void test_miter_limit () { CREATE_CONTEXT (cr); cr->set_miter_limit (1.3); BOOST_CHECK_EQUAL (1.3, cr->get_miter_limit ()); cr->set_miter_limit (4.12); BOOST_CHECK_EQUAL (4.12, cr->get_miter_limit ()); } void test_matrix () { // just excercise the functionality CREATE_CONTEXT (cr); Cairo::Matrix matrix; cairo_matrix_init (&matrix, 1.0, 0.1, 0.1, 1.0, 1.5, 1.5); cr->transform(matrix); cairo_matrix_init (&matrix, 1.0, -0.1, -0.1, 1.0, 1.5, 1.5); cr->set_matrix(matrix); cr->set_identity_matrix (); cr->get_matrix (matrix); Cairo::Matrix m2 = cr->get_matrix (); } void test_user_device () { // scale / transform a context, and then verify that user-to-device and // device-to-user things work. CREATE_CONTEXT (cr); cr->scale (2.3, 2.3); double x = 1.8, y = 1.8; cr->user_to_device (x, y); // x = (0.0 + x) * 2.3 => 1.8 * 2.3 = 5.29 BOOST_CHECK_EQUAL (4.14, x); BOOST_CHECK_EQUAL (4.14, y); cr->device_to_user (x, y); BOOST_CHECK_EQUAL (1.8, x); BOOST_CHECK_EQUAL (1.8, y); cr->translate (0.5, 0.5); cr->user_to_device (x, y); // x = (0.5 + x) * 2.3 => 2.3 * 2.3 = 5.29 BOOST_CHECK_CLOSE (5.29, x, FLT_EPSILON); BOOST_CHECK_CLOSE (5.29, y, FLT_EPSILON); } void test_draw () { CREATE_CONTEXT (cr); // just call a bunch of drawing functions to excercise them a bit. There's no // rhyme or reason to this, don't expect it to draw anything interesting. cr->begin_new_path (); cr->move_to (1.0, 1.0); cr->line_to (2.0, 2.0); cr->curve_to (0.5, 0.5, 0.5, 0.5, 1.0, 1.0); cr->arc (1.5, 0.5, 0.5, 0, 2 * M_PI); cr->stroke (); cr->arc_negative (1.5, 0.5, 0.5, 0, 2 * M_PI); cr->rel_move_to (0.1, 0.1); cr->rel_line_to (0.5, -0.5); cr->rel_curve_to (0.5, 0.5, 0.5, 0.5, 1.0, 1.0); cr->rectangle (0.0, 0.0, 1.0, 1.0); cr->close_path (); cr->paint (); } void test_clip () { CREATE_CONTEXT (cr); cr->rectangle (0.0, 0.0, 1.0, 1.0); cr->clip (); double x1, y1, x2, y2; cr->get_clip_extents (x1, y1, x2, y2); BOOST_CHECK (x1 == 0.0); BOOST_CHECK (y1 == 0.0); BOOST_CHECK (x2 == 1.0); BOOST_CHECK (y2 == 1.0); } void test_current_point () { CREATE_CONTEXT (cr); cr->move_to (2.0, 3.0); double x, y; cr->get_current_point (x, y); BOOST_CHECK (x == 2.0); BOOST_CHECK (y == 3.0); } void test_target () { Cairo::RefPtr surf = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 10, 10); \ Cairo::RefPtr cr = Cairo::Context::create(surf); Cairo::RefPtr target_surface = Cairo::RefPtr::cast_dynamic(cr->get_target ()); Cairo::RefPtr bad_surface = Cairo::RefPtr::cast_dynamic(cr->get_target ()); BOOST_CHECK (target_surface); BOOST_CHECK (!bad_surface); // now check for const objects... Cairo::RefPtr cr2 = Cairo::Context::create(surf); Cairo::RefPtr target_surface2 = Cairo::RefPtr::cast_dynamic(cr2->get_target ()); Cairo::RefPtr bad_surface2 = Cairo::RefPtr::cast_dynamic(cr2->get_target ()); BOOST_CHECK (target_surface2); BOOST_CHECK (!bad_surface2); } void test_scaled_font() { CREATE_CONTEXT (cr); Cairo::RefPtr face = Cairo::ToyFontFace::create("sans", Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_NORMAL); Cairo::Matrix identity; cairo_matrix_init_identity(&identity); Cairo::RefPtr font = Cairo::ScaledFont::create(face, identity, identity, Cairo::FontOptions()); BOOST_CHECK_NO_THROW(cr->set_scaled_font(font)); // There's no operator== for ScaledFont, so I'm not sure if there's a way to // compare whether the font we get form get() is the same as the one we set // The following test fails //BOOST_CHECK_EQUAL(font, cr->get_scaled_font()); //just put in a pseudo-test for now to excercise the API BOOST_CHECK(cr->get_scaled_font()); } void test_font_options() { CREATE_CONTEXT (cr); Cairo::FontOptions options; options.set_antialias(Cairo::ANTIALIAS_GRAY); cr->set_font_options(options); Cairo::FontOptions other; cr->get_font_options(other); BOOST_CHECK(options == other); } test_suite* init_unit_test_suite(int argc, char* argv[]) { // compile even with -Werror if (argc && argv) {} test_suite* test= BOOST_TEST_SUITE( "Cairo::Context Tests" ); test->add (BOOST_TEST_CASE (&test_dashes)); test->add (BOOST_TEST_CASE (&test_save_restore)); test->add (BOOST_TEST_CASE (&test_operator)); test->add (BOOST_TEST_CASE (&test_source)); test->add (BOOST_TEST_CASE (&test_tolerance)); test->add (BOOST_TEST_CASE (&test_antialias)); test->add (BOOST_TEST_CASE (&test_fill_rule)); test->add (BOOST_TEST_CASE (&test_line_width)); test->add (BOOST_TEST_CASE (&test_line_cap)); test->add (BOOST_TEST_CASE (&test_line_join)); test->add (BOOST_TEST_CASE (&test_miter_limit)); test->add (BOOST_TEST_CASE (&test_matrix)); test->add (BOOST_TEST_CASE (&test_user_device)); test->add (BOOST_TEST_CASE (&test_draw)); test->add (BOOST_TEST_CASE (&test_clip)); test->add (BOOST_TEST_CASE (&test_current_point)); test->add (BOOST_TEST_CASE (&test_target)); test->add (BOOST_TEST_CASE (&test_scaled_font)); test->add (BOOST_TEST_CASE (&test_font_options)); return test; } cairomm-1.10.0/PaxHeaders.11012/cairomm0000644000175000017500000000005011561716652015616 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/cairomm/0000755000175000017500000000000011561716652016107 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/cairomm/PaxHeaders.11012/fontface.cc0000644000175000017500000000005011561715437017767 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/fontface.cc0000644000175000017500000003077611561715437020220 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include #include #include namespace { static const cairo_user_data_key_t USER_DATA_KEY_DEFAULT_TEXT_TO_GLYPHS = {0}; } // anonymous namespace namespace Cairo { FontFace::FontFace(cairo_font_face_t* cobject, bool has_reference) : m_cobject(0) { if(has_reference) m_cobject = cobject; else m_cobject = cairo_font_face_reference(cobject); } FontFace::~FontFace() { if(m_cobject) cairo_font_face_destroy(m_cobject); } void FontFace::reference() const { cairo_font_face_reference(m_cobject); } void FontFace::unreference() const { cairo_font_face_destroy(m_cobject); } /* void* FontFace::get_user_data(const cairo_user_data_key_t *key) { void* result = cairo_font_face_get_user_data(m_cobject, key); check_object_status_and_throw_exception(*this); return result; } void FontFace::set_user_data(const cairo_user_data_key_t* key, void *user_data, cairo_destroy_func_t destroy) { const ErrorStatus status = (ErrorStatus)cairo_font_face_set_user_data(m_cobject, key, user_data, destroy); check_status_and_throw_exception(status); } */ FontType FontFace::get_type() const { cairo_font_type_t font_type = cairo_font_face_get_type(m_cobject); check_object_status_and_throw_exception(*this); return static_cast(font_type); } // 'Toy' fonts RefPtr ToyFontFace::create(const std::string& family, FontSlant slant, FontWeight weight) { return RefPtr(new ToyFontFace(family, slant, weight)); } ToyFontFace::ToyFontFace(const std::string& family, FontSlant slant, FontWeight weight) : FontFace(cairo_toy_font_face_create (family.c_str(), static_cast(slant), static_cast(weight)), true /* has reference*/) { check_status_and_throw_exception(cairo_font_face_status(m_cobject)); } std::string ToyFontFace::get_family() const { return std::string(cairo_toy_font_face_get_family(m_cobject)); } FontSlant ToyFontFace::get_slant() const { return FontSlant(cairo_toy_font_face_get_slant(m_cobject)); } FontWeight ToyFontFace::get_weight() const { return FontWeight(cairo_toy_font_face_get_weight(m_cobject)); } //*************************// // UserFont Implementation // //*************************// static const cairo_user_data_key_t user_font_key = {0}; static void log_uncaught_exception(const char* message = 0) { std::cerr << "*** cairomm: Uncaught exception in UserFont callback"; if(message) std::cerr << ": " << message; std::cerr << std::endl; } cairo_status_t UserFontFace::init_cb(cairo_scaled_font_t* scaled_font, cairo_t *cr, cairo_font_extents_t* metrics) { cairo_font_face_t* face = cairo_scaled_font_get_font_face(scaled_font); // we've stored a pointer to the wrapper object in the C object's user_data UserFontFace* instance = static_cast(cairo_font_face_get_user_data(face, &user_font_key)); if(instance) { try { return instance->init(RefPtr(new ScaledFont(scaled_font)), RefPtr(new Context(cr)), static_cast(*metrics)); } catch(const std::exception& ex) { log_uncaught_exception(ex.what()); } catch( ... ) { log_uncaught_exception(); } } // this should never happen return CAIRO_STATUS_USER_FONT_ERROR; } ErrorStatus UserFontFace::init(const RefPtr& /*scaled_font*/, const RefPtr& /*cr*/, FontExtents& extents) { // fallback behavior is to set up the default text extents as described in the // cairo API documentation extents.ascent = 1.0; extents.descent = 0.0; extents.height = 1.0; extents.max_x_advance = 1.0; extents.max_y_advance = 0.0; return CAIRO_STATUS_SUCCESS; } cairo_status_t UserFontFace::unicode_to_glyph_cb(cairo_scaled_font_t *scaled_font, unsigned long unicode, unsigned long *glyph) { cairo_font_face_t* face = cairo_scaled_font_get_font_face(scaled_font); // we've stored a pointer to the wrapper object in the C object's user_data UserFontFace* instance = static_cast(cairo_font_face_get_user_data(face, &user_font_key)); if(instance) { try { return instance->unicode_to_glyph(RefPtr(new ScaledFont(scaled_font)), unicode, *glyph); } catch(const std::exception& ex) { log_uncaught_exception(ex.what()); } catch( ... ) { log_uncaught_exception(); } } // this should never happen return CAIRO_STATUS_USER_FONT_ERROR; } ErrorStatus UserFontFace::unicode_to_glyph(const RefPtr& /*scaled_font*/, unsigned long unicode, unsigned long& glyph) { // fallback behavior is just to map 1:1 glyph = unicode; return CAIRO_STATUS_SUCCESS; } cairo_status_t UserFontFace::text_to_glyphs_cb(cairo_scaled_font_t *scaled_font, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *cluster_flags) { cairo_font_face_t* face = cairo_scaled_font_get_font_face(scaled_font); // we've stored a pointer to the wrapper object in the C object's user_data UserFontFace* instance = static_cast(cairo_font_face_get_user_data(face, &user_font_key)); if(instance) { try { std::vector glyph_v; std::vector cluster_v; const std::string utf8_str(utf8, utf8 + utf8_len); TextClusterFlags local_flags = static_cast(0); ErrorStatus status = instance->text_to_glyphs(RefPtr(new ScaledFont(scaled_font)), utf8_str, glyph_v, cluster_v, local_flags); // NOTE: see explanation in text_to_glyphs() if (cairo_font_face_get_user_data(face, &USER_DATA_KEY_DEFAULT_TEXT_TO_GLYPHS)) { *num_glyphs = -1; return status; } // TODO: we re-allocate a new array and pass it back to the caller since // cairo will free the the returned array. It sucks to do this excessive // allocation and copying, I don't see much alternative besides just // presenting a plain-C API. If cairo didn't free the list, we could // possibly just pass back a .data() pointer or something... if(num_glyphs && glyphs) { *num_glyphs = glyph_v.size(); if(!glyph_v.empty()) { *glyphs = cairo_glyph_allocate(glyph_v.size()); std::copy(glyph_v.begin(), glyph_v.end(), *glyphs); } } else return CAIRO_STATUS_USER_FONT_ERROR; // TODO: same for clusters if(num_clusters && clusters) { *num_clusters = cluster_v.size(); if(!cluster_v.empty()) { *clusters = cairo_text_cluster_allocate(cluster_v.size()); std::copy(cluster_v.begin(), cluster_v.end(), *clusters); } } if(cluster_flags) *cluster_flags = static_cast(local_flags); return status; } catch(const std::exception& ex) { log_uncaught_exception(ex.what()); } catch( ... ) { log_uncaught_exception(); } } // this should never happen return CAIRO_STATUS_USER_FONT_ERROR; } ErrorStatus UserFontFace::text_to_glyphs(const RefPtr& /*scaled_font*/, const std::string& /*utf8*/, std::vector& /*glyphs*/, std::vector& /*clusters*/, TextClusterFlags& /*cluster_flags*/) { // this is a big hack to make up for the fact that we can't easily pass back a // negative value for the size of the glyph array, which is a special value in // the C API that means: "ignore this function and call unicode_to_glyph // instead". If this default virtual function is ever called, it will set a // non-NULL value in the user_data, which we can read back in the // text_to_glyphs_cb and used as a signal to return -1 for the num_glyphs // parameter. // TODO: Is there a reentrancy requirement, and is this code reentrant? cairo_font_face_set_user_data(cobj(), &USER_DATA_KEY_DEFAULT_TEXT_TO_GLYPHS, this, 0); return CAIRO_STATUS_SUCCESS; } cairo_status_t UserFontFace::render_glyph_cb(cairo_scaled_font_t *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *metrics) { cairo_font_face_t* face = cairo_scaled_font_get_font_face(scaled_font); // we've stored a pointer to the wrapper object in the C object's user_data UserFontFace* instance = static_cast(cairo_font_face_get_user_data(face, &user_font_key)); if(instance) { try { return instance->render_glyph(RefPtr(new ScaledFont(scaled_font)), glyph, RefPtr(new Context(cr)), static_cast(*metrics)); } catch(const std::exception& ex) { log_uncaught_exception(ex.what()); } catch( ... ) { log_uncaught_exception(); } } // this should never happen return CAIRO_STATUS_USER_FONT_ERROR; } // no default implementation for UserFontFace::render_glyph(), user must // implement it UserFontFace::UserFontFace() : FontFace(cairo_user_font_face_create(), true /* has reference */) { check_status_and_throw_exception(cairo_font_face_status(m_cobject)); // store a pointer to the wrapper class in the user-data, so that when one of // the callback functions gets called (which has to be a plain-C function so // can't be a class member), we can get a reference to the wrapper class cairo_font_face_set_user_data(m_cobject, &user_font_key, this, 0); cairo_user_font_face_set_init_func(cobj(), init_cb); cairo_user_font_face_set_render_glyph_func(cobj(), render_glyph_cb); cairo_user_font_face_set_unicode_to_glyph_func(cobj(), unicode_to_glyph_cb); cairo_user_font_face_set_text_to_glyphs_func(cobj(), text_to_glyphs_cb); } UserFontFace::~UserFontFace() { } #ifdef CAIRO_HAS_FT_FONT RefPtr FtFontFace::create(FT_Face face, int load_flags) { return RefPtr(new FtFontFace(face, load_flags)); } FtFontFace::FtFontFace(FT_Face face, int load_flags) : FontFace(cairo_ft_font_face_create_for_ft_face (face, load_flags), true /* has reference*/) { check_status_and_throw_exception(cairo_font_face_status(m_cobject)); } RefPtr FtFontFace::create(FcPattern* pattern) { return RefPtr(new FtFontFace(pattern)); } FtFontFace::FtFontFace(FcPattern* pattern) : FontFace(cairo_ft_font_face_create_for_pattern (pattern), true /* has reference*/) { check_status_and_throw_exception(cairo_font_face_status(m_cobject)); } #endif // CAIRO_HAS_FT_FONT } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/device.h0000644000175000017500000000005011561715437017303 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/device.h0000644000175000017500000001371411561715437017525 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2010 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_DEVICE_H #define __CAIROMM_DEVICE_H #include #include #include #include namespace Cairo { /** * Devices are the abstraction Cairo employs for the rendering system used by a * cairo_surface_t. You can get the device of a surface using * Surface::get_device(). * * Devices are created using custom functions specific to the rendering system * you want to use. See the documentation for the surface types for those * functions. * * An important function that devices fulfill is sharing access to the rendering * system between Cairo and your application. If you want to access a device * directly that you used to draw to with Cairo, you must first call * flush() to ensure that Cairo finishes all operations on the * device and resets it to a clean state. * * Cairo also provides the functions acquire() and release() to synchronize * access to the rendering system in a multithreaded environment. This is done * internally, but can also be used by applications. There is also a * Device::Lock convenience class that allows the device to be acquired and * released in an exception-safe manner. * * This is a reference-counted object that should be used via Cairo::RefPtr. */ class Device { public: /** A convenience class for acquiring a Device object in an exception-safe * manner. The device is automatically acquired when a Lock object is created * and released when the Lock object is destroyed. For example: * * @code * void * my_device_modifying_function (const RefPtr& device) * { * // Ensure the device is properly reset * device->flush(); * * Device::Lock lock(device); * // Do the custom operations on the device here. * // But do not call any Cairo functions that might acquire devices. * * } // device is automatically released at the end of the function scope * @endcode */ class Lock { public: /** Create a new Device lock for @a device */ Lock (const RefPtr& device); Lock (const Lock& other); ~Lock(); private: RefPtr m_device; }; /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit Device(cairo_device_t* cobject, bool has_reference = false); virtual ~Device(); /** This function returns the type of the device */ DeviceType get_type() const; /** Finish any pending operations for the device and also restore any * temporary modifications cairo has made to the device's state. This function * must be called before switching from using the device with Cairo to * operating on it directly with native APIs. If the device doesn't support * direct access, then this function does nothing. * * This function may acquire devices. */ void flush(); /** This function finishes the device and drops all references to external * resources. All surfaces, fonts and other objects created for this device * will be finished, too. Further operations on the device will not affect the * device but will instead trigger a DEVICE_FINISHED error. * * When the last reference to the device is dropped, cairo will call * finish() if it hasn't been called already, before freeing the resources * associated with the device. * * This function may acquire devices. */ void finish(); /** Acquires the device for the current thread. This function will block until * no other thread has acquired the device. * * If no exception is thrown, you successfully acquired the device. From now * on your thread owns the device and no other thread will be able to acquire * it until a matching call to release(). It is allowed to recursively acquire * the device multiple times from the same thread. * * @note It is recommended to use Device::Lock to acquire devices in an * exception-safe manner, rather than acquiring and releasing the device * manually. * * @warning You must never acquire two different devices at the same time * unless this is explicitly allowed. Otherwise the possibility of deadlocks * exist. * * @warning As various Cairo functions can acquire devices when called, these * functions may also cause deadlocks when you call them with an acquired * device. So you must not have a device acquired when calling them. These * functions are marked in the documentation. */ void acquire(); /** Releases a device previously acquired using acquire(). */ void release(); typedef cairo_device_t cobject; inline cobject* cobj() { return m_cobject; } inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_device_status(const_cast(cobj())); } #endif //DOXYGEN_IGNORE_THIS void reference() const; void unreference() const; protected: cobject* m_cobject; }; } // namespace Cairo #endif //__CAIROMM_DEVICE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/context.cc0000644000175000017500000000005011561715437017666 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/context.cc0000644000175000017500000006430511561715437020112 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ /* M_PI is defined in math.h in the case of Microsoft Visual C++ */ #if defined(_MSC_VER) #define _USE_MATH_DEFINES #endif #include #include #include #include #include #include /* M_PI is defined in math.h in the case of Microsoft Visual C++ */ #if defined(_MSC_VER) #define _USE_MATH_DEFINES #endif /* Solaris et. al. need math.h for M_PI too */ #include using namespace Cairo::Private; namespace Cairo { Context::Context(const RefPtr& target) : m_cobject(0) { m_cobject = cairo_create(target->cobj()); check_object_status_and_throw_exception(*this); } RefPtr Context::create(const RefPtr& target) { return RefPtr(new Context(target)); } Context::Context(cairo_t* cobject, bool has_reference) : m_cobject(0) { if(has_reference) m_cobject = cobject; else m_cobject = cairo_reference(cobject); } Context::~Context() { if(m_cobject) cairo_destroy(m_cobject); } void Context::reference() const { cairo_reference(const_cast(cobj())); } void Context::unreference() const { cairo_destroy(const_cast(cobj())); } void Context::save() { cairo_save(cobj()); check_object_status_and_throw_exception(*this); } void Context::restore() { cairo_restore(cobj()); check_object_status_and_throw_exception(*this); } void Context::set_operator(Operator op) { cairo_set_operator(cobj(), static_cast(op)); check_object_status_and_throw_exception(*this); } void Context::set_source(const RefPtr& source) { cairo_set_source(cobj(), const_cast(source->cobj())); check_object_status_and_throw_exception(*this); } void Context::set_source_rgb(double red, double green, double blue) { cairo_set_source_rgb(cobj(), red, green, blue); check_object_status_and_throw_exception(*this); } void Context::set_source_rgba(double red, double green, double blue, double alpha) { cairo_set_source_rgba(cobj(), red, green, blue, alpha); check_object_status_and_throw_exception(*this); } void Context::set_source(const RefPtr& surface, double x, double y) { cairo_set_source_surface(cobj(), surface->cobj(), x, y); check_object_status_and_throw_exception(*this); } void Context::set_tolerance(double tolerance) { cairo_set_tolerance(cobj(), tolerance); check_object_status_and_throw_exception(*this); } void Context::set_antialias(Antialias antialias) { cairo_set_antialias(cobj(), static_cast(antialias)); check_object_status_and_throw_exception(*this); } void Context::set_fill_rule(FillRule fill_rule) { cairo_set_fill_rule(cobj(), static_cast(fill_rule)); check_object_status_and_throw_exception(*this); } void Context::set_line_width(double width) { cairo_set_line_width(cobj(), width); check_object_status_and_throw_exception(*this); } void Context::set_line_cap(LineCap line_cap) { cairo_set_line_cap(cobj(), static_cast(line_cap)); check_object_status_and_throw_exception(*this); } void Context::set_line_join(LineJoin line_join) { cairo_set_line_join(cobj(), static_cast(line_join)); check_object_status_and_throw_exception(*this); } void Context::set_dash(std::valarray& dashes, double offset) { std::vector v(dashes.size()); for(size_t i = 0; i < dashes.size(); ++i) v[i] = dashes[i]; set_dash(v, offset); } void Context::set_dash(std::vector& dashes, double offset) { cairo_set_dash(cobj(), &dashes[0], dashes.size(), offset); check_object_status_and_throw_exception(*this); } void Context::set_dash(const std::valarray& dashes, double offset) { std::vector v(dashes.size()); for(size_t i = 0; i < dashes.size(); ++i) v[i] = dashes[i]; set_dash(v, offset); } void Context::set_dash(const std::vector& dashes, double offset) { cairo_set_dash(cobj(), &dashes[0], dashes.size(), offset); check_object_status_and_throw_exception(*this); } void Context::unset_dash() { cairo_set_dash(cobj(), NULL, 0, 0.0); check_object_status_and_throw_exception(*this); } void Context::set_miter_limit(double limit) { cairo_set_miter_limit(cobj(), limit); check_object_status_and_throw_exception(*this); } void Context::translate(double tx, double ty) { cairo_translate(cobj(), tx, ty); check_object_status_and_throw_exception(*this); } void Context::scale(double sx, double sy) { cairo_scale(cobj(), sx, sy); check_object_status_and_throw_exception(*this); } void Context::rotate(double angle_radians) { cairo_rotate(cobj(), angle_radians); check_object_status_and_throw_exception(*this); } void Context::rotate_degrees(double angle_degrees) { cairo_rotate(cobj(), angle_degrees * M_PI/180.0); check_object_status_and_throw_exception(*this); } void Context::transform(const Matrix& matrix) { cairo_transform(cobj(), &matrix); check_object_status_and_throw_exception(*this); } void Context::transform(const cairo_matrix_t& matrix) { cairo_transform(cobj(), &matrix); check_object_status_and_throw_exception(*this); } void Context::set_matrix(const Matrix& matrix) { cairo_set_matrix(cobj(), &matrix); check_object_status_and_throw_exception(*this); } void Context::set_matrix(const cairo_matrix_t& matrix) { cairo_set_matrix(cobj(), &matrix); check_object_status_and_throw_exception(*this); } void Context::set_identity_matrix() { cairo_identity_matrix(cobj()); check_object_status_and_throw_exception(*this); } //deprecated: void Context::user_to_device(double& x, double& y) { const Context* constThis = this; constThis->user_to_device(x, y); } void Context::user_to_device(double& x, double& y) const { cairo_user_to_device(const_cast(cobj()), &x, &y); check_object_status_and_throw_exception(*this); } //deprecated: void Context::user_to_device_distance(double& dx, double& dy) { const Context* constThis = this; constThis->user_to_device_distance(dx, dy); } void Context::user_to_device_distance(double& dx, double& dy) const { cairo_user_to_device_distance(const_cast(cobj()), &dx, &dy); check_object_status_and_throw_exception(*this); } //deprecated: void Context::device_to_user(double& x, double& y) { const Context* constThis = this; constThis->device_to_user(x, y); } void Context::device_to_user(double& x, double& y) const { cairo_device_to_user(const_cast(cobj()), &x, &y); check_object_status_and_throw_exception(*this); } //deprecated: void Context::device_to_user_distance(double& dx, double& dy) { const Context* constThis = this; constThis->device_to_user_distance(dx, dy); } void Context::device_to_user_distance(double& dx, double& dy) const { cairo_device_to_user_distance(const_cast(cobj()), &dx, &dy); check_object_status_and_throw_exception(*this); } void Context::begin_new_path() { cairo_new_path(cobj()); check_object_status_and_throw_exception(*this); } void Context::begin_new_sub_path() { cairo_new_sub_path(cobj()); check_object_status_and_throw_exception(*this); } void Context::move_to(double x, double y) { cairo_move_to(cobj(), x, y); check_object_status_and_throw_exception(*this); } void Context::line_to(double x, double y) { cairo_line_to(cobj(), x, y); check_object_status_and_throw_exception(*this); } void Context::curve_to(double x1, double y1, double x2, double y2, double x3, double y3) { cairo_curve_to(cobj(), x1, y1, x2, y2, x3, y3); check_object_status_and_throw_exception(*this); } void Context::arc(double xc, double yc, double radius, double angle1, double angle2) { cairo_arc(cobj(), xc, yc, radius, angle1, angle2); check_object_status_and_throw_exception(*this); } void Context::arc_negative(double xc, double yc, double radius, double angle1, double angle2) { cairo_arc_negative(cobj(), xc, yc, radius, angle1, angle2); check_object_status_and_throw_exception(*this); } void Context::rel_move_to(double dx, double dy) { cairo_rel_move_to(cobj(), dx, dy); check_object_status_and_throw_exception(*this); } void Context::rel_line_to(double dx, double dy) { cairo_rel_line_to(cobj(), dx, dy); check_object_status_and_throw_exception(*this); } void Context::rel_curve_to(double dx1, double dy1, double dx2, double dy2, double dx3, double dy3) { cairo_rel_curve_to(cobj(), dx1, dy1, dx2, dy2, dx3, dy3); check_object_status_and_throw_exception(*this); } void Context::rectangle(double x, double y, double width, double height) { cairo_rectangle(cobj(), x, y, width, height); check_object_status_and_throw_exception(*this); } void Context::close_path() { cairo_close_path(cobj()); check_object_status_and_throw_exception(*this); } void Context::paint() { cairo_paint(cobj()); check_object_status_and_throw_exception(*this); } void Context::paint_with_alpha(double alpha) { cairo_paint_with_alpha(cobj(), alpha); check_object_status_and_throw_exception(*this); } void Context::mask(const RefPtr& pattern) { cairo_mask(cobj(), const_cast(pattern->cobj())); check_object_status_and_throw_exception(*this); } void Context::mask(const RefPtr& surface, double surface_x, double surface_y) { cairo_mask_surface(cobj(), const_cast(surface->cobj()), surface_x, surface_y); check_object_status_and_throw_exception(*this); } void Context::stroke() { cairo_stroke(cobj()); check_object_status_and_throw_exception(*this); } void Context::stroke_preserve() { cairo_stroke_preserve(cobj()); check_object_status_and_throw_exception(*this); } void Context::fill() { cairo_fill(cobj()); check_object_status_and_throw_exception(*this); } void Context::fill_preserve() { cairo_fill_preserve(cobj()); check_object_status_and_throw_exception(*this); } void Context::copy_page() { cairo_copy_page(cobj()); check_object_status_and_throw_exception(*this); } void Context::show_page() { cairo_show_page(cobj()); check_object_status_and_throw_exception(*this); } bool Context::in_stroke(double x, double y) const { const bool result = cairo_in_stroke(const_cast(cobj()), x, y); check_object_status_and_throw_exception(*this); return result; } bool Context::in_fill(double x, double y) const { const bool result = cairo_in_fill(const_cast(cobj()), x, y); check_object_status_and_throw_exception(*this); return result; } bool Context::in_clip(double x, double y) const { const bool result = cairo_in_clip(const_cast(cobj()), x, y); check_object_status_and_throw_exception(*this); return result; } void Context::get_stroke_extents(double& x1, double& y1, double& x2, double& y2) const { cairo_stroke_extents(const_cast(cobj()), &x1, &y1, &x2, &y2); check_object_status_and_throw_exception(*this); } void Context::get_fill_extents(double& x1, double& y1, double& x2, double& y2) const { cairo_fill_extents(const_cast(cobj()), &x1, &y1, &x2, &y2); check_object_status_and_throw_exception(*this); } void Context::reset_clip() { cairo_reset_clip(cobj()); check_object_status_and_throw_exception(*this); } void Context::clip() { cairo_clip(cobj()); check_object_status_and_throw_exception(*this); } void Context::clip_preserve() { cairo_clip_preserve(cobj()); check_object_status_and_throw_exception(*this); } void Context::get_clip_extents(double& x1, double& y1, double& x2, double& y2) const { cairo_clip_extents(const_cast(const_cast(cobj())), &x1, &y1, &x2, &y2); check_object_status_and_throw_exception(*this); } void Context::copy_clip_rectangle_list(std::vector& rectangles) const { cairo_rectangle_list_t* c_list = 0; // It would be nice if the cairo interface didn't copy it into a C array first // and just let us do the copying... c_list = cairo_copy_clip_rectangle_list(const_cast(const_cast(cobj()))); // the rectangle list contains a status field that we need to check and the // cairo context also has a status that we need to check // FIXME: do we want to throw an exception if the clip can't be represented by // rectangles? or do we just want to return an empty list? check_status_and_throw_exception(c_list->status); check_object_status_and_throw_exception(*this); // copy the C array into the passed C++ list rectangles.assign(c_list->rectangles, c_list->rectangles + c_list->num_rectangles); // free the memory allocated to the C array since we've copied it into a // standard C++ container cairo_rectangle_list_destroy(c_list); } void Context::select_font_face(const std::string& family, FontSlant slant, FontWeight weight) { cairo_select_font_face(cobj(), family.c_str(), static_cast(slant), static_cast(weight)); check_object_status_and_throw_exception(*this); } void Context::set_font_size(double size) { cairo_set_font_size(cobj(), size); check_object_status_and_throw_exception(*this); } void Context::set_font_matrix(const Matrix& matrix) { cairo_set_font_matrix(cobj(), &matrix); check_object_status_and_throw_exception(*this); } void Context::set_font_matrix(const cairo_matrix_t& matrix) { cairo_set_font_matrix(cobj(), &matrix); check_object_status_and_throw_exception(*this); } void Context::get_font_matrix(Matrix& matrix) const { cairo_get_font_matrix(const_cast(cobj()), &matrix); check_object_status_and_throw_exception(*this); } void Context::get_font_matrix(cairo_matrix_t& matrix) const { cairo_get_font_matrix(const_cast(cobj()), &matrix); check_object_status_and_throw_exception(*this); } void Context::set_font_options(const FontOptions& options) { cairo_set_font_options(cobj(), options.cobj()); check_object_status_and_throw_exception(*this); } void Context::get_font_options(FontOptions& options) const { cairo_get_font_options(const_cast(cobj()), options.cobj()); check_object_status_and_throw_exception(*this); } void Context::set_scaled_font(const RefPtr& scaled_font) { cairo_set_scaled_font(cobj(), scaled_font->cobj()); check_object_status_and_throw_exception(*this); } RefPtr Context::get_scaled_font() { cairo_scaled_font_t* font = cairo_get_scaled_font(cobj()); check_object_status_and_throw_exception(*this); return RefPtr(new ScaledFont(font, false /* does not have reference */)); } void Context::show_text(const std::string& utf8) { cairo_show_text(cobj(), utf8.c_str()); check_object_status_and_throw_exception(*this); } void Context::show_text_glyphs(const std::string& utf8, const std::vector& glyphs, const std::vector& clusters, TextClusterFlags cluster_flags) { cairo_show_text_glyphs(cobj(), utf8.c_str(), utf8.size(), &glyphs[0], glyphs.size(), &clusters[0], clusters.size(), static_cast(cluster_flags)); check_object_status_and_throw_exception(*this); } void Context::show_glyphs(const std::vector& glyphs) { cairo_show_glyphs(cobj(), const_cast(&glyphs[0]), glyphs.size()); check_object_status_and_throw_exception(*this); } RefPtr Context::get_font_face() { cairo_font_face_t* cfontface = cairo_get_font_face(cobj()); check_object_status_and_throw_exception(*this); return RefPtr(new FontFace(cfontface, false /* does not have reference */)); } RefPtr Context::get_font_face() const { cairo_font_face_t* cfontface = cairo_get_font_face(const_cast(cobj())); check_object_status_and_throw_exception(*this); return RefPtr(new FontFace(cfontface, false /* does not have reference */)); } void Context::get_font_extents(FontExtents& extents) const { cairo_font_extents(const_cast(cobj()), &extents); check_object_status_and_throw_exception(*this); } void Context::set_font_face(const RefPtr& font_face) { cairo_set_font_face(cobj(), const_cast(font_face->cobj())); check_object_status_and_throw_exception(*this); } void Context::get_text_extents(const std::string& utf8, TextExtents& extents) const { cairo_text_extents(const_cast(cobj()), utf8.c_str(), &extents); check_object_status_and_throw_exception(*this); } void Context::get_glyph_extents(const std::vector& glyphs, TextExtents& extents) const { cairo_glyph_extents(const_cast(cobj()), const_cast(&glyphs[0]), glyphs.size(), &extents); check_object_status_and_throw_exception(*this); } void Context::text_path(const std::string& utf8) { cairo_text_path(cobj(), utf8.c_str()); check_object_status_and_throw_exception(*this); } void Context::glyph_path(const std::vector& glyphs) { cairo_glyph_path(cobj(), const_cast(&glyphs[0]), glyphs.size()); check_object_status_and_throw_exception(*this); } Operator Context::get_operator() const { const Operator result = static_cast(cairo_get_operator(const_cast(cobj()))); check_object_status_and_throw_exception(*this); return result; } static RefPtr get_pattern_wrapper (cairo_pattern_t* pattern) { cairo_pattern_type_t pattern_type = cairo_pattern_get_type (pattern); switch (pattern_type) { case CAIRO_PATTERN_TYPE_SOLID: return RefPtr(new SolidPattern(pattern, false /* does not have reference */)); break; case CAIRO_PATTERN_TYPE_SURFACE: return RefPtr(new SurfacePattern(pattern, false /* does not have reference */)); break; case CAIRO_PATTERN_TYPE_LINEAR: return RefPtr(new LinearGradient(pattern, false /* does not have reference */)); break; case CAIRO_PATTERN_TYPE_RADIAL: return RefPtr(new RadialGradient(pattern, false /* does not have reference */)); break; default: return RefPtr(new Pattern(pattern, false /* does not have reference */)); } } RefPtr Context::get_source() { cairo_pattern_t* pattern = cairo_get_source(cobj()); check_object_status_and_throw_exception(*this); return get_pattern_wrapper (pattern); } RefPtr Context::get_source() const { cairo_pattern_t* pattern = cairo_get_source(const_cast(cobj())); check_object_status_and_throw_exception(*this); return RefPtr::cast_const (get_pattern_wrapper (pattern)); } double Context::get_tolerance() const { const double result = cairo_get_tolerance(const_cast(cobj())); check_object_status_and_throw_exception(*this); return result; } Antialias Context::get_antialias() const { const Antialias result = static_cast(cairo_get_antialias(const_cast(cobj()))); check_object_status_and_throw_exception(*this); return result; } bool Context::has_current_point() const { return cairo_has_current_point(const_cast(cobj())); } void Context::get_current_point(double& x, double& y) const { cairo_get_current_point(const_cast(cobj()), &x, &y); check_object_status_and_throw_exception(*this); } FillRule Context::get_fill_rule() const { const FillRule result = static_cast(cairo_get_fill_rule(const_cast(cobj()))); check_object_status_and_throw_exception(*this); return result; } double Context::get_line_width() const { const double result = cairo_get_line_width(const_cast(cobj())); check_object_status_and_throw_exception(*this); return result; } LineCap Context::get_line_cap() const { const LineCap result = static_cast(cairo_get_line_cap(const_cast(cobj()))); check_object_status_and_throw_exception(*this); return result; } LineJoin Context::get_line_join() const { const LineJoin result = static_cast(cairo_get_line_join(const_cast(cobj()))); check_object_status_and_throw_exception(*this); return result; } double Context::get_miter_limit() const { const double result = cairo_get_miter_limit(const_cast(cobj())); check_object_status_and_throw_exception(*this); return result; } void Context::get_dash(std::vector& dashes, double& offset) const { // Allocate this array dynamically because some compilers complain about // allocating arrays on the stack when the array size isn't a compile-time // constant... const int cnt = cairo_get_dash_count(const_cast(cobj())); double* dash_array = new double[cnt]; cairo_get_dash(const_cast(cobj()), dash_array, &offset); check_object_status_and_throw_exception(*this); dashes.assign(dash_array, dash_array + cnt); delete[] dash_array; } void Context::get_matrix(Matrix& matrix) { cairo_get_matrix(cobj(), &matrix); check_object_status_and_throw_exception(*this); } void Context::get_matrix(cairo_matrix_t& matrix) { cairo_get_matrix(cobj(), &matrix); check_object_status_and_throw_exception(*this); } Matrix Context::get_matrix() const { Cairo::Matrix m; cairo_get_matrix(const_cast(cobj()), (cairo_matrix_t*)&m); check_object_status_and_throw_exception(*this); return m; } static RefPtr get_surface_wrapper (cairo_surface_t* surface) { cairo_surface_type_t surface_type = cairo_surface_get_type (surface); switch (surface_type) { case CAIRO_SURFACE_TYPE_IMAGE: return RefPtr(new ImageSurface(surface, false /* does not have reference */)); break; #if CAIRO_HAS_PDF_SURFACE case CAIRO_SURFACE_TYPE_PDF: return RefPtr(new PdfSurface(surface, false /* does not have reference */)); break; #endif #if CAIRO_HAS_PS_SURFACE case CAIRO_SURFACE_TYPE_PS: return RefPtr(new PsSurface(surface, false /* does not have reference */)); break; #endif #if CAIRO_HAS_XLIB_SURFACE case CAIRO_SURFACE_TYPE_XLIB: return wrap_surface_xlib(surface); break; #endif #if CAIRO_HAS_GLITZ_SURFACE case CAIRO_SURFACE_TYPE_GLITZ: return RefPtr(new GlitzSurface(surface, false /* does not have reference */)); break; #endif #if CAIRO_HAS_QUARTZ_SURFACE case CAIRO_SURFACE_TYPE_QUARTZ: return wrap_surface_quartz(surface); break; #endif #if CAIRO_HAS_WIN32_SURFACE case CAIRO_SURFACE_TYPE_WIN32: return wrap_surface_win32(surface); break; #endif #if CAIRO_HAS_SVG_SURFACE case CAIRO_SURFACE_TYPE_SVG: return RefPtr(new SvgSurface(surface, false /* does not have reference */)); break; #endif // the following surfaces are not directly supported in cairomm yet case CAIRO_SURFACE_TYPE_DIRECTFB: case CAIRO_SURFACE_TYPE_OS2: case CAIRO_SURFACE_TYPE_BEOS: case CAIRO_SURFACE_TYPE_XCB: default: return RefPtr(new Surface(surface, false /* does not have reference */)); } } RefPtr Context::get_target() { cairo_surface_t* surface = cairo_get_target(const_cast(cobj())); check_object_status_and_throw_exception(*this); return get_surface_wrapper (surface); } RefPtr Context::get_target() const { cairo_surface_t* surface = cairo_get_target(const_cast(cobj())); check_object_status_and_throw_exception(*this); return RefPtr::cast_const (get_surface_wrapper (surface)); } Path* Context::copy_path() const { cairo_path_t* cresult = cairo_copy_path(const_cast(cobj())); check_object_status_and_throw_exception(*this); return new Path(cresult, true /* take ownership */); //The caller must delete it. } void Context::get_path_extents(double& x1, double& y1, double& x2, double& y2) const { cairo_path_extents(const_cast(cobj()), &x1, &y1, &x2, &y2); check_object_status_and_throw_exception(*this); } Path* Context::copy_path_flat() const { cairo_path_t* cresult = cairo_copy_path_flat(const_cast(cobj())); check_object_status_and_throw_exception(*this); return new Path(cresult, true /* take ownership */); //The caller must delete it. } void Context::append_path(const Path& path) { cairo_append_path(cobj(), const_cast(path.cobj())); check_object_status_and_throw_exception(*this); } void Context::push_group() { cairo_push_group(cobj()); check_object_status_and_throw_exception(*this); } void Context::push_group_with_content(Content content) { cairo_push_group_with_content(cobj(), static_cast(content)); check_object_status_and_throw_exception(*this); } RefPtr Context::pop_group() { cairo_pattern_t* pattern = cairo_pop_group(cobj()); check_object_status_and_throw_exception(*this); return get_pattern_wrapper(pattern); } void Context::pop_group_to_source() { cairo_pop_group_to_source(cobj()); check_object_status_and_throw_exception(*this); } RefPtr Context::get_group_target() { cairo_surface_t* surface = cairo_get_group_target(cobj()); // surface can be NULL if you're not between push/pop group calls if(!surface) { // FIXME: is this really the right way to handle this? throw_exception(CAIRO_STATUS_NULL_POINTER); } return get_surface_wrapper(surface); } RefPtr Context::get_group_target() const { cairo_surface_t* surface = cairo_get_group_target(const_cast(cobj())); // surface can be NULL if you're not between push/pop group calls if(!surface) { // FIXME: is this really the right way to handle this? throw_exception(CAIRO_STATUS_NULL_POINTER); } return get_surface_wrapper(surface); } } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/scaledfont.cc0000644000175000017500000000005011561715437020324 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/scaledfont.cc0000644000175000017500000001643011561715437020544 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2006 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include // for check_status_and_throw_exception namespace Cairo { ScaledFont::ScaledFont(cobject* cobj, bool has_reference) : m_cobject(0) { if(has_reference) m_cobject = cobj; else m_cobject = cairo_scaled_font_reference(cobj); } ScaledFont::ScaledFont(const RefPtr& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options) : m_cobject(0) { m_cobject = cairo_scaled_font_create(font_face->cobj(), &font_matrix, &ctm, options.cobj()); check_object_status_and_throw_exception(*this); } ScaledFont::~ScaledFont() { if (cobj()) cairo_scaled_font_destroy(cobj()); } RefPtr ScaledFont::create(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options) { return RefPtr(new ScaledFont(font_face, font_matrix, ctm, options)); } RefPtr ScaledFont::create(const RefPtr& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options) { return RefPtr(new ScaledFont(font_face, font_matrix, ctm, options)); } void ScaledFont::extents(FontExtents& extents) const { cairo_scaled_font_extents(m_cobject, static_cast(&extents)); check_object_status_and_throw_exception(*this); } void ScaledFont::text_extents(const std::string& utf8, TextExtents& extents) const { cairo_scaled_font_text_extents(m_cobject, utf8.c_str(), static_cast(&extents)); check_object_status_and_throw_exception(*this); } void ScaledFont::glyph_extents(const std::vector& glyphs, TextExtents& extents) { // copy the data from the vector to a standard C array. I don't believe // this will be a frequently used function so I think the performance hit is // more than offset by the increased flexibility of the STL interface. // Use new to allocate memory as MSCV complains about non-const array size with // Glyph glyph_array[glyphs.size()] Glyph* glyph_array= new Glyph[glyphs.size()]; std::copy(glyphs.begin(), glyphs.end(), glyph_array); cairo_scaled_font_glyph_extents(m_cobject, glyph_array, glyphs.size(), static_cast(&extents)); check_object_status_and_throw_exception(*this); delete[] glyph_array; } RefPtr ScaledFont::get_font_face() const { cairo_font_face_t* face = cairo_scaled_font_get_font_face(m_cobject); check_object_status_and_throw_exception(*this); return RefPtr(new FontFace(face, false /* returned face doesn't have a reference */)); } void ScaledFont::get_font_options(FontOptions& options) const { cairo_scaled_font_get_font_options(m_cobject, options.cobj()); check_object_status_and_throw_exception(*this); } void ScaledFont::get_font_matrix(Matrix& font_matrix) const { cairo_scaled_font_get_font_matrix(m_cobject, &font_matrix); check_object_status_and_throw_exception(*this); } void ScaledFont::get_font_matrix(cairo_matrix_t& font_matrix) const { cairo_scaled_font_get_font_matrix(m_cobject, &font_matrix); check_object_status_and_throw_exception(*this); } void ScaledFont::get_ctm(Matrix& ctm) const { cairo_scaled_font_get_ctm(m_cobject, &ctm); check_object_status_and_throw_exception(*this); } void ScaledFont::get_ctm(cairo_matrix_t& ctm) const { cairo_scaled_font_get_ctm(m_cobject, &ctm); check_object_status_and_throw_exception(*this); } FontType ScaledFont::get_type() const { cairo_font_type_t font_type = cairo_scaled_font_get_type(m_cobject); check_object_status_and_throw_exception(*this); return static_cast(font_type); } void ScaledFont::text_to_glyphs (double x, double y, const std::string& utf8, std::vector& glyphs, std::vector& clusters, TextClusterFlags& cluster_flags) { int num_glyphs = -1; int num_clusters = -1; cairo_glyph_t* c_glyphs = 0; cairo_text_cluster_t* c_clusters = 0; cairo_status_t status = cairo_scaled_font_text_to_glyphs(cobj(), x, y, utf8.c_str(), utf8.size(), &c_glyphs, &num_glyphs, &c_clusters, &num_clusters, reinterpret_cast(&cluster_flags)); if (num_glyphs > 0 && c_glyphs) { glyphs.assign(static_cast(c_glyphs), static_cast(c_glyphs + num_glyphs)); cairo_glyph_free(c_glyphs); } if (num_clusters > 0 && c_clusters) { clusters.assign(static_cast(c_clusters), static_cast(c_clusters + num_clusters)); cairo_text_cluster_free(c_clusters); } check_status_and_throw_exception(status); check_object_status_and_throw_exception(*this); } void ScaledFont::get_scale_matrix(Matrix& scale_matrix) const { cairo_scaled_font_get_scale_matrix(const_cast(cobj()), &scale_matrix); check_object_status_and_throw_exception(*this); } #ifdef CAIRO_HAS_FT_FONT FtScaledFont::FtScaledFont(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options) : ScaledFont(font_face, font_matrix, ctm, options) { check_object_status_and_throw_exception(*this); } RefPtr FtScaledFont::create(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options) { return RefPtr(new FtScaledFont(font_face, font_matrix, ctm, options)); } FT_Face FtScaledFont::lock_face() { FT_Face face = cairo_ft_scaled_font_lock_face(cobj()); check_object_status_and_throw_exception(*this); return face; } void FtScaledFont::unlock_face() { cairo_ft_scaled_font_unlock_face(cobj()); check_object_status_and_throw_exception(*this); } #endif // CAIRO_HAS_FT_FONT } // namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/fontoptions.cc0000644000175000017500000000005011561715437020564 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/fontoptions.cc0000644000175000017500000001063411561715437021004 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { FontOptions::FontOptions() : m_cobject(0) { m_cobject = cairo_font_options_create(); check_object_status_and_throw_exception(*this); } FontOptions::FontOptions(cairo_font_options_t* cobject, bool take_ownership) : m_cobject(0) { if(take_ownership) m_cobject = cobject; else m_cobject = cairo_font_options_copy(cobject); check_object_status_and_throw_exception(*this); } FontOptions::FontOptions(const FontOptions& src) : m_cobject(0) { //Reference-counting, instead of copying by value: if(!src.m_cobject) m_cobject = 0; else m_cobject = cairo_font_options_copy(src.m_cobject); check_object_status_and_throw_exception(*this); } FontOptions::~FontOptions() { if(m_cobject) cairo_font_options_destroy(m_cobject); } FontOptions& FontOptions::operator=(const FontOptions& src) { //Reference-counting, instead of copying by value: if(this == &src) return *this; if(m_cobject == src.m_cobject) return *this; if(m_cobject) { cairo_font_options_destroy(m_cobject); m_cobject = 0; } if(!src.m_cobject) return *this; m_cobject = cairo_font_options_copy(src.m_cobject); return *this; } bool FontOptions::operator==(const FontOptions& src) const { return cairo_font_options_equal(m_cobject, src.cobj()); } void FontOptions::merge(const FontOptions& src) { cairo_font_options_merge(m_cobject, src.cobj()); check_object_status_and_throw_exception(*this); } unsigned long FontOptions::hash() const { const unsigned long result = cairo_font_options_hash(m_cobject); check_object_status_and_throw_exception(*this); return result; } void FontOptions::set_antialias(Antialias antialias) { cairo_font_options_set_antialias(m_cobject, static_cast(antialias)); check_object_status_and_throw_exception(*this); } Antialias FontOptions::get_antialias() const { const Antialias result = static_cast(cairo_font_options_get_antialias(m_cobject)); check_object_status_and_throw_exception(*this); return result; } void FontOptions::set_subpixel_order(SubpixelOrder subpixel_order) { cairo_font_options_set_subpixel_order(m_cobject, static_cast(subpixel_order)); check_object_status_and_throw_exception(*this); } SubpixelOrder FontOptions::get_subpixel_order() const { const SubpixelOrder result = static_cast(cairo_font_options_get_subpixel_order(m_cobject)); check_object_status_and_throw_exception(*this); return result; } void FontOptions::set_hint_style(HintStyle hint_style) { cairo_font_options_set_hint_style(m_cobject, static_cast(hint_style)); check_object_status_and_throw_exception(*this); } HintStyle FontOptions::get_hint_style() const { const HintStyle result = static_cast(cairo_font_options_get_hint_style(m_cobject)); check_object_status_and_throw_exception(*this); return result; } void FontOptions::set_hint_metrics(HintMetrics hint_metrics) { cairo_font_options_set_hint_metrics(m_cobject, static_cast(hint_metrics)); check_object_status_and_throw_exception(*this); } HintMetrics FontOptions::get_hint_metrics() const { const HintMetrics result = static_cast(cairo_font_options_get_hint_metrics(m_cobject)); check_object_status_and_throw_exception(*this); return result; } #ifdef CAIRO_HAS_FT_FONT void FontOptions::substitute(FcPattern* pattern) { cairo_ft_font_options_substitute(cobj(), pattern); check_object_status_and_throw_exception(*this); } #endif // CAIRO_HAS_FT_FONT } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/win32_surface.h0000644000175000017500000000005011561715437020516 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/win32_surface.h0000644000175000017500000001250711561715437020737 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_WIN32_SURFACE_H #define __CAIROMM_WIN32_SURFACE_H #include #include #include #ifdef CAIRO_HAS_WIN32_SURFACE #include // This header is not included by cairomm.h because it requires Windows headers that // tend to pollute the namespace with non-prefixed #defines and typedefs. // You may include it directly if you need to use this API. namespace Cairo { /** A Win32Surface provides a way to render within Microsoft Windows. If you * want to draw to the screen within a Microsoft Windows application, you * should use this Surface type. * * @note For this Surface to be available, cairo must have been compiled with * Win32 support */ class Win32Surface : public Surface { public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit Win32Surface(cairo_surface_t* cobject, bool has_reference = false); virtual ~Win32Surface(); /** Returns the HDC associated with this surface, or NULL if none. Also * returns NULL if the surface is not a win32 surface. * * @return HDC or NULL if no HDC available. */ HDC get_dc() const; //TODO: What does owned mean here? murrayc //TODO: If this is just a get, shouldn't there be a const version too? murrayc /** Returns a ImageSurface that refers to the same bits as the DIB of the * Win32 surface. If the passed-in win32 surface is not a DIB surface, the * returned surface will be NULL * * @return a ImageSurface (owned by the Win32Surface), or an empty RefPtr if the win32 * surface is not a DIB. * * @since 1.8 */ RefPtr get_image(); /** Creates a cairo surface that targets the given DC. The DC will be queried * for its initial clip extents, and this will be used as the size of the * cairo surface. Also, if the DC is a raster DC, it will be queried for its * pixel format and the cairo surface format will be set appropriately. * * @param hdc the DC to create a surface for. * @return the newly created surface. */ static RefPtr create(HDC hdc); /** * @deprecated use create_with_dib() */ static RefPtr create(Format format, int width, int height); /** Creates a device-independent-bitmap surface not associated with any * particular existing surface or device context. The created bitmap will be * unititialized. * * @param format format of pixels in the surface to create. * @param width width of the surface, in pixels. * @param height height of the surface, in pixels. * @return the newly created surface. * * @since 1.8 */ static RefPtr create_with_dib(Format format, int width, int height); /** Creates a device-independent-bitmap surface not associated with any * particular existing surface or device context. The created bitmap will be * uninitialized. * * @param hdc the DC to create a surface for. * @param format format of pixels in the surface to create, * @param width width of the surface, in pixels. * @param height height of the surface, in pixels. * @return the newly created surface. * * @since 1.8 */ static RefPtr create_with_ddb(HDC hdc, Format format, int width, int height); }; /** A multi-page vector surface type for printing on Microsoft Windows * * @note For this Surface to be available, cairo must have been compiled with * Win32 support * * @since 1.8 */ class Win32PrintingSurface : public Surface { public: explicit Win32PrintingSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~Win32PrintingSurface(); /** Creates a cairo surface that targets the given DC. The DC will be queried * for its initial clip extents, and this will be used as the size of the * cairo surface. The DC should be a printing DC; antialiasing will be * ignored, and GDI will be used as much as possible to draw to the surface. * * The returned surface will be wrapped using the paginated surface to provide * correct complex rendering behaviour; show_page() and associated methods * must be used for correct output. * * @param hdc the DC to create a surface for. * * @since 1.8 */ static RefPtr create(HDC hdc); }; } // namespace Cairo #endif // CAIRO_HAS_WIN32_SURFACE #endif //__CAIROMM_WIN32_SURFACE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/types.h0000644000175000017500000000005011561715437017210 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/types.h0000644000175000017500000000440011561715437017422 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_TYPES_H #define __CAIROMM_TYPES_H #include namespace Cairo { /** See the cairo_rectangle_t * reference in the cairo manual for more information */ typedef cairo_rectangle_t Rectangle; /** See the cairo_rectangle_int_t * reference in the cairo manual for more information */ typedef cairo_rectangle_int_t RectangleInt; /** See the cairo_font_extents_t * reference in the cairo manual for more information */ typedef cairo_font_extents_t FontExtents; //A simple struct. /** See the cairo_text_extents_t * reference in the cairo manual for more information */ typedef cairo_text_extents_t TextExtents; //A simple struct. /** See the cairo_text_cluster_t * reference in the cairo manual for more information */ typedef cairo_text_cluster_t TextCluster; /** See the cairo_glyph_t * reference in the cairo manual for more information */ typedef cairo_glyph_t Glyph; //A simple struct. } // namespace Cairo #endif // __CAIROMM_TYPES_H cairomm-1.10.0/cairomm/PaxHeaders.11012/context_surface_win32.cc0000644000175000017500000000005011561715437022420 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/context_surface_win32.cc0000644000175000017500000000242611561715437022640 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include namespace Cairo { namespace Private { RefPtr wrap_surface_win32(cairo_surface_t* surface) { #if CAIRO_HAS_WIN32_SURFACE return RefPtr(new Win32Surface(surface, false /* does not have reference */)); #else return RefPtr(new Surface(surface, false /* does not have reference */)); #endif } } // namespace Private } // namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/quartz_font.cc0000644000175000017500000000005011561715437020556 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/quartz_font.cc0000644000175000017500000000304711561715437020776 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 Jonathon Jongsma * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #ifdef CAIRO_HAS_QUARTZ_FONT #include namespace Cairo { QuartzFontFace::QuartzFontFace(CGFontRef font) : FontFace(cairo_quartz_font_face_create_for_cgfont(font), true) { check_object_status_and_throw_exception(*this); } RefPtr QuartzFontFace::create(CGFontRef font) { return RefPtr(new QuartzFontFace(font)); } #ifndef __LP64__ QuartzFontFace::QuartzFontFace(ATSUFontID font_id) : FontFace(cairo_quartz_font_face_create_for_atsu_font_id(font_id), true) { check_object_status_and_throw_exception(*this); } RefPtr QuartzFontFace::create(ATSUFontID font_id) { return RefPtr(new QuartzFontFace(font_id)); } #endif } #endif // CAIRO_HAS_QUARTZ_FONT cairomm-1.10.0/cairomm/PaxHeaders.11012/matrix.cc0000644000175000017500000000005011561715437017506 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/matrix.cc0000644000175000017500000000437711561715437017735 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 Jonathon Jongsma * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { Matrix::Matrix() { } Matrix::Matrix(double xx, double yx, double xy, double yy, double x0, double y0) { cairo_matrix_init(this, xx, yx, xy, yy, x0, y0); } Matrix identity_matrix() { Matrix m; cairo_matrix_init_identity(&m); return m; } Matrix translation_matrix(double tx, double ty) { Matrix m; cairo_matrix_init_translate(&m, tx, ty); return m; } Matrix scaling_matrix(double sx, double sy) { Matrix m; cairo_matrix_init_scale(&m, sx, sy); return m; } Matrix rotation_matrix(double radians) { Matrix m; cairo_matrix_init_rotate(&m, radians); return m; } void Matrix::translate(double tx, double ty) { cairo_matrix_translate(this, tx, ty); } void Matrix::scale(double sx, double sy) { cairo_matrix_scale(this, sx, sy); } void Matrix::rotate(double radians) { cairo_matrix_rotate(this, radians); } void Matrix::invert() { cairo_status_t status = cairo_matrix_invert(this); check_status_and_throw_exception(status); } // throws exception void Matrix::multiply(Matrix& a, Matrix& b) { cairo_matrix_multiply(this, &a, &b); } void Matrix::transform_distance(double& dx, double& dy) const { cairo_matrix_transform_distance(this, &dx, &dy); } void Matrix::transform_point(double& x, double& y) const { cairo_matrix_transform_point(this, &x, &y); } Matrix operator*(const Matrix& a, const Matrix& b) { Matrix m; cairo_matrix_multiply(&m, &a, &b); return m; } } // namespace Cairo cairomm-1.10.0/cairomm/PaxHeaders.11012/context_surface_quartz.cc0000644000175000017500000000005011561715437023004 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/context_surface_quartz.cc0000644000175000017500000000243311561715437023222 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include namespace Cairo { namespace Private { RefPtr wrap_surface_quartz(cairo_surface_t* surface) { #if CAIRO_HAS_QUARTZ_SURFACE return RefPtr(new QuartzSurface(surface, false /* does not have reference */)); #else return RefPtr(new Surface(surface, false /* does not have reference */)); #endif } } // namespace Private } // namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/fontoptions.h0000644000175000017500000000005011561715437020426 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/fontoptions.h0000644000175000017500000001235211561715437020645 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_FONTOPTIONS_H #define __CAIROMM_FONTOPTIONS_H #include #include //#include #ifdef CAIRO_HAS_FT_FONT #include #endif // CAIRO_HAS_FT_FONT namespace Cairo { /** How a font should be rendered. */ class FontOptions { public: FontOptions(); explicit FontOptions(cairo_font_options_t* cobject, bool take_ownership = false); FontOptions(const FontOptions& src); virtual ~FontOptions(); FontOptions& operator=(const FontOptions& src); bool operator ==(const FontOptions& src) const; //bool operator !=(const FontOptions& src) const; /** * Merges non-default options from @a other into this, replacing existing * values. This operation can be thought of as somewhat similar to compositing * @a other onto this with the operation of OPERATION_OVER. * * @param other another FontOptions **/ void merge(const FontOptions& other); /** * Compute a hash for the font options object; this value will be useful when * storing an object containing a FontOptions in a hash table. * * @return the hash value for the font options object. The return value can * be cast to a 32-bit type if a 32-bit hash value is needed. **/ unsigned long hash() const; /** * Sets the antialiasing mode for the font options object. This * specifies the type of antialiasing to do when rendering text. * * @param antialias the new antialiasing mode. **/ void set_antialias(Antialias antialias); /** * Gets the antialiasing mode for the font options object. * * @return the antialiasing mode **/ Antialias get_antialias() const; /** * Sets the subpixel order for the font options object. The subpixel order * specifies the order of color elements within each pixel on the display device * when rendering with an antialiasing mode of ANTIALIAS_SUBPIXEL. See the * documentation for SubpixelOrder for full details. * * @param subpixel_order the new subpixel order. **/ void set_subpixel_order(SubpixelOrder subpixel_order); /** * Gets the subpixel order for the font options object. See the documentation * for SubpixelOrder for full details. * * @return the subpixel order for the font options object. **/ SubpixelOrder get_subpixel_order() const; /** * Sets the hint style for font outlines for the font options object. This * controls whether to fit font outlines to the pixel grid, and if so, whether * to optimize for fidelity or contrast. See the documentation for * HintStyle for full details. * * @param hint_style the new hint style. **/ void set_hint_style(HintStyle hint_style); /** * Gets the hint style for font outlines for the font options object. * See the documentation for HintStyle for full details. * * @return the hint style for the font options object. **/ HintStyle get_hint_style() const; /** * Sets the metrics hinting mode for the font options object. This * controls whether metrics are quantized to integer values in * device units. * See the documentation for HintMetrics for full details. * * @param hint_metrics the new metrics hinting mode. **/ void set_hint_metrics(HintMetrics hint_metrics); /** * Gets the metrics hinting mode for the font options object. See the * documentation for HintMetrics for full details. * * Return value: the metrics hinting mode for the font options object. **/ HintMetrics get_hint_metrics() const; #ifdef CAIRO_HAS_FT_FONT /** Add options to a FcPattern based on a cairo_font_options_t font options * object. Options that are already in the pattern, are not overridden, so you * should call this function after calling FcConfigSubstitute() (the user's * settings should override options based on the surface type), but before * calling FcDefaultSubstitute(). * * @param pattern an existing FcPattern. * * @since 1.8 */ void substitute(FcPattern* pattern); #endif // CAIRO_HAS_FT_FONT typedef cairo_font_options_t cobject; inline cobject* cobj() { return m_cobject; } inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_font_options_status(const_cast(cobj())); } #endif //DOXYGEN_IGNORE_THIS protected: cobject* m_cobject; }; } // namespace Cairo #endif //__CAIROMM_FONTOPTIONS_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/scaledfont.h0000644000175000017500000000005011561715437020166 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/scaledfont.h0000644000175000017500000002547011561715437020412 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2006 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_SCALEDFONT_H #define __CAIROMM_SCALEDFONT_H #include #include #include #include #include #include #ifdef CAIRO_HAS_FT_FONT #include #endif // CAIRO_HAS_FT_FONT namespace Cairo { /** A ScaledFont is a font scaled to a particular size and device resolution. It * is most useful for low-level font usage where a library or application wants * to cache a reference to a scaled font to speed up the computation of metrics. */ class ScaledFont { public: /** The underlying C cairo object type */ typedef cairo_scaled_font_t cobject; /** Provides acces to the underlying C cairo object */ inline cobject* cobj() { return m_cobject; } /** Provides acces to the underlying C cairo object */ inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS // For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_scaled_font_status(const_cast(cobj())); } // for RefPtr void reference() const { cairo_scaled_font_reference(m_cobject); } void unreference() const { cairo_scaled_font_destroy(m_cobject); } #endif //DOXYGEN_IGNORE_THIS /** Create a C++ wrapper object from the C instance. This C++ object should * then be given to a RefPtr. */ explicit ScaledFont(cobject* cobj, bool has_reference = false); virtual ~ScaledFont(); /** Creates a ScaledFont object from a font face and matrices that describe * the size of the font and the environment in which it will be used. * * @param font_face A font face. * @param font_matrix font space to user space transformation matrix for the * font. In the simplest case of a N point font, this matrix is just a scale * by N, but it can also be used to shear the font or stretch it unequally * along the two axes. See Context::set_font_matrix(). * @param ctm user to device transformation matrix with which the font will be * used. * @param options options to use when getting metrics for the font and * rendering with it. */ static RefPtr create(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options = FontOptions()); /* To keep 1.6.x ABI */ static RefPtr create(const RefPtr& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options = FontOptions()); // NOTE: the constructor doesn't take a RefPtr because the // FontFace object can be changed in this constructor (in the case of user // fonts, the FontFace becomes immutable, i.e. you can't call any set_*_func() // functions any longer) //We use an output paramter instead of the return value, //for consistency with other get_*extents() methods in other classes, //though they should probably all use the return value instead. //but it is too late to change that now. murrayc: /** Gets the metrics for a ScaledFont * @since 1.8 * */ void get_extents(FontExtents& extents) const; /** @deprecated Use get_extents() instead * @since 1.2 * */ void extents(FontExtents& extents) const; /** Gets the extents for a string of text. The extents describe a user-space * rectangle that encloses the "inked" portion of the text drawn at the origin * (0,0) (as it would be drawn by Context::show_text() if the cairo graphics * state were set to the same font_face, font_matrix, ctm, and font_options as * the ScaledFont object). Additionally, the x_advance and y_advance values * indicate the amount by which the current point would be advanced by * Context::show_text(). * * Note that whitespace characters do not directly contribute to the size of * the rectangle (extents.width and extents.height). They do contribute * indirectly by changing the position of non-whitespace characters. In * particular, trailing whitespace characters are likely to not affect the * size of the rectangle, though they will affect the x_advance and y_advance * values. * * @param utf8 a string of text, encoded in UTF-8. * @param extents Returns the extents of the given string. * * @since 1.8 */ void get_text_extents(const std::string& utf8, TextExtents& extents) const; /** @deprecated Use get_text_extents() instead * @since 1.2 * */ void text_extents(const std::string& utf8, TextExtents& extents) const; /** Gets the extents for an array of glyphs. The extents describe a user-space * rectangle that encloses the "inked" portion of the glyphs, (as they would * be drawn by Context::show_glyphs() if the cairo graphics state were set to the * same font_face, font_matrix, ctm, and font_options as the ScaledFont * object). Additionally, the x_advance and y_advance values indicate the * amount by which the current point would be advanced by Context::show_glyphs(). * * Note that whitespace glyphs do not contribute to the size of the rectangle * (extents.width and extents.height). * * @param glyphs A vector of glyphs to calculate the extents of. * @param extents Returns the extents for the array of glyphs. * * @since 1.8 **/ void get_glyph_extents(const std::vector& glyphs, TextExtents& extents); /** @deprecated Use get_glyph_extents() instead * @since 1.2 * */ void glyph_extents(const std::vector& glyphs, TextExtents& extents); /** The FontFace with which this ScaledFont was created. * @since 1.2 */ RefPtr get_font_face() const; /** Gets the FontOptions with which the ScaledFont was created. * @since 1.2 */ void get_font_options(FontOptions& options) const; /** Gets the font matrix with which the ScaledFont was created. * @since 1.2 */ void get_font_matrix(Matrix& font_matrix) const; /* To keep 1.6.x ABI */ void get_font_matrix(cairo_matrix_t& font_matrix) const; /** Gets the CTM with which the ScaledFont was created. * @since 1.2 */ void get_ctm(Matrix& ctm) const; /* To keep 1.6.x ABI */ void get_ctm(cairo_matrix_t& ctm) const; /** Gets the type of scaled Font * @since 1.2 */ FontType get_type() const; // FIXME: it'd be really nice not to assume a specific container (e.g. // std::vector) here /** * @param x X position to place first glyph. * @param y Y position to place first glyph. * @param utf8 a string of text encoded in UTF-8. * @param glyphs pointer to array of glyphs to fill. * @param clusters pointer to array of cluster mapping information to fill. * @cluster_flags cluster mapping flags * * Converts UTF-8 text to an array of glyphs, with cluster mapping, that can be * used to render later. * * For details of how (@a clusters and @a cluster_flags map input * UTF-8 text to the output glyphs see Context::show_text_glyphs(). * * The output values can be readily passed to Context::show_text_glyphs() * Context::show_glyphs(), or related functions, assuming that the exact * same scaled font is used for the operation. * * @since 1.8 **/ void text_to_glyphs(double x, double y, const std::string& utf8, std::vector& glyphs, std::vector& clusters, TextClusterFlags& cluster_flags); /** Stores the scale matrix of this scaled font into matrix. The scale matrix * is product of the font matrix and the ctm associated with the scaled font, * and hence is the matrix mapping from font space to device space. * * @param scale_matrix return value for the matrix. * * @since 1.8 */ void get_scale_matrix(Matrix& scale_matrix) const; protected: /* Cairo::Matrix parameters changed to cairo_matrix_t */ ScaledFont(const RefPtr& font_face, const cairo_matrix_t& font_matrix, const cairo_matrix_t& ctm, const FontOptions& options = FontOptions()); /** The underlying C cairo object that is wrapped by this ScaledFont */ cobject* m_cobject; private: ScaledFont(const ScaledFont&); ScaledFont& operator=(const ScaledFont&); }; #ifdef CAIRO_HAS_FT_FONT //TODO: Documentation. /** * @since 1.8 */ class FtScaledFont : public ScaledFont { public: /** Creates a ScaledFont From a FtFontFace. * * @since 1.8 */ static RefPtr create(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options = FontOptions()); /** Gets the FT_Face object from a FreeType backend font and scales it * appropriately for the font. You must release the face with * unlock_face() when you are done using it. Since the FT_Face object can be * shared between multiple ScaledFont objects, you must not lock any other * font objects until you unlock this one. A count is kept of the number of * times lock_face() is called. unlock_face() must be called the same number * of times. * * You must be careful when using this function in a library or in a threaded * application, because freetype's design makes it unsafe to call freetype * functions simultaneously from multiple threads, (even if using distinct * FT_Face objects). Because of this, application code that acquires an * FT_Face object with this call must add it's own locking to protect any use * of that object, (and which also must protect any other calls into cairo as * almost any cairo function might result in a call into the freetype * library). * * @return The FT_Face object for font, scaled appropriately, or NULL if * scaled_font is in an error state or there is insufficient memory. * * @since 1.8 */ FT_Face lock_face(); /** Releases a face obtained with lock_face(). * * @since 1.8 */ void unlock_face(); protected: FtScaledFont(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options = FontOptions()); }; #endif // CAIRO_HAS_FT_FONT } #endif // __CAIROMM_SCALEDFONT_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/exception.h0000644000175000017500000000005011561715437020042 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/exception.h0000644000175000017500000000236311561715437020262 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIRO_EXCEPTION_H #define __CAIRO_EXCEPTION_H #include #include namespace Cairo { /** */ class logic_error: public std::logic_error { public: explicit logic_error(ErrorStatus status); virtual ~logic_error() throw(); //virtual const char* what() const throw(); ErrorStatus get_status_code() const; private: ErrorStatus m_status; }; } // namespace Cairo #endif // __CAIRO_EXCEPTION_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/region.cc0000644000175000017500000000005011561715437017465 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/region.cc0000644000175000017500000001171711561715437017710 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include namespace Cairo { Region::Region() : m_cobject(cairo_region_create()) { check_object_status_and_throw_exception (*this); } Region::Region(const RectangleInt& rectangle) : m_cobject(cairo_region_create_rectangle(&rectangle)) { check_object_status_and_throw_exception (*this); } // less efficient but convenient Region::Region(const std::vector& rects) : m_cobject(0) { RectangleInt *carray = new RectangleInt[rects.size()]; std::copy(rects.begin(), rects.end(), carray); m_cobject = cairo_region_create_rectangles (carray, rects.size()); delete[] carray; check_object_status_and_throw_exception (*this); } // less convenient but more efficient Region::Region(const RectangleInt *rects, int count) : m_cobject(cairo_region_create_rectangles (rects, count)) { check_object_status_and_throw_exception (*this); } Region::Region(cairo_region_t* cobject, bool has_reference) : m_cobject(0) { if(has_reference) m_cobject = cobject; else m_cobject = cairo_region_reference(cobject); check_object_status_and_throw_exception (*this); } RefPtr Region::create() { return RefPtr(new Region()); } RefPtr Region::create(const RectangleInt& rectangle) { return RefPtr(new Region(rectangle)); } RefPtr Region::create(const std::vector& rects) { return RefPtr(new Region(rects)); } RefPtr Region::create(const RectangleInt *rects, int count) { return RefPtr(new Region(rects, count)); } RefPtr Region::copy() const { return RefPtr (new Region (cairo_region_copy (m_cobject), true)); } Region::~Region() { if(m_cobject) cairo_region_destroy(m_cobject); } void Region::reference() const { cairo_region_reference(m_cobject); } void Region::unreference() const { cairo_region_destroy(m_cobject); } RectangleInt Region::get_extents() const { RectangleInt result; cairo_region_get_extents(m_cobject, &result); return result; } int Region::get_num_rectangles() const { return cairo_region_num_rectangles(m_cobject); } RectangleInt Region::get_rectangle(int nth_rectangle) const { RectangleInt result; cairo_region_get_rectangle(m_cobject, nth_rectangle, &result); return result; } bool Region::empty() const { return cairo_region_is_empty(m_cobject); } RegionOverlap Region::contains_rectangle(const RectangleInt& rectangle) const { return (RegionOverlap)cairo_region_contains_rectangle(m_cobject, &rectangle); } bool Region::contains_point(int x, int y) const { return cairo_region_contains_point(m_cobject, x, y); } void Region::translate(int dx, int dy) { cairo_region_translate(m_cobject, dx, dy); } void Region::subtract(const RefPtr& other) { ErrorStatus status = cairo_region_subtract(m_cobject, (other ? other->cobj() : 0)); check_status_and_throw_exception (status); } void Region::subtract(const RectangleInt& rectangle) { ErrorStatus status = cairo_region_subtract_rectangle(m_cobject, &rectangle); check_status_and_throw_exception (status); } void Region::intersect(const RefPtr& other) { ErrorStatus status = cairo_region_intersect(m_cobject, (other ? other->cobj() : 0)); check_status_and_throw_exception (status); } void Region::intersect(const RectangleInt& rectangle) { ErrorStatus status = cairo_region_intersect_rectangle(m_cobject, &rectangle); check_status_and_throw_exception (status); } void Region::do_union(const RefPtr& other) { ErrorStatus status = cairo_region_union(m_cobject, (other ? other->cobj() : 0)); check_status_and_throw_exception (status); } void Region::do_union(const RectangleInt& rectangle) { ErrorStatus status = cairo_region_union_rectangle(m_cobject, &rectangle); check_status_and_throw_exception (status); } void Region::do_xor(const RefPtr& other) { ErrorStatus status = cairo_region_xor(m_cobject, (other ? other->cobj() : 0)); check_status_and_throw_exception (status); } void Region::do_xor(const RectangleInt& rectangle) { ErrorStatus status = cairo_region_xor_rectangle(m_cobject, &rectangle); check_status_and_throw_exception (status); } } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/xlib_surface.h0000644000175000017500000000005011561715437020512 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/xlib_surface.h0000644000175000017500000001652211561715437020734 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_XLIB_SURFACE_H #define __CAIROMM_XLIB_SURFACE_H #include // This header is not included by cairomm.h because it requires X headers that // tend to pollute the namespace with non-prefixed #defines and typedefs. // You may include it directly if you need to use this API. #ifdef CAIRO_HAS_XLIB_SURFACE #include // Needed for the X11 "Display" struct (which pollutes the namespace because it has no prefix.) #ifdef CAIRO_HAS_XLIB_XRENDER_SURFACE #include // xrender-specific API #endif // CAIRO_HAS_XLIB_XRENDER_SURFACE #endif // CAIRO_HAS_XLIB_SURFACE namespace Cairo { #ifdef CAIRO_HAS_XLIB_SURFACE /** An XlibSurface provides a way to render to the X Window System using XLib. * If you want to draw to the screen within an application that uses the X * Window system, you should use this Surface type. * * @note For this surface to be availabe, cairo must have been compiled with * support for XLib Surfaces */ class XlibSurface : public Surface { public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit XlibSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~XlibSurface(); /** Creates an Xlib surface that draws to the given drawable. The way that * colors are represented in the drawable is specified by the provided * visual. * * @note If drawable is a Window, then the function * cairo_xlib_surface_set_size must be called whenever the size of the window * changes. * * @param dpy an X Display * @param drawable an X Drawable, (a Pixmap or a Window) * @param visual the visual to use for drawing to drawable. The depth of the visual must match the depth of the drawable. Currently, only TrueColor visuals are fully supported. * @param width the current width of drawable. * @param height the current height of drawable. * @return A RefPtr to the newly created surface */ static RefPtr create(Display* dpy, Drawable drawable, Visual* visual, int width, int height); /** Creates an Xlib surface that draws to the given bitmap. This will be * drawn to as a CAIRO_FORMAT_A1 object. * * @param dpy an X Display * @param bitmap an X Drawable, (a depth-1 Pixmap) * @param screen the X Screen associated with bitmap * @param width the current width of bitmap. * @param height the current height of bitmap. * @return A RefPtr to the newly created surface */ static RefPtr create(Display *dpy, Pixmap bitmap, Screen *screen, int width, int height); /** Informs cairo of the new size of the X Drawable underlying the surface. * For a surface created for a Window (rather than a Pixmap), this function * must be called each time the size of the window changes. (For a subwindow, * you are normally resizing the window yourself, but for a toplevel window, * it is necessary to listen for ConfigureNotify events.) * * A Pixmap can never change size, so it is never necessary to call this * function on a surface created for a Pixmap. * * @param width the new width of the surface * @param height the new height of the surface */ void set_size(int width, int height); /** Informs cairo of a new X Drawable underlying the surface. The drawable * must match the display, screen and format of the existing drawable or the * application will get X protocol errors and will probably terminate. No * checks are done by this function to ensure this compatibility. * * @param drawable the new drawable for the surface * @param width the width of the new drawable * @param height the height of the new drawable */ void set_drawable(Drawable drawable, int width, int height); /** gets the Drawable object associated with this surface */ Drawable get_drawable() const; /** Get the X Display for the underlying X Drawable. */ const Display* get_display() const; /** Get the X Display for the underlying X Drawable. */ Display* get_display(); /** Get the X Screen for the underlying X Drawable */ Screen* get_screen(); /** Get the X Screen for the underlying X Drawable */ const Screen* get_screen() const; /** Get the X Visual for the underlying X Drawable */ Visual* get_visual(); /** Get the X Visual for the underlying X Drawable */ const Visual* get_visual() const; /** Get the number of bits used to represent each pixel value. */ int get_depth() const; /** Get the height in pixels of the X Drawable underlying the surface */ int get_height() const; /** Get the width in pixels of the X Drawable underlying the surface */ int get_width() const; #if CAIRO_HAS_XLIB_XRENDER_SURFACE /** * Creates an Xlib surface that draws to the given drawable. The way that * colors are represented in the drawable is specified by the provided picture * format. * * Note: If @drawable is a Window, then the function set_size() must be called * whenever the size of the window changes. * * @param dpy an X Display * @param drawable an X Drawable, (a Pixmap or a Window) * @param screen the X Screen associated with @drawable * @param format the picture format to use for drawing to @drawable. The depth * of @format must match the depth of the drawable. * @param width the current width of @drawable. * @param height the current height of @drawable. * * @return the newly created surface **/ static Cairo::RefPtr create_with_xrender_format (Display *dpy, Drawable drawable, Screen *screen, XRenderPictFormat *format, int width, int height); /** * Gets the X Render picture format that @surface uses for rendering with the * X Render extension. If the surface was created by * cairo_xlib_surface_create_with_xrender_format() originally, the return * value is the format passed to that constructor. * * Return value: the XRenderPictFormat* associated with @surface, * or %NULL if the surface is not an xlib surface * or if the X Render extension is not available. * * Since: 1.6 **/ XRenderPictFormat * get_xrender_format() const; #endif // CAIRO_HAS_XLIB_XRENDER_SURFACE }; #endif // CAIRO_HAS_XLIB_SURFACE } // namespace Cairo #endif //__CAIROMM_XLIB_SURFACE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/enums.h0000644000175000017500000000005011561715437017173 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/enums.h0000644000175000017500000002206311561715437017412 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_ENUMS_H #define __CAIROMM_ENUMS_H #include namespace Cairo { #ifndef DOXYGEN_IGNORE_THIS //This is only used internally, but it must be in a public header because we inline some methods. //Actually, it is used now by the UserFontFace set_*_func() slots, which are public. murrayc. typedef cairo_status_t ErrorStatus; #endif //DOXYGEN_IGNORE_THIS typedef enum { OPERATOR_CLEAR = CAIRO_OPERATOR_CLEAR, OPERATOR_SOURCE = CAIRO_OPERATOR_SOURCE, OPERATOR_OVER = CAIRO_OPERATOR_OVER, OPERATOR_IN = CAIRO_OPERATOR_IN, OPERATOR_OUT = CAIRO_OPERATOR_OUT, OPERATOR_ATOP = CAIRO_OPERATOR_ATOP, OPERATOR_DEST = CAIRO_OPERATOR_DEST, OPERATOR_DEST_OVER = CAIRO_OPERATOR_DEST_OVER, OPERATOR_DEST_IN = CAIRO_OPERATOR_DEST_IN, OPERATOR_DEST_OUT = CAIRO_OPERATOR_DEST_OUT, OPERATOR_DEST_ATOP = CAIRO_OPERATOR_DEST_ATOP, OPERATOR_XOR = CAIRO_OPERATOR_XOR, OPERATOR_ADD = CAIRO_OPERATOR_ADD, OPERATOR_SATURATE = CAIRO_OPERATOR_SATURATE } Operator; typedef enum { ANTIALIAS_DEFAULT = CAIRO_ANTIALIAS_DEFAULT, ANTIALIAS_NONE = CAIRO_ANTIALIAS_NONE, ANTIALIAS_GRAY = CAIRO_ANTIALIAS_GRAY, ANTIALIAS_SUBPIXEL = CAIRO_ANTIALIAS_SUBPIXEL } Antialias; typedef enum { FILL_RULE_WINDING = CAIRO_FILL_RULE_WINDING, FILL_RULE_EVEN_ODD = CAIRO_FILL_RULE_EVEN_ODD } FillRule; typedef enum { LINE_CAP_BUTT = CAIRO_LINE_CAP_BUTT, LINE_CAP_ROUND = CAIRO_LINE_CAP_ROUND, LINE_CAP_SQUARE = CAIRO_LINE_CAP_SQUARE } LineCap; typedef enum { LINE_JOIN_MITER = CAIRO_LINE_JOIN_MITER, LINE_JOIN_ROUND = CAIRO_LINE_JOIN_ROUND, LINE_JOIN_BEVEL = CAIRO_LINE_JOIN_BEVEL } LineJoin; typedef enum { FONT_SLANT_NORMAL = CAIRO_FONT_SLANT_NORMAL, FONT_SLANT_ITALIC = CAIRO_FONT_SLANT_ITALIC, FONT_SLANT_OBLIQUE = CAIRO_FONT_SLANT_OBLIQUE } FontSlant; typedef enum { FONT_WEIGHT_NORMAL = CAIRO_FONT_WEIGHT_NORMAL, FONT_WEIGHT_BOLD = CAIRO_FONT_WEIGHT_BOLD } FontWeight; typedef enum { CONTENT_COLOR = CAIRO_CONTENT_COLOR, CONTENT_ALPHA = CAIRO_CONTENT_ALPHA, CONTENT_COLOR_ALPHA = CAIRO_CONTENT_COLOR_ALPHA } Content; //TODO: Mark as new in 1.10 typedef enum { DEVICE_TYPE_DRM = CAIRO_DEVICE_TYPE_DRM, DEVICE_TYPE_GL = CAIRO_DEVICE_TYPE_GL, DEVICE_TYPE_SCRIPT = CAIRO_DEVICE_TYPE_SCRIPT, DEVICE_TYPE_XCB = CAIRO_DEVICE_TYPE_XCB, DEVICE_TYPE_XLIB = CAIRO_DEVICE_TYPE_XLIB, DEVICE_TYPE_XML = CAIRO_DEVICE_TYPE_XML } DeviceType; typedef enum { FORMAT_ARGB32 = CAIRO_FORMAT_ARGB32, FORMAT_RGB24 = CAIRO_FORMAT_RGB24, FORMAT_A8 = CAIRO_FORMAT_A8, FORMAT_A1 = CAIRO_FORMAT_A1, FORMAT_RGB16_565 = CAIRO_FORMAT_RGB16_565 /* @< @deprecated This format value is deprecated. It has never been properly implemented in cairo and is unnecessary. */ } Format; typedef enum { EXTEND_NONE = CAIRO_EXTEND_NONE, EXTEND_REPEAT = CAIRO_EXTEND_REPEAT, EXTEND_REFLECT = CAIRO_EXTEND_REFLECT, EXTEND_PAD = CAIRO_EXTEND_PAD } Extend; typedef enum { FILTER_FAST = CAIRO_FILTER_FAST, FILTER_GOOD = CAIRO_FILTER_GOOD, FILTER_BEST = CAIRO_FILTER_BEST, FILTER_NEAREST = CAIRO_FILTER_NEAREST, FILTER_BILINEAR = CAIRO_FILTER_BILINEAR, FILTER_GAUSSIAN = CAIRO_FILTER_GAUSSIAN } Filter; /** * The subpixel order specifies the order of color elements within each pixel on * the display device when rendering with an antialiasing mode of * ANTIALIAS_SUBPIXEL. **/ typedef enum { SUBPIXEL_ORDER_DEFAULT = CAIRO_SUBPIXEL_ORDER_DEFAULT, /**< Use the default subpixel order for for the target device */ SUBPIXEL_ORDER_RGB = CAIRO_SUBPIXEL_ORDER_RGB, /**< Subpixel elements are arranged horizontally with red at the left */ SUBPIXEL_ORDER_BGR = CAIRO_SUBPIXEL_ORDER_BGR, /**< Subpixel elements are arranged horizontally with blue at the left */ SUBPIXEL_ORDER_VRGB = CAIRO_SUBPIXEL_ORDER_VRGB, /**< Subpixel elements are arranged vertically with red at the top */ SUBPIXEL_ORDER_VBGR = CAIRO_SUBPIXEL_ORDER_VBGR /**< Subpixel elements are arranged vertically with blue at the top */ } SubpixelOrder; /** * Specifies the type of hinting to do on font outlines. Hinting is the process * of fitting outlines to the pixel grid in order to improve the appearance of * the result. Since hinting outlines involves distorting them, it also reduces * the faithfulness to the original outline shapes. Not all of the outline * hinting styles are supported by all font backends. * * New entries may be added in future versions. **/ typedef enum { HINT_STYLE_DEFAULT = CAIRO_HINT_STYLE_DEFAULT, /**< Use the default hint style for font backend and target device */ HINT_STYLE_NONE = CAIRO_HINT_STYLE_NONE, /**< Do not hint outlines */ HINT_STYLE_SLIGHT = CAIRO_HINT_STYLE_SLIGHT, /**< Hint outlines slightly to improve contrast while retaining good fidelity to the original shapes. */ HINT_STYLE_MEDIUM = CAIRO_HINT_STYLE_MEDIUM, /**< Hint outlines with medium strength giving a compromise between fidelity to the original shapes and contrast */ HINT_STYLE_FULL = CAIRO_HINT_STYLE_FULL /**< Hint outlines to maximize contrast */ } HintStyle; /** * Specifies whether to hint font metrics; hinting font metrics means quantizing * them so that they are integer values in device space. Doing this improves the * consistency of letter and line spacing, however it also means that text will * be laid out differently at different zoom factors. **/ typedef enum { HINT_METRICS_DEFAULT = CAIRO_HINT_METRICS_DEFAULT, /**< Hint metrics in the default manner for the font backend and target device */ HINT_METRICS_OFF = CAIRO_HINT_METRICS_OFF, /**< Do not hint font metrics */ HINT_METRICS_ON = CAIRO_HINT_METRICS_ON /**< Hint font metrics */ } HintMetrics; typedef enum { SURFACE_TYPE_IMAGE = CAIRO_SURFACE_TYPE_IMAGE, SURFACE_TYPE_PDF = CAIRO_SURFACE_TYPE_PDF, SURFACE_TYPE_PS = CAIRO_SURFACE_TYPE_PS, SURFACE_TYPE_XLIB = CAIRO_SURFACE_TYPE_XLIB, SURFACE_TYPE_XCB = CAIRO_SURFACE_TYPE_XCB, SURFACE_TYPE_GLITZ = CAIRO_SURFACE_TYPE_GLITZ, SURFACE_TYPE_QUARTZ = CAIRO_SURFACE_TYPE_QUARTZ, SURFACE_TYPE_WIN32 = CAIRO_SURFACE_TYPE_WIN32, SURFACE_TYPE_BEOS = CAIRO_SURFACE_TYPE_BEOS, SURFACE_TYPE_DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB, SURFACE_TYPE_SVG = CAIRO_SURFACE_TYPE_SVG, SURFACE_TYPE_OS2 = CAIRO_SURFACE_TYPE_OS2, SURFACE_TYPE_WIN32_PRINTING = CAIRO_SURFACE_TYPE_WIN32_PRINTING, SURFACE_TYPE_QUARTZ_IMAGE = CAIRO_SURFACE_TYPE_QUARTZ_IMAGE, SURFACE_TYPE_SCRIPT = CAIRO_SURFACE_TYPE_SCRIPT, /*!< @since: 1.10 */ SURFACE_TYPE_QT = CAIRO_SURFACE_TYPE_QT, /*!< @since: 1.10 */ SURFACE_TYPE_RECORDING = CAIRO_SURFACE_TYPE_RECORDING, /*!< @since: 1.10 */ SURFACE_TYPE_VG = CAIRO_SURFACE_TYPE_VG, /*!< @since: 1.10 */ SURFACE_TYPE_GL = CAIRO_SURFACE_TYPE_GL, /*!< @since: 1.10 */ SURFACE_TYPE_DRM = CAIRO_SURFACE_TYPE_DRM, /*!< @since: 1.10 */ SURFACE_TYPE_TEE = CAIRO_SURFACE_TYPE_TEE, /*!< @since: 1.10 */ SURFACE_TYPE_XML = CAIRO_SURFACE_TYPE_XML, /*!< @since: 1.10 */ SURFACE_TYPE_SKIA = CAIRO_SURFACE_TYPE_SKIA, /*!< @since: 1.10 */ SURFACE_TYPE_SUBSURFACE = CAIRO_SURFACE_TYPE_SUBSURFACE /*!< @since: 1.10 */ } SurfaceType; typedef enum { PATTERN_TYPE_SOLID = CAIRO_PATTERN_TYPE_SOLID, PATTERN_TYPE_SURFACE = CAIRO_PATTERN_TYPE_SURFACE, PATTERN_TYPE_LINEAR = CAIRO_PATTERN_TYPE_LINEAR, PATTERN_TYPE_RADIAL = CAIRO_PATTERN_TYPE_RADIAL } PatternType; typedef enum { FONT_TYPE_TOY = CAIRO_FONT_TYPE_TOY, FONT_TYPE_FT = CAIRO_FONT_TYPE_FT, FONT_TYPE_WIN32 = CAIRO_FONT_TYPE_WIN32, FONT_TYPE_ATSUI = CAIRO_FONT_TYPE_QUARTZ, /**< @deprecated Use FONT_TYPE_QUARTZ instead. */ FONT_TYPE_QUARTZ = CAIRO_FONT_TYPE_QUARTZ, FONT_TYPE_USER = CAIRO_FONT_TYPE_USER } FontType; /** Specifies properties of a text cluster mapping. * * @since 1.8 **/ typedef enum { TEXT_CLUSTER_FLAG_BACKWARD = CAIRO_TEXT_CLUSTER_FLAG_BACKWARD /**< The clusters in the cluster array map to glyphs in the glyph array from end to start. */ } TextClusterFlags; typedef enum { REGION_OVERLAP_IN = CAIRO_REGION_OVERLAP_IN, /**< completely inside region */ REGION_OVERLAP_OUT = CAIRO_REGION_OVERLAP_OUT, /**< completely outside region */ REGION_OVERLAP_PART = CAIRO_REGION_OVERLAP_PART /**< partly inside region */ } RegionOverlap; } // namespace Cairo #endif //__CAIROMM_ENUMS_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/xlib_surface.cc0000644000175000017500000000005011561715437020650 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/xlib_surface.cc0000644000175000017500000001165711561715437021076 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { #ifdef CAIRO_HAS_XLIB_SURFACE XlibSurface::XlibSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) {} XlibSurface::~XlibSurface() { // surface is destroyed in base class } RefPtr XlibSurface::create(Display* dpy, Drawable drawable, Visual* visual, int width, int height) { cairo_surface_t* cobject = cairo_xlib_surface_create(dpy, drawable, visual, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new XlibSurface(cobject, true /* has reference */)); } RefPtr XlibSurface::create(Display* dpy, Pixmap bitmap, Screen* screen, int width, int height) { cairo_surface_t* cobject = cairo_xlib_surface_create_for_bitmap(dpy, bitmap, screen, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new XlibSurface(cobject, true /* has reference */)); } void XlibSurface::set_size(int width, int height) { cairo_xlib_surface_set_size(m_cobject, width, height); check_object_status_and_throw_exception(*this); } void XlibSurface::set_drawable(Drawable drawable, int width, int height) { cairo_xlib_surface_set_drawable(m_cobject, drawable, width, height); check_object_status_and_throw_exception(*this); } Drawable XlibSurface::get_drawable() const { Drawable drawable = cairo_xlib_surface_get_drawable(m_cobject); check_object_status_and_throw_exception(*this); return drawable; } const Display* XlibSurface::get_display() const { const Display* dpy = cairo_xlib_surface_get_display(m_cobject); check_object_status_and_throw_exception(*this); return dpy; } Display* XlibSurface::get_display() { Display* dpy = cairo_xlib_surface_get_display(m_cobject); check_object_status_and_throw_exception(*this); return dpy; } Screen* XlibSurface::get_screen() { Screen* screen = cairo_xlib_surface_get_screen(m_cobject); check_object_status_and_throw_exception(*this); return screen; } const Screen* XlibSurface::get_screen() const { const Screen* screen = cairo_xlib_surface_get_screen(m_cobject); check_object_status_and_throw_exception(*this); return screen; } Visual* XlibSurface::get_visual() { Visual* visual = cairo_xlib_surface_get_visual(m_cobject); check_object_status_and_throw_exception(*this); return visual; } const Visual* XlibSurface::get_visual() const { const Visual* visual = cairo_xlib_surface_get_visual(m_cobject); check_object_status_and_throw_exception(*this); return visual; } int XlibSurface::get_depth() const { int depth = cairo_xlib_surface_get_depth(m_cobject); check_object_status_and_throw_exception(*this); return depth; } int XlibSurface::get_height() const { int h = cairo_xlib_surface_get_height(m_cobject); check_object_status_and_throw_exception(*this); return h; } int XlibSurface::get_width() const { int w = cairo_xlib_surface_get_width(m_cobject); check_object_status_and_throw_exception(*this); return w; } #if CAIRO_HAS_XLIB_XRENDER_SURFACE Cairo::RefPtr XlibSurface::create_with_xrender_format (Display *dpy, Drawable drawable, Screen *screen, XRenderPictFormat *format, int width, int height) { cairo_surface_t* cobject = cairo_xlib_surface_create_with_xrender_format(dpy, drawable, screen, format, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new XlibSurface(cobject, true /* has reference */)); } XRenderPictFormat* XlibSurface::get_xrender_format() const { XRenderPictFormat* format = cairo_xlib_surface_get_xrender_format(m_cobject); check_object_status_and_throw_exception(*this); return format; } #endif // CAIRO_HAS_XLIB_XRENDER_SURFACE #endif // CAIRO_HAS_XLIB_SURFACE } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/private.cc0000644000175000017500000000005011561715437017654 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/private.cc0000644000175000017500000000503311561715437020071 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include //For CAIROMM_EXCEPTIONS_ENABLED #include #include #include #include namespace Cairo { #ifdef CAIROMM_EXCEPTIONS_ENABLED void throw_exception(ErrorStatus status) { switch(status) { case CAIRO_STATUS_SUCCESS: // we should never get here, but just in case break; case CAIRO_STATUS_NO_MEMORY: throw std::bad_alloc(); break; // Programmer error case CAIRO_STATUS_INVALID_RESTORE: case CAIRO_STATUS_INVALID_POP_GROUP: case CAIRO_STATUS_NO_CURRENT_POINT: case CAIRO_STATUS_INVALID_MATRIX: //No longer in API?: case CAIRO_STATUS_NO_TARGET_SURFACE: case CAIRO_STATUS_INVALID_STRING: case CAIRO_STATUS_SURFACE_FINISHED: //No longer in API?: case CAIRO_STATUS_BAD_NESTING: throw Cairo::logic_error(status); break; // Language binding implementation: case CAIRO_STATUS_NULL_POINTER: case CAIRO_STATUS_INVALID_PATH_DATA: case CAIRO_STATUS_SURFACE_TYPE_MISMATCH: throw Cairo::logic_error(status); break; // Other case CAIRO_STATUS_READ_ERROR: case CAIRO_STATUS_WRITE_ERROR: { //The Cairo language binding advice suggests that these are stream errors //that should be mapped to their C++ equivalents. const char* error_message = cairo_status_to_string(status); throw std::ios_base::failure( error_message ? error_message : std::string() ); } break; default: throw Cairo::logic_error(status); break; } } #else void throw_exception(ErrorStatus /* status */) { //Do nothing. The application should call get_status() instead. } #endif //CAIROMM_EXCEPTIONS_ENABLED } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/context_private.h0000644000175000017500000000005011561715437021262 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/context_private.h0000644000175000017500000000233411561715437021500 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_CONTEXT_PRIVATE_H #define __CAIROMM_CONTEXT_PRIVATE_H #include #include namespace Cairo { namespace Private { RefPtr wrap_surface_quartz(cairo_surface_t*); RefPtr wrap_surface_win32(cairo_surface_t*); RefPtr wrap_surface_xlib(cairo_surface_t*); } // namespace Private } // namespace Cairo #endif // __CAIROMM_CONTEXT_PRIVATE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/private.h0000644000175000017500000000005011561715437017516 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/private.h0000644000175000017500000000316111561715437017733 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_PRIVATE_H #define __CAIROMM_PRIVATE_H #include #include #include #ifndef DOXYGEN_IGNORE_THIS namespace Cairo { /// Throws the appropriate exception, if exceptions are enabled. void throw_exception(ErrorStatus status); //We inline this because it is called so often. inline void check_status_and_throw_exception(ErrorStatus status) { if(status != CAIRO_STATUS_SUCCESS) throw_exception(status); //This part doesn't need to be inline because it would rarely be called. } template void check_object_status_and_throw_exception(const T& object) { //get_status() is normally an inlined member method. check_status_and_throw_exception(object.get_status()); } } // namespace Cairo #endif //DOXYGEN_IGNORE_THIS #endif //__CAIROMM_PRIVATE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/refptr.h0000644000175000017500000000005011561715437017346 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/refptr.h0000644000175000017500000002631511561715437017571 0ustar00murraycmurrayc00000000000000// -*- c++ -*- #ifndef _cairo_REFPTR_H #define _cairo_REFPTR_H /* $Id: refptr.h,v 1.6 2006-09-27 18:38:57 murrayc Exp $ */ /* Copyright 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ namespace Cairo { /** RefPtr<> is a reference-counting shared smartpointer. * * Reference counting means that a shared reference count is incremented each * time a RefPtr is copied, and decremented each time a RefPtr is destroyed, * for instance when it leaves its scope. When the reference count reaches * zero, the contained object is deleted * * cairomm uses RefPtr so that you don't need to remember * to delete the object explicitly, or know when a method expects you to delete * the object that it returns, and to prevent any need to manually reference * and unreference() cairo objects. */ template class RefPtr { public: /** Default constructor * * Afterwards it will be null and use of -> will cause a segmentation fault. */ inline RefPtr(); /// Destructor - decrements reference count. inline ~RefPtr(); /** For use only in the internal implementation of cairomm, gtkmm, etc. * * This takes ownership of @a pCppObject, so it will be deleted when the * last RefPtr is deleted, for instance when it goes out of scope. * * This assumes that @a pCppObject already has a starting reference for its underlying cairo object, * so that destruction of @a @pCppObject will cause a corresponding unreference of its underlying * cairo object. For instance, a cairo_*_create() function usually provides a starting reference, * but a cairo_*_get_*() function requires the caller to manually reference the returned object. * In this case, you should call reference() on @a pCppObject before passing it to this constructor. */ explicit inline RefPtr(T_CppObject* pCppObject); /// For use only in the internal implementation of sharedptr. explicit inline RefPtr(T_CppObject* pCppObject, int* refcount); /** Copy constructor * * This increments the shared reference count. */ inline RefPtr(const RefPtr& src); /** Copy constructor (from different, but castable type). * * Increments the reference count. */ template inline RefPtr(const RefPtr& src); /** Swap the contents of two RefPtr<>. * This method swaps the internal pointers to T_CppObject. This can be * done safely without involving a reference/unreference cycle and is * therefore highly efficient. */ inline void swap(RefPtr& other); /// Copy from another RefPtr: inline RefPtr& operator=(const RefPtr& src); /** Copy from different, but castable type). * * Increments the reference count. */ template inline RefPtr& operator=(const RefPtr& src); /// Tests whether the RefPtr<> point to the same underlying instance. inline bool operator==(const RefPtr& src) const; /// See operator==(). inline bool operator!=(const RefPtr& src) const; /** Dereferencing. * * Use the methods of the underlying instance like so: * refptr->memberfun(). */ inline T_CppObject* operator->() const; /** Test whether the RefPtr<> points to any underlying instance. * * Mimics usage of ordinary pointers: * @code * if (ptr) * do_something(); * @endcode */ inline operator bool() const; /// Set underlying instance to 0, decrementing reference count of existing instance appropriately. inline void clear(); /** Dynamic cast to derived class. * * The RefPtr can't be cast with the usual notation so instead you can use * @code * ptr_derived = RefPtr::cast_dynamic(ptr_base); * @endcode */ template static inline RefPtr cast_dynamic(const RefPtr& src); /** Static cast to derived class. * * Like the dynamic cast; the notation is * @code * ptr_derived = RefPtr::cast_static(ptr_base); * @endcode */ template static inline RefPtr cast_static(const RefPtr& src); /** Cast to non-const. * * The RefPtr can't be cast with the usual notation so instead you can use * @code * ptr_unconst = RefPtr::cast_const(ptr_const); * @endcode */ template static inline RefPtr cast_const(const RefPtr& src); #ifndef DOXYGEN_IGNORE_THIS // Warning: This is for internal use only. Do not manually modify the // reference count with this pointer. inline int* refcount_() const { return pCppRefcount_; } #endif // DOXYGEN_IGNORE_THIS private: void unref(); T_CppObject* pCppObject_; mutable int* pCppRefcount_; }; #ifndef DOXYGEN_IGNORE_THIS // RefPtr<>::operator->() comes first here since it's used by other methods. // If it would come after them it wouldn't be inlined. template inline T_CppObject* RefPtr::operator->() const { return pCppObject_; } template inline RefPtr::RefPtr() : pCppObject_(0), pCppRefcount_(0) {} template inline RefPtr::~RefPtr() { unref(); } template inline void RefPtr::unref() { if(pCppRefcount_) { --(*pCppRefcount_); if(*pCppRefcount_ == 0) { if(pCppObject_) { delete pCppObject_; pCppObject_ = 0; } delete pCppRefcount_; pCppRefcount_ = 0; } } } template inline RefPtr::RefPtr(T_CppObject* pCppObject) : pCppObject_(pCppObject), pCppRefcount_(0) { if(pCppObject) { pCppRefcount_ = new int; *pCppRefcount_ = 1; //This will be decremented in the destructor. } } //Used by cast_*() implementations: template inline RefPtr::RefPtr(T_CppObject* pCppObject, int* refcount) : pCppObject_(pCppObject), pCppRefcount_(refcount) { if(pCppObject_ && pCppRefcount_) ++(*pCppRefcount_); } template inline RefPtr::RefPtr(const RefPtr& src) : pCppObject_ (src.pCppObject_), pCppRefcount_(src.pCppRefcount_) { if(pCppObject_ && pCppRefcount_) ++(*pCppRefcount_); } // The templated ctor allows copy construction from any object that's // castable. Thus, it does downcasts: // base_ref = derived_ref template template inline RefPtr::RefPtr(const RefPtr& src) : // A different RefPtr<> will not allow us access to pCppObject_. We need // to add a get_underlying() for this, but that would encourage incorrect // use, so we use the less well-known operator->() accessor: pCppObject_ (src.operator->()), pCppRefcount_(src.refcount_()) { if(pCppObject_ && pCppRefcount_) ++(*pCppRefcount_); } template inline void RefPtr::swap(RefPtr& other) { T_CppObject *const temp = pCppObject_; int* temp_count = pCppRefcount_; pCppObject_ = other.pCppObject_; pCppRefcount_ = other.pCppRefcount_; other.pCppObject_ = temp; other.pCppRefcount_ = temp_count; } template inline RefPtr& RefPtr::operator=(const RefPtr& src) { // In case you haven't seen the swap() technique to implement copy // assignment before, here's what it does: // // 1) Create a temporary RefPtr<> instance via the copy ctor, thereby // increasing the reference count of the source object. // // 2) Swap the internal object pointers of *this and the temporary // RefPtr<>. After this step, *this already contains the new pointer, // and the old pointer is now managed by temp. // // 3) The destructor of temp is executed, thereby unreferencing the // old object pointer. // // This technique is described in Herb Sutter's "Exceptional C++", and // has a number of advantages over conventional approaches: // // - Code reuse by calling the copy ctor. // - Strong exception safety for free. // - Self assignment is handled implicitely. // - Simplicity. // - It just works and is hard to get wrong; i.e. you can use it without // even thinking about it to implement copy assignment whereever the // object data is managed indirectly via a pointer, which is very common. RefPtr temp (src); this->swap(temp); return *this; } template template inline RefPtr& RefPtr::operator=(const RefPtr& src) { RefPtr temp (src); this->swap(temp); return *this; } template inline bool RefPtr::operator==(const RefPtr& src) const { return (pCppObject_ == src.pCppObject_); } template inline bool RefPtr::operator!=(const RefPtr& src) const { return (pCppObject_ != src.pCppObject_); } template inline RefPtr::operator bool() const { return (pCppObject_ != 0); } template inline void RefPtr::clear() { RefPtr temp; // swap with an empty RefPtr<> to clear *this this->swap(temp); } template template inline RefPtr RefPtr::cast_dynamic(const RefPtr& src) { T_CppObject *const pCppObject = dynamic_cast(src.operator->()); if(pCppObject) //Check whether dynamic_cast<> succeeded so we don't pass a null object with a used refcount: return RefPtr(pCppObject, src.refcount_()); else return RefPtr(); } template template inline RefPtr RefPtr::cast_static(const RefPtr& src) { T_CppObject *const pCppObject = static_cast(src.operator->()); return RefPtr(pCppObject, src.refcount_()); } template template inline RefPtr RefPtr::cast_const(const RefPtr& src) { T_CppObject *const pCppObject = const_cast(src.operator->()); return RefPtr(pCppObject, src.refcount_()); } #endif /* DOXYGEN_IGNORE_THIS */ /** @relates Glib::RefPtr */ template inline void swap(RefPtr& lhs, RefPtr& rhs) { lhs.swap(rhs); } } // namespace Cairo #endif /* _cairo_REFPTR_H */ // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/win32_font.h0000644000175000017500000000005011561715437020034 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/win32_font.h0000644000175000017500000001232411561715437020252 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 Jonathon Jongsma * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_WIN32_FONT_H #define __CAIROMM_WIN32_FONT_H #include #ifdef CAIRO_HAS_WIN32_FONT #include #include #include namespace Cairo { /** Font support for Microsoft Windows. * * @since 1.8 */ class Win32FontFace : public FontFace { public: /** Creates a new font for the Win32 font backend based on a LOGFONT. This * font can then be used with Context::set_font_face() or * Win32ScaledFont::create(). * * @param logfont A LOGFONTW structure specifying the font to use. The * lfHeight, lfWidth, lfOrientation and lfEscapement fields of this structure * are ignored. * * @since 1.8 */ static RefPtr create(LOGFONTW* logfont); /** Creates a new font for the Win32 font backend based on a HFONT. This font * can then be used with Context::set_font_face() or Win32ScaledFont::create(). * * @param font An HFONT structure specifying the font to use. * * @since 1.8 */ static RefPtr create(HFONT font); /** Creates a new font for the Win32 font backend based on a LOGFONT. This * font can then be used with Context::set_font_face() or * Win32ScaledFont::create(). * * @param logfont A LOGFONTW structure specifying the font to use. If hfont is * null then the lfHeight, lfWidth, lfOrientation and lfEscapement fields of * this structure are ignored. Otherwise lfWidth, lfOrientation and * lfEscapement must be zero. * @param font An HFONT that can be used when the font matrix is a scale by * -lfHeight and the CTM is identity. * * @since 1.8 */ static RefPtr create(LOGFONTW* logfont, HFONT font); protected: Win32FontFace(LOGFONTW* logfont); Win32FontFace(HFONT font); Win32FontFace(LOGFONTW* logfont, HFONT font); }; /** Scaled Font implementation for Microsoft Windows fonts. * * @since 1.8 */ class Win32ScaledFont : public ScaledFont { public: /** Creates a scaled font for the given Win32FontFace. * * @since 1.8 */ static RefPtr create(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options = FontOptions()); /** Selects the font into the given device context and changes the map mode * and world transformation of the device context to match that of the font. * This function is intended for use when using layout APIs such as Uniscribe * to do text layout with the cairo font. After finishing using the device * context, you must call done_font() to release any resources allocated by * this function. * * See get_metrics_factor() for converting logical coordinates from the device * context to font space. * * Normally, calls to SaveDC() and RestoreDC() would be made around the use of * this function to preserve the original graphics state. * * @param scaled_font A cairo_scaled_font_t from the Win32 font backend. Such * an object can be created with Win32FontFace::create_for_logfontw(). * @param hdc a device context * * @since 1.8 */ void select_font(HDC hdc); /** Releases any resources allocated by select_font() * * @since 1.8 */ void done_font(); /** Gets a scale factor between logical coordinates in the coordinate space * used by select_font() (that is, the coordinate system used by the Windows * functions to return metrics) and font space coordinates. * * @return factor to multiply logical units by to get font space coordinates. * * @since 1.8 */ double get_metrics_factor() const; /** Gets the transformation mapping the logical space used by this scaled font * to device space. * * @param logical_to_device matrix to return * * @since 1.8 */ void get_logical_to_device(Matrix& logical_to_device) const; /** Gets the transformation mapping device space to the logical space used by * this scaled font. * * @param device_to_logical matrix to return * * @since 1.8 */ void get_device_to_logical(Matrix& device_to_logical) const; protected: Win32ScaledFont(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options = FontOptions()); }; } #endif // CAIRO_HAS_WIN32_FONT #endif // __CAIROMM_WIN32_FONT_H cairomm-1.10.0/cairomm/PaxHeaders.11012/surface.h0000644000175000017500000000005011561715437017474 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/surface.h0000644000175000017500000010505711561715437017720 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_SURFACE_H #define __CAIROMM_SURFACE_H #include #include /* following is required for OS X */ #ifdef nil #undef nil #endif /* end OS X */ #include #include #include #include #include #include //See xlib_surface.h for XlibSurface. //See win32_surface.h for Win32Surface. //See quartz_surface.h for QuartzSurface (Mac OS X). #ifdef CAIRO_HAS_PDF_SURFACE #include #endif // CAIRO_HAS_PDF_SURFACE #ifdef CAIRO_HAS_PS_SURFACE #include #endif // CAIRO_HAS_PS_SURFACE #ifdef CAIRO_HAS_SVG_SURFACE #include #endif // CAIRO_HAS_SVG_SURFACE // Experimental surfaces #ifdef CAIRO_HAS_GLITZ_SURFACE #include #endif // CAIRO_HAS_GLITZ_SURFACE namespace Cairo { /** A cairo surface represents an image, either as the destination of a drawing * operation or as source when drawing onto another surface. There are * different subtypes of cairo surface for different drawing backends. This * class is a base class for all subtypes and should not be used directly * * Surfaces are reference-counted objects that should be used via Cairo::RefPtr. */ class Surface { public: /** For example: * * ErrorStatus my_write_func(unsigned char* data, unsigned int length); * * * This is the type of function which is called when a backend needs to write * data to an output stream. It is passed the data to write and the length of * the data in bytes. The write function should return CAIRO_STATUS_SUCCESS if * all the data was successfully written, CAIRO_STATUS_WRITE_ERROR otherwise. * * @param data the buffer containing the data to write * @param length the amount of data to write * @return the status code of the write operation */ typedef sigc::slot SlotWriteFunc; /** * This is the type of function which is called when a backend needs to read * data from an input stream. It is passed the buffer to read the data into * and the length of the data in bytes. The read function should return * CAIRO_STATUS_SUCCESS if all the data was successfully read, * CAIRO_STATUS_READ_ERROR otherwise. * * @param data the buffer into which to read the data * @param length the amount of data to read * @return the status code of the read operation */ typedef sigc::slot SlotReadFunc; /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit Surface(cairo_surface_t* cobject, bool has_reference = false); virtual ~Surface(); /** Return mime data previously attached to surface using the specified mime type. If no data has been attached with the given mime type then this returns 0. * * @param mime_type The MIME type of the image data. * @param length This will be set to the length of the image data. * @result The image data attached to the surface. */ const unsigned char* get_mime_data(const std::string& mime_type, unsigned long& length); /** For instance, * void on_destroy(); */ typedef sigc::slot SlotDestroy; /** Attach an image in the format mime_type to surface. To remove the data from * a surface, call unset_mime_data() with same mime type. * * The attached image (or filename) data can later be used by backends which * support it (currently: PDF, PS, SVG and Win32 Printing surfaces) to emit * this data instead of making a snapshot of the surface. This approach tends * to be faster and requires less memory and disk space. * * The recognized MIME types are the following: CAIRO_MIME_TYPE_JPEG, * CAIRO_MIME_TYPE_PNG, CAIRO_MIME_TYPE_JP2, CAIRO_MIME_TYPE_URI. * * See corresponding backend surface docs for details about which MIME types * it can handle. Caution: the associated MIME data will be discarded if you * draw on the surface afterwards. Use this function with care. * * @param mime_type The MIME type of the image data. * @param data The image data to attach to the surface. * @param length The length of the image data. * @param slot_destroy A callback slot that will be called when the Surface no longer needs the data. For instance, when the Surface is destroyed or when new image data is attached using the same MIME tpe. */ void set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy); /** Remove the data from a surface. See set_mime_data(). */ void unset_mime_data(const std::string& mime_type); /** Retrieves the default font rendering options for the surface. This allows * display surfaces to report the correct subpixel order for rendering on * them, print surfaces to disable hinting of metrics and so forth. The * result can then be used with cairo_scaled_font_create(). * * @param options a FontOptions object into which to store the retrieved * options. All existing values are overwritten */ void get_font_options(FontOptions& options) const; /** This function finishes the surface and drops all references to external * resources. For example, for the Xlib backend it means that cairo will no * longer access the drawable, which can be freed. After calling * finish() the only valid operations on a surface are getting and setting * user data and referencing and destroying it. Further drawing to the * surface will not affect the surface but will instead trigger a * CAIRO_STATUS_SURFACE_FINISHED error. * * When the Surface is destroyed, cairo will call finish() if it hasn't been * called already, before freeing the resources associated with the Surface. */ void finish(); /** Do any pending drawing for the surface and also restore any temporary * modifications cairo has made to the surface's state. This function must * be called before switching from drawing on the surface with cairo to * drawing on it directly with native APIs. If the surface doesn't support * direct access, then this function does nothing. */ void flush(); /** Tells cairo to consider the data buffer dirty. * * In particular, if you've created an ImageSurface with a data buffer that * you've allocated yourself and you draw to that data buffer using means * other than cairo, you must call mark_dirty() before doing any additional * drawing to that surface with cairo. * * Note that if you do draw to the Surface outside of cairo, you must call * flush() before doing the drawing. */ void mark_dirty(); /** Marks a rectangular area of the given surface dirty. * * @param x X coordinate of dirty rectangle * @param y Y coordinate of dirty rectangle * @param width width of dirty rectangle * @param height height of dirty rectangle */ void mark_dirty(int x, int y, int width, int height); /** Sets an offset that is added to the device coordinates determined by the * CTM when drawing to surface. One use case for this function is when we * want to create a Surface that redirects drawing for a portion of * an onscreen surface to an offscreen surface in a way that is completely * invisible to the user of the cairo API. Setting a transformation via * cairo_translate() isn't sufficient to do this, since functions like * Cairo::Context::device_to_user() will expose the hidden offset. * * Note that the offset only affects drawing to the surface, not using the * surface in a surface pattern. * * @param x_offset the offset in the X direction, in device units * @param y_offset the offset in the Y direction, in device units */ void set_device_offset(double x_offset, double y_offset); /** Returns a previous device offset set by set_device_offset(). */ void get_device_offset(double& x_offset, double& y_offset) const; /** Sets the fallback resolution of the image in dots per inch * * @param x_pixels_per_inch Pixels per inch in the x direction * @param y_pixels_per_inch Pixels per inch in the y direction */ void set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch); /** This function returns the previous fallback resolution set by * set_fallback_resolution(), or default fallback resolution if never set. * * @param x_pixels_per_inch horizontal pixels per inch * @param y_pixels_per_inch vertical pixels per inch * * @since 1.8 */ void get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const; SurfaceType get_type() const; /**This function returns the content type of surface which indicates whether * the surface contains color and/or alpha information. * * @since 1.8 */ Content get_content() const; /** * Emits the current page for backends that support multiple pages, * but doesn't clear it, so that the contents of the current page will * be retained for the next page. Use show_page() if you want to get an empty * page after the emission. * * @since 1.6 */ void copy_page(); /** * Emits and clears the current page for backends that support multiple pages. * Use copy_page() if you don't want to clear the page. * * @since 1.6 */ void show_page(); /** Returns whether the surface supports sophisticated * Context::show_text_glyphs() operations. That is, whether it actually uses * the provided text and cluster data to a Context::show_text_glyphs() call. * * Note: Even if this function returns %FALSE, a Context::show_text_glyphs() * operation targeted at this surface will still succeed. It just will act * like a Context::show_glyphs() operation. Users can use this function to * avoid computing UTF-8 text and cluster mapping if the target surface does * not use it. * * @since 1.8 **/ bool has_show_text_glyphs() const; #ifdef CAIRO_HAS_PNG_FUNCTIONS /** Writes the contents of surface to a new file filename as a PNG image. * * @note For this function to be available, cairo must have been compiled * with PNG support * * @param filename the name of a file to write to */ void write_to_png(const std::string& filename); /** Writes the Surface to the write function. * * @note For this function to be available, cairo must have been compiled * with PNG support * * @param write_func The function to be called when the backend needs to * write data to an output stream * * @since 1.8 */ void write_to_png_stream(const SlotWriteFunc& write_func); /** @deprecated Use write_to_png_stream instead */ void write_to_png(cairo_write_func_t write_func, void *closure); #endif // CAIRO_HAS_PNG_FUNCTIONS /** This function returns the device for a surface * @return The device for this surface, or an empty RefPtr if the surface has * no associated device */ RefPtr get_device(); /** The underlying C cairo surface type */ typedef cairo_surface_t cobject; /** Provides acces to the underlying C cairo surface */ inline cobject* cobj() { return m_cobject; } /** Provides acces to the underlying C cairo surface */ inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_surface_status(const_cast(cobj())); } void reference() const; void unreference() const; #endif //DOXYGEN_IGNORE_THIS /** Create a new surface that is as compatible as possible with an existing * surface. The new surface will use the same backend as other unless that is * not possible for some reason. * * @param other an existing surface used to select the backend of the new surface * @param content the content for the new surface * @param width width of the new surface, (in device-space units) * @param height height of the new surface (in device-space units) * @return a RefPtr to the newly allocated surface. */ static RefPtr create(const RefPtr other, Content content, int width, int height); /** Create a new surface that is a rectangle within the target surface. All * operations drawn to this surface are then clipped and translated onto the * target surface. Nothing drawn via this sub-surface outside of its bounds is * drawn onto the target surface, making this a useful method for passing * constrained child surfaces to library routines that draw directly onto the * parent surface, i.e. with no further backend allocations, double buffering * or copies. * * @Note The semantics of subsurfaces have not been finalized yet unless the * rectangle is in full device units, is contained within the extents of the * target surface, and the target or subsurface's device transforms are not * changed. * * @param target an existing surface for which the sub-surface will point to * @param x the x-origin of the sub-surface from the top-left of the target surface (in device-space units) * @param y the y-origin of the sub-surface from the top-left of the target surface (in device-space units) * @param width width of the sub-surface (in device-space units) * @param height height of the sub-surface (in device-space units) * * @since 1.10 */ static RefPtr create(const RefPtr& target, double x, double y, double width, double height); protected: /** The underlying C cairo surface type that is wrapped by this Surface */ cobject* m_cobject; private: Surface(const Surface&); Surface& operator=(const Surface&); }; /** @example image-surface.cc * An example of using Cairo::ImageSurface class to render to PNG */ /** Image surfaces provide the ability to render to memory buffers either * allocated by cairo or by the calling code. The supported image formats are * those defined in Cairo::Format * * An ImageSurface is the most generic type of Surface and the only one that is * available by default. You can either create an ImageSurface whose data is * managed by Cairo, or you can create an ImageSurface with a data buffer that * you allocated yourself so that you can have full access to the data. * * When you create an ImageSurface with your own data buffer, you are free to * examine the results at any point and do whatever you want with it. Note that * if you modify anything and later want to continue to draw to the surface * with cairo, you must let cairo know via Cairo::Surface::mark_dirty() * * Note that like all surfaces, an ImageSurface is a reference-counted object that should be used via Cairo::RefPtr. */ class ImageSurface : public Surface { protected: //TODO?: Surface(cairo_surface_t *target); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit ImageSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~ImageSurface(); /** Gets the width of the ImageSurface in pixels */ int get_width() const; /** Gets the height of the ImageSurface in pixels */ int get_height() const; /** * Get a pointer to the data of the image surface, for direct * inspection or modification. * * Return value: a pointer to the image data of this surface or NULL * if @surface is not an image surface. */ unsigned char* get_data(); const unsigned char* get_data() const; /** gets the format of the surface */ Format get_format() const; /** * Return value: the stride of the image surface in bytes (or 0 if * @surface is not an image surface). The stride is the distance in * bytes from the beginning of one row of the image data to the * beginning of the next row. */ int get_stride() const; /** * This function provides a stride value that will respect all * alignment requirements of the accelerated image-rendering code * within cairo. Typical usage will be of the form: * * @code * int stride; * unsigned char *data; * Cairo::RefPtr surface; * * stride = Cairo::ImageSurface::format_stride_for_width (format, width); * data = malloc (stride * height); * surface = Cairo::ImageSurface::create (data, format, width, height); * @endcode * * @param format A Cairo::Format value * @param width The desired width of an image surface to be created. * @return the appropriate stride to use given the desired format and width, or * -1 if either the format is invalid or the width too large. * * @since 1.6 **/ static int format_stride_for_width (Cairo::Format format, int width); /** * Creates an image surface of the specified format and dimensions. Initially * the surface contents are all 0. (Specifically, within each pixel, each * color or alpha channel belonging to format will be 0. The contents of bits * within a pixel, but not belonging to the given format are undefined). * * @param format format of pixels in the surface to create * @param width width of the surface, in pixels * @param height height of the surface, in pixels * @return a RefPtr to the newly created surface. */ static RefPtr create(Format format, int width, int height); /** * Creates an image surface for the provided pixel data. The output buffer * must be kept around until the surface is destroyed or finish() is called on * the surface. The initial contents of buffer will be used as the initial * image contents; you must explicitly clear the buffer, using, for example, * Context::rectangle() and Context::fill() if you want it cleared. * * Note that the stride may be larger than @a width * @a bytes_per_pixel to * provide proper alignment for each pixel and row. This alignment is required * to allow high-performance rendering within cairo. The correct way to obtain * a legal stride value is to call format_stride_for_width() with the desired * format and maximum image width value, and the use the resulting stride * value to allocate the data and to create the image surface. See * format_stride_for_width() for example code. * * @param data a pointer to a buffer supplied by the application in which to write contents. This pointer must be suitably aligned for any kind of variable, (for example, a pointer returned by malloc). * @param format the format of pixels in the buffer * @param width the width of the image to be stored in the buffer * @param height the height of the image to be stored in the buffer * @param stride the number of bytes between the start of rows in the buffer as allocated. This value should always be computed by cairo_format_stride_for_width() before allocating the data buffer. * @return a RefPtr to the newly created surface. */ static RefPtr create(unsigned char* data, Format format, int width, int height, int stride); #ifdef CAIRO_HAS_PNG_FUNCTIONS /** Creates a new image surface and initializes the contents to the given PNG * file. * * @note For this function to be available, cairo must have been compiled * with PNG support. * * @param filename name of PNG file to load * @return a RefPtr to the new cairo_surface_t initialized with the * contents of the PNG image file. */ static RefPtr create_from_png(std::string filename); /** Creates a new image surface from PNG data read incrementally via the * read_func function. * * @note For this function to be available, cairo must have been compiled * with PNG support. * * @param read_func function called to read the data of the file * @return a RefPtr to the new cairo_surface_t initialized with the * contents of the PNG image file. */ static RefPtr create_from_png_stream(const SlotReadFunc& read_func); /** @deprecated Use create_from_png_stream instead */ static RefPtr create_from_png(cairo_read_func_t read_func, void *closure); #endif // CAIRO_HAS_PNG_FUNCTIONS }; #ifdef CAIRO_HAS_PDF_SURFACE /** @example pdf-surface.cc * An example of using Cairo::PdfSurface class to render to PDF */ typedef enum { PDF_VERSION_1_4 = CAIRO_PDF_VERSION_1_4, PDF_VERSION_1_5 = CAIRO_PDF_VERSION_1_5 } PdfVersion; /** A PdfSurface provides a way to render PDF documents from cairo. This * surface is not rendered to the screen but instead renders the drawing to a * PDF file on disk. * * @note For this Surface to be available, cairo must have been compiled with * PDF support */ class PdfSurface : public Surface { public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit PdfSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~PdfSurface(); /** Creates a PdfSurface with a specified dimensions that will be saved as * the given filename * * @param filename The name of the PDF file to save the surface to * @param width_in_points The width of the PDF document in points * @param height_in_points The height of the PDF document in points */ static RefPtr create(std::string filename, double width_in_points, double height_in_points); /** Creates a PdfSurface with a specified dimensions that will be written to * the given write function instead of saved directly to disk * * @param write_func The function to be called when the backend needs to * write data to an output stream * @param width_in_points The width of the PDF document in points * @param height_in_points The height of the PDF document in points * * @since 1.8 */ static RefPtr create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points); /** @deprecated use PdfSurface::create_for_stream() instead */ static RefPtr create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points); /** * Changes the size of a PDF surface for the current (and subsequent) pages. * * This function should only be called before any drawing operations have been * performed on the current page. The simplest way to do this is to call this * function immediately after creating the surface or immediately after * completing a page with either Context::show_page() or Context::copy_page(). * * @param width_in_points new surface width, in points (1 point == 1/72.0 inch) * @param height_in_points new surface height, in points (1 point == 1/72.0 inch) **/ void set_size(double width_in_points, double height_in_points); /** * Restricts the generated PDF file to version. See get_versions() for a list * of available version values that can be used here. * * This function should only be called before any drawing operations have been * performed on the given surface. The simplest way to do this is to call this * function immediately after creating the surface. * * @since 1.10 */ void restrict_to_version(PdfVersion version); /** Retrieves the list of PDF versions supported by cairo. See * restrict_to_version(). * * @since 1.10 */ static const std::vector get_versions(); /** Get the string representation of the given version id. This function will * return an empty string if version isn't valid. See get_versions() * for a way to get the list of valid version ids. * * @since 1.10 */ static std::string version_to_string(PdfVersion version); }; #endif // CAIRO_HAS_PDF_SURFACE #ifdef CAIRO_HAS_PS_SURFACE /** @example ps-surface.cc * An example of using Cairo::PsSurface class to render to PostScript */ /** * describes the language level of the PostScript Language Reference that a * generated PostScript file will conform to. */ typedef enum { PS_LEVEL_2 = CAIRO_PS_LEVEL_2, PS_LEVEL_3 = CAIRO_PS_LEVEL_3 } PsLevel; /** A PsSurface provides a way to render PostScript documents from cairo. This * surface is not rendered to the screen but instead renders the drawing to a * PostScript file on disk. * * @note For this Surface to be available, cairo must have been compiled with * PostScript support */ class PsSurface : public Surface { public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit PsSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~PsSurface(); /** Creates a PsSurface with a specified dimensions that will be saved as the * given filename * * @param filename The name of the PostScript file to save the surface to * @param width_in_points The width of the PostScript document in points * @param height_in_points The height of the PostScript document in points */ static RefPtr create(std::string filename, double width_in_points, double height_in_points); /** Creates a PsSurface with a specified dimensions that will be written to * the given write function instead of saved directly to disk * * @param write_func The function to be called when the backend needs to * write data to an output stream * @param width_in_points The width of the PostScript document in points * @param height_in_points The height of the PostScript document in points * * @since 1.8 */ static RefPtr create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points); /** @deprecated use PsSurface::create_for_stream() instead */ static RefPtr create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points); /** * Changes the size of a PostScript surface for the current (and * subsequent) pages. * * This function should only be called before any drawing operations have been * performed on the current page. The simplest way to do this is to call this * function immediately after creating the surface or immediately after * completing a page with either Context::show_page() or Context::copy_page(). * * @param width_in_points new surface width, in points (1 point == 1/72.0 inch) * @param height_in_points new surface height, in points (1 point == 1/72.0 inch) */ void set_size(double width_in_points, double height_in_points); /** Emit a comment into the PostScript output for the given surface. See the * cairo reference documentation for more information. * * @param comment a comment string to be emitted into the PostScript output */ void dsc_comment(std::string comment); /** * This function indicates that subsequent calls to dsc_comment() should direct * comments to the Setup section of the PostScript output. * * This function should be called at most once per surface, and must be called * before any call to dsc_begin_page_setup() and before any drawing is performed * to the surface. */ void dsc_begin_setup(); /** This function indicates that subsequent calls to dsc_comment() should * direct comments to the PageSetup section of the PostScript output. * * This function call is only needed for the first page of a surface. It * should be called after any call to dsc_begin_setup() and before any drawing * is performed to the surface. */ void dsc_begin_page_setup(); /** * If eps is true, the PostScript surface will output Encapsulated * PostScript. * * This function should only be called before any drawing operations * have been performed on the current page. The simplest way to do * this is to call this function immediately after creating the * surface. An Encapsulated Postscript file should never contain more * than one page. * * @since 1.6 **/ void set_eps(bool eps); /** Check whether the PostScript surface will output Encapsulated PostScript. * * @since 1.8 */ bool get_eps() const; /** * Restricts the generated PostSript file to @level. See get_levels() for a * list of available level values that can be used here. * * This function should only be called before any drawing operations have been * performed on the given surface. The simplest way to do this is to call this * function immediately after creating the surface. * * @param level PostScript level * * @since 1.6 **/ void restrict_to_level(PsLevel level); /** * Used to retrieve the list of supported levels. See * restrict_to_level(). * * @since 1.6 **/ static const std::vector get_levels(); /** * Get the string representation of the given level id. This function will * return an empty string if level id isn't valid. See get_levels() for a way * to get the list of valid level ids. * * @return the string associated to given level. * * @param level a level id * * @since 1.6 **/ static std::string level_to_string(PsLevel level); }; #endif // CAIRO_HAS_PS_SURFACE #ifdef CAIRO_HAS_SVG_SURFACE /** @example svg-surface.cc * An example of using Cairo::SvgSurface class to render to SVG */ typedef enum { SVG_VERSION_1_1 = CAIRO_SVG_VERSION_1_1, SVG_VERSION_1_2 = CAIRO_SVG_VERSION_1_2 } SvgVersion; /** A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images * from cairo. This surface is not rendered to the screen but instead renders * the drawing to an SVG file on disk. * * @note For this Surface to be available, cairo must have been compiled with * SVG support */ class SvgSurface : public Surface { public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit SvgSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~SvgSurface(); /** Creates a SvgSurface with a specified dimensions that will be saved as the * given filename * * @param filename The name of the SVG file to save the surface to * @param width_in_points The width of the SVG document in points * @param height_in_points The height of the SVG document in points */ static RefPtr create(std::string filename, double width_in_points, double height_in_points); /** Creates a SvgSurface with a specified dimensions that will be written to * the given write function instead of saved directly to disk * * @param write_func The function to be called when the backend needs to * write data to an output stream * @param width_in_points The width of the SVG document in points * @param height_in_points The height of the SVG document in points * * @since 1.8 */ static RefPtr create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points); /** @deprecated Use SvgSurface::create_for_stream() instead */ static RefPtr create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points); /** * Restricts the generated SVG file to the given version. See get_versions() * for a list of available version values that can be used here. * * This function should only be called before any drawing operations have been * performed on the given surface. The simplest way to do this is to call this * function immediately after creating the surface. * * @since 1.2 */ void restrict_to_version(SvgVersion version); /** Retrieves the list of SVG versions supported by cairo. See * restrict_to_version(). * * @since 1.2 */ static const std::vector get_versions(); /** Get the string representation of the given version id. The returned string * will be empty if version isn't valid. See get_versions() for a way to get * the list of valid version ids. * * since: 1.2 */ static std::string version_to_string(SvgVersion version); }; #endif // CAIRO_HAS_SVG_SURFACE /******************************************************************************* * THE FOLLOWING SURFACE TYPES ARE EXPERIMENTAL AND NOT FULLY SUPPORTED ******************************************************************************/ #ifdef CAIRO_HAS_GLITZ_SURFACE /** A GlitzSurface provides a way to render to the X Window System using Glitz. * This provides a way to use OpenGL-accelerated graphics from cairo. If you * want to use hardware-accelerated graphics within the X Window system, you * should use this Surface type. * * @note For this Surface to be available, cairo must have been compiled with * Glitz support * * @warning This is an experimental surface. It is not yet marked as a fully * supported surface by the cairo library */ class GlitzSurface : public Surface { public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit GlitzSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~GlitzSurface(); /** Creates a new GlitzSurface * * @param surface a glitz surface type */ static RefPtr create(glitz_surface_t *surface); }; #endif // CAIRO_HAS_GLITZ_SURFACE } // namespace Cairo #endif //__CAIROMM_SURFACE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/filelist.am0000644000175000017500000000005011561715437020025 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/filelist.am0000644000175000017500000000147111561715437020244 0ustar00murraycmurrayc00000000000000## This file is part of cairomm. cairomm_cc = \ context.cc \ context_surface_quartz.cc \ context_surface_win32.cc \ context_surface_xlib.cc \ device.cc \ exception.cc \ fontface.cc \ fontoptions.cc \ matrix.cc \ path.cc \ pattern.cc \ private.cc \ quartz_font.cc \ quartz_surface.cc \ region.cc \ scaledfont.cc \ surface.cc \ win32_font.cc \ win32_surface.cc \ xlib_surface.cc cairomm_public_h = \ cairomm.h \ context.h \ device.h \ enums.h \ exception.h \ fontface.h \ fontoptions.h \ matrix.h path.h \ pattern.h \ quartz_font.h \ quartz_surface.h \ refptr.h \ region.h \ scaledfont.h \ surface.h \ types.h \ win32_font.h \ win32_surface.h \ xlib_surface.h cairomm_private_h = \ context_private.h \ private.h cairomm-1.10.0/cairomm/PaxHeaders.11012/fontface.h0000644000175000017500000000005011561715437017631 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/fontface.h0000644000175000017500000004476611561715437020066 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_FONTFACE_H #define __CAIROMM_FONTFACE_H #include #include #include #include #include /* following is required for OS X */ #ifdef nil #undef nil #endif /* end OS X */ #include #ifdef CAIRO_HAS_FT_FONT #include #endif //CAIRO_HAS_FT_FONT namespace Cairo { class ScaledFont; class Context; /** * A FontFace represents a particular font at a particular weight, slant, and * other characteristic but no size, transformation, or size. * * Font faces are created using font-backend-specific constructors or implicitly * using the toy text API by way of Context::select_font_face(). The resulting * face can be accessed using Context::get_font_face(). */ class FontFace { protected: //TODO?: FontFace(cairo_font_face_t *target); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit FontFace(cairo_font_face_t* cobject, bool has_reference = false); virtual ~FontFace(); /* Don't wrap these until we know what they are good for. void* get_user_data(const cairo_user_data_key_t *key); void set_user_data(const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); */ FontType get_type() const; typedef cairo_font_face_t cobject; inline cobject* cobj() { return m_cobject; } inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_font_face_status(const_cast(cobj())); } #endif //DOXYGEN_IGNORE_THIS void reference() const; void unreference() const; protected: cobject* m_cobject; private: FontFace(const FontFace&); FontFace& operator=(const FontFace&); }; /** @example toy-text.cc * A relatively simple example of using Cairo::ToyFontFace */ /** * A simple font face used for the cairo 'toy' font API. * @since 1.8 */ class ToyFontFace : public FontFace { public: /** * Creates a font face from a triplet of family, slant, and weight. These font * faces are used in implementation of the the Context "toy" font API. * * If family is the zero-length string "", the platform-specific default * family is assumed. The default family then can be queried using * get_family(). * * The Context::select_font_face() function uses this to create font faces. * See that function for limitations of toy font faces. * * @param family a font family name, encoded in UTF-8. * @param slant the slant for the font. * @param weight the weight for the font. */ static RefPtr create(const std::string& family, FontSlant slant, FontWeight weight); /** * Gets the familly name of a toy font. */ std::string get_family() const; /** * Gets the slant a toy font. */ FontSlant get_slant() const; /** * Gets the weight a toy font. */ FontWeight get_weight() const; protected: ToyFontFace(const std::string& family, FontSlant slant, FontWeight weight); }; /** @example user-font.cc * A relatively simple example of using Cairo::UserFontFace */ /** Font support with font data provided by the user. * * The user-font feature allows the cairo user to provide drawings for glyphs in * a font. This is most useful in implementing fonts in non-standard formats, * like SVG fonts and Flash fonts, but can also be used by games and other * application to draw "funky" fonts. * * To use user fonts, you must derive from this class and implement the virtual * functions below. The only virtual function that absolutely must be * implemented is render_glyph(). You should make the constructor protected and * provide a factory function that returns a new object in a RefPtr since it is * a refcounted object * * @code * class MyUserFont : public UserFontFace { * * public: * static Cairo::RefPtr create() { * return Cairo::RefPtr(new MyUserFont); * * protected: * // implement render_glyph() and any other virtual functions you want to override * ErrorStatus render_glyph(const RefPtr& scaled_font, * unsigned long glyph, * const RefPtr& cr, * TextExtents& metrics) { * // render the glyph into cr here * } * * MyUserFont() : UserFontFace() { * // constructor implementation * } * }; * @endcode * * @warning * Because of a design flaw in cairomm, it is currently necessary to keep the * the UserFontFace object around until as long as you are rendering text with * the user font. The following code illustrates the issue: * * @code * { * Cairo::RefPtr face = MyUserFont::create(); * cr->set_font_face(face); * } // scope for demonstration purposes * * // the following call will cause a crash because your user font is no longer * // in scope but it needs to call the virtual functions in face * cr->show_text("hello, world"); * @endcode * * The preceding is obviously a very contrived example, but the important thing * to know is that you *must* cache all userfont objects yourself as long as you * intend to render text with that font. A future release of cairomm will fix * this requirement, but that will require ABI-incompatible changes. * * @since 1.8 */ class UserFontFace : public FontFace { public: virtual ~UserFontFace(); /* static RefPtr create(); static RefPtr create(cairo_font_face_t* cobject, bool has_reference = false); */ protected: /** This function is called when a scaled-font needs to be created for a user * font-face. * * The Context @a cr is not used by the caller, but is prepared in font space, * similar to what the cairo contexts passed to the render_glyph method will * look like. The callback can use this context for extents computation for * example. After the callback is called, @a cr is checked for any error status. * * The @a extents argument is where the user font sets the font extents for * scaled_font. It is in font space, which means that for most cases its * ascent and descent members should add to 1.0. @a extents is preset to hold a * value of 1.0 for ascent, height, and max_x_advance, and 0.0 for descent and * max_y_advance members. * * The default implementation sets the font extents as described in the * previous paragraph. If you need different extents, you can override this * function in your derived class. * * Note that @a scaled_font is not fully initialized at this point and trying * to use it for text operations in the callback will result in deadlock. * * @param scaled_font the scaled-font being created * @param cr cairo context, in font space * @param extents extents to fill in, in font space * @return CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error. * * @since 1.8 */ virtual ErrorStatus init(const RefPtr& scaled_font, const RefPtr& cr, FontExtents& extents); /** This function is called to convert an input Unicode character to a single * glyph. This is used by the Context::show_text() operation. * * This function is used to provide the same functionality as the * text_to_glyphs callback does but has much less control on the output, in * exchange for increased ease of use. The inherent assumption to using this * callback is that each character maps to one glyph, and that the mapping is * context independent. It also assumes that glyphs are positioned according * to their advance width. These mean no ligatures, kerning, or complex * scripts can be implemented using this callback. * * The default implementation of this function is an identity mapping from * Unicode code-points to glyph indices. If you need different behavior, you * may override this virtual function in your derived class. * * Note: While cairo does not impose any limitation on glyph indices, some * applications may assume that a glyph index fits in a 16-bit unsigned * integer. As such, it is advised that user-fonts keep their glyphs in the 0 * to 65535 range. Furthermore, some applications may assume that glyph 0 is a * special glyph-not-found glyph. User-fonts are advised to use glyph 0 for * such purposes and do not use that glyph value for other purposes. * * @param scaled_font the scaled-font being created * @param unicode input unicode character code-point * @param glyph_index output glyph index * @return CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error. * @since 1.8 */ virtual ErrorStatus unicode_to_glyph(const RefPtr& scaled_font, unsigned long unicode, unsigned long& glyph); /** This function is called when a user scaled-font needs to render a * glyph. * * You must implement this in your derived class, and it is expected to draw * the glyph with code @a glyph to the Context @a cr. @a cr is prepared such * that the glyph drawing is done in font space. That is, the matrix set on @a * cr is the scale matrix of @a scaled_font, The @a extents argument is where * the user font sets the font extents for scaled_font. However, if user * prefers to draw in user space, they can achieve that by changing the matrix * on @a cr. All cairo rendering operations to @a cr are permitted, however, * the result is undefined if any source other than the default source on @a * cr is used. That means, glyph bitmaps should be rendered using * Context::mask() instead of Context::paint(). * * Other non-default settings on @a cr include a font size of 1.0 (given that * it is set up to be in font space), and font options corresponding to @a * scaled_font. * * The @a extents argument is preset to have x_bearing, width, and y_advance * of zero, y_bearing set to -font_extents.ascent, height to * font_extents.ascent+font_extents.descent, and x_advance to * font_extents.max_x_advance. The only field user needs to set in majority of * cases is x_advance. If the width field is zero upon this function returning * (which is its preset value), the glyph extents are automatically computed * based on the drawings done to @a cr. This is in most cases exactly what the * desired behavior is. However, if for any reason this function sets the * extents, it must be ink extents, and include the extents of all drawing * done to @a cr. * * @param scaled_font user scaled-font * @param glyph glyph code to render * @param cr Context to draw to, in font space * @param extents glyph extents to fill in, in font space * @return CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error. * * @since 1.8 */ virtual ErrorStatus render_glyph(const RefPtr& scaled_font, unsigned long glyph, const RefPtr& cr, TextExtents& metrics) = 0; /** This function is called to convert input text to an array of glyphs. This * is used by the Context::show_text() operation. * * Using this function, the user-font has full control on glyphs and their * positions. That means, it allows for features like ligatures and kerning, * as well as complex shaping required for scripts like Arabic and Indic. * * This function should populate the glyph indices and positions (in font * space) assuming that the text is to be shown at the origin. * * If clusters is not empty, cluster mapping should be computed. * * If you do not override this virtual function in your derived class, * the unicode_to_glyph function is used instead. * * Note: While cairo does not impose any limitation on glyph indices, some * applications may assume that a glyph index fits in a 16-bit unsigned * integer. As such, it is advised that user-fonts keep their glyphs in the 0 * to 65535 range. Furthermore, some applications may assume that glyph 0 is a * special glyph-not-found glyph. User-fonts are advised to use glyph 0 for * such purposes and do not use that glyph value for other purposes. * * @param scaled_font the scaled-font being created * @param utf8 a string of text encoded in UTF-8 * @param glyphs array of glyphs to fill, in font space * @param clusters array of cluster mapping information to fill * @param cluster_flags a variable to set the cluster flags corresponding to the output clusters * @return CAIRO_STATUS_SUCCESS upon success, or CAIRO_STATUS_USER_FONT_ERROR or any other error status on error. * @since 1.8 */ virtual ErrorStatus text_to_glyphs(const RefPtr& scaled_font, const std::string& utf8, std::vector& glyphs, std::vector& clusters, TextClusterFlags& cluster_flags); UserFontFace(); private: static cairo_status_t init_cb(cairo_scaled_font_t* scaled_font, cairo_t *cr, cairo_font_extents_t* metrics); static cairo_status_t unicode_to_glyph_cb(cairo_scaled_font_t *scaled_font, unsigned long unicode, unsigned long *glyph); static cairo_status_t render_glyph_cb(cairo_scaled_font_t *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *metrics); static cairo_status_t text_to_glyphs_cb (cairo_scaled_font_t *scaled_font, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *cluster_flags); }; // font system support #ifdef CAIRO_HAS_FT_FONT class FtFontFace : public FontFace { public: /** Creates a new font face for the FreeType font backend from a pre-opened * FreeType face. This font can then be used with Context::set_font_face() or * FtScaledFont::create(). * * As an example, here is how one might correctly couple the lifetime of the * FreeType face object to the FtFontFace: * @code * static const cairo_user_data_key_t key; * font_face = cairo_ft_font_face_create_for_ft_face (ft_face, 0); * status = cairo_font_face_set_user_data (font_face, &key, * ft_face, (cairo_destroy_func_t) FT_Done_Face); * if (status) { * cairo_font_face_destroy (font_face); * FT_Done_Face (ft_face); * return ERROR; * } * @endcode * * @param face A FreeType face object, already opened. This must be kept * around until the face's ref_count drops to zero and it is freed. Since the * face may be referenced internally to Cairo, the best way to determine when * it is safe to free the face is to pass a cairo_destroy_func_t to * cairo_font_face_set_user_data(). * @param load_flags flags to pass to FT_Load_Glyph when loading glyphs from * the font. These flags are OR'ed together with the flags derived from the * cairo_font_options_t passed to cairo_scaled_font_create(), so only a few * values such as FT_LOAD_VERTICAL_LAYOUT, and FT_LOAD_FORCE_AUTOHINT are * useful. You should not pass any of the flags affecting the load target, * such as FT_LOAD_TARGET_LIGHT. * * @since 1.8 */ static RefPtr create(FT_Face face, int load_flags); //TODO: Add a suitable default value for load_flags? /** Creates a new font face for the FreeType font backend based on a * fontconfig pattern. This font can then be used with Context::set_font_face() * or FtScaledFont::create(). * * Font rendering options are represented both here and when you call * FtScaledFont::create(). Font options that have a representation in a * FcPattern must be passed in here; to modify FcPattern appropriately to * reflect the options in a FontOptions, call FontOptions::substitute(). * * The pattern's FC_FT_FACE element is inspected first and if that is set, * that will be the FreeType font face associated with the returned cairo font * face. Otherwise the FC_FILE and FC_INDEX elements of pattern are used to * load a font face from file. * * If the FC_FT_FACE element of pattern is set, the user is responsible for * making sure that the referenced FT_Face remains valid for the life time of * the returned FtFontFace. See FtFontFace::create() for an exmaple of how to * couple the life time of the FT_Face to that of the cairo font-face. * * @param pattern A fully resolved fontconfig pattern. A pattern can be * resolved, by, among other things, calling FcConfigSubstitute(), * FcDefaultSubstitute(), then FcFontMatch(). Cairo will call * FcPatternReference() on this pattern, so you should not further modify the * pattern, but you can release your reference to the pattern with * FcPatternDestroy() if you no longer need to access it. * * @since 1.8 */ static RefPtr create(FcPattern* pattern); protected: FtFontFace(FT_Face face, int load_flags); FtFontFace(FcPattern* pattern); }; #endif // CAIRO_HAS_FT_FONT } // namespace Cairo #endif //__CAIROMM_FONTFACE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/win32_font.cc0000644000175000017500000000005011561715437020172 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/win32_font.cc0000644000175000017500000000733011561715437020411 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 Jonathon Jongsma * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #ifdef CAIRO_HAS_WIN32_FONT #include namespace Cairo { Win32FontFace::Win32FontFace(LOGFONTW* logfont) : FontFace(cairo_win32_font_face_create_for_logfontw(logfont), true) { check_object_status_and_throw_exception(*this); } Win32FontFace::Win32FontFace(HFONT font) : FontFace(cairo_win32_font_face_create_for_hfont(font), true) { check_object_status_and_throw_exception(*this); } Win32FontFace::Win32FontFace(LOGFONTW* logfont, HFONT font) : FontFace(cairo_win32_font_face_create_for_logfontw_hfont(logfont, font), true) { check_object_status_and_throw_exception(*this); } RefPtr Win32FontFace::create(LOGFONTW* logfont) { return RefPtr(new Win32FontFace(logfont)); } RefPtr Win32FontFace::create(HFONT font) { return RefPtr(new Win32FontFace(font)); } RefPtr Win32FontFace::create(LOGFONTW* logfont, HFONT font) { return RefPtr(new Win32FontFace(logfont, font)); } // ScaledFont Win32ScaledFont::Win32ScaledFont(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options) : ScaledFont(font_face, font_matrix, ctm, options) { check_object_status_and_throw_exception(*this); } RefPtr Win32ScaledFont::create(const RefPtr& font_face, const Matrix& font_matrix, const Matrix& ctm, const FontOptions& options) { return RefPtr(new Win32ScaledFont(font_face, font_matrix, ctm, options)); } void Win32ScaledFont::select_font(HDC hdc) { ErrorStatus status = cairo_win32_scaled_font_select_font(cobj(), hdc); check_status_and_throw_exception(status); check_object_status_and_throw_exception(*this); } void Win32ScaledFont::done_font() { cairo_win32_scaled_font_done_font(cobj()); check_object_status_and_throw_exception(*this); } double Win32ScaledFont::get_metrics_factor() const { double val = cairo_win32_scaled_font_get_metrics_factor(const_cast(cobj())); check_object_status_and_throw_exception(*this); return val; } void Win32ScaledFont::get_logical_to_device(Matrix& logical_to_device) const { cairo_win32_scaled_font_get_logical_to_device(const_cast(cobj()), static_cast(&logical_to_device)); check_object_status_and_throw_exception(*this); } void Win32ScaledFont::get_device_to_logical(Matrix& device_to_logical) const { cairo_win32_scaled_font_get_device_to_logical(const_cast(cobj()), static_cast(&device_to_logical)); check_object_status_and_throw_exception(*this); } } #endif // CAIRO_HAS_WIN32_FONT cairomm-1.10.0/cairomm/PaxHeaders.11012/region.h0000644000175000017500000000005011561715437017327 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/region.h0000644000175000017500000001151211561715437017543 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2010 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_REGION_H #define __CAIROMM_REGION_H #include #include #include #include #include namespace Cairo { /** * A simple graphical data type representing an area of integer-aligned * rectangles. They are often used on raster surfaces to track areas of * interest, such as change or clip areas * * It allows set-theoretical operations like union and intersect to be performed * on them. * * @since: 1.10 **/ class Region { private: Region(); explicit Region(const RectangleInt& rectangle); explicit Region(const std::vector& rects); Region(const RectangleInt *rects, int count); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit Region(cairo_region_t* cobject, bool has_reference = false); /** Creates an empty Region object */ static RefPtr create(); /** Creates a Region object containing @a rectangle */ static RefPtr create(const RectangleInt& rectangle); /** Creates a Region object containing the union of all given @a rects */ static RefPtr create(const std::vector& rects); /** Creates a Region object containing the union of all given @a rects */ static RefPtr create(const RectangleInt *rects, int count); /** allocates a new region object copied from the original */ RefPtr copy() const; virtual ~Region(); /** Gets the bounding rectangle of the region */ RectangleInt get_extents() const; /** Gets the number of rectangles contained in the region */ int get_num_rectangles() const; /** Gets the nth rectangle from the region */ RectangleInt get_rectangle(int nth_rectangle) const; /** Checks whether the region is empty */ bool empty() const; /** Checks whether @a rectangle is inside, outside, or partially contained in * the region */ RegionOverlap contains_rectangle(const RectangleInt& rectangle) const; /** Checks whether (x,y) is contained in the region */ bool contains_point(int x, int y) const; /** Translates the region by (dx,dy) */ void translate(int dx, int dy); /** Subtracts @a other from this region */ void subtract(const RefPtr& other); /** Subtracts @a rectangle from this region */ void subtract(const RectangleInt& rectangle); /** Sets the region to the intersection of this region with @a other */ void intersect(const RefPtr& other); /** Sets the region to the intersection of this region with @a rectangle */ void intersect(const RectangleInt& rectangle); //We don't call this method union() because that is a C++ keyword. /** Sets this region to the union of the region with @a other */ void do_union(const RefPtr& other); /** Sets this region to the union of the region with @a rectangle */ void do_union(const RectangleInt& rectangle); /** Sets this region to the exclusive difference of the region with @a other. * That is, the region will contain all areas that are in the original region * or in @a other, but not in both */ void do_xor(const RefPtr& other); /** Sets this region to the exclusive difference of the region with @a * rectangle. That is, the region will contain all areas that are in the * original region or in @a rectangle, but not in both */ void do_xor(const RectangleInt& rectangle); typedef cairo_region_t cobject; inline cobject* cobj() { return m_cobject; } inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_region_status(const_cast(cobj())); } #endif //DOXYGEN_IGNORE_THIS void reference() const; void unreference() const; protected: cobject* m_cobject; }; } // namespace Cairo #endif //__CAIROMM_REGION_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/pattern.cc0000644000175000017500000000005011561715437017657 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/pattern.cc0000644000175000017500000002051011561715437020071 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include namespace Cairo { Pattern::Pattern() : m_cobject(0) { } Pattern::Pattern(cairo_pattern_t* cobject, bool has_reference) : m_cobject(0) { if(has_reference) m_cobject = cobject; else m_cobject = cairo_pattern_reference(cobject); } Pattern::~Pattern() { if(m_cobject) cairo_pattern_destroy(m_cobject); } void Pattern::reference() const { cairo_pattern_reference(m_cobject); } void Pattern::unreference() const { cairo_pattern_destroy(m_cobject); } void Pattern::set_matrix(const Matrix& matrix) { cairo_pattern_set_matrix(m_cobject, (cairo_matrix_t*)&matrix); check_object_status_and_throw_exception(*this); } void Pattern::get_matrix(Matrix& matrix) const { cairo_pattern_get_matrix(m_cobject, (cairo_matrix_t*)&matrix); check_object_status_and_throw_exception(*this); } void Pattern::set_matrix(const cairo_matrix_t& matrix) { cairo_pattern_set_matrix(m_cobject, (cairo_matrix_t*)&matrix); check_object_status_and_throw_exception(*this); } void Pattern::get_matrix(cairo_matrix_t& matrix) const { cairo_pattern_get_matrix(m_cobject, (cairo_matrix_t*)&matrix); check_object_status_and_throw_exception(*this); } Matrix Pattern::get_matrix() const { Cairo::Matrix m; cairo_pattern_get_matrix(m_cobject, (cairo_matrix_t*)&m); check_object_status_and_throw_exception(*this); return m; } PatternType Pattern::get_type() const { cairo_pattern_type_t pattern_type = cairo_pattern_get_type(m_cobject); check_object_status_and_throw_exception(*this); return static_cast(pattern_type); } SolidPattern::SolidPattern(cairo_pattern_t* cobject, bool has_reference) : Pattern(cobject, has_reference) { } void SolidPattern::get_rgba(double& red, double& green, double& blue, double& alpha) const { // ignore the return value since we know that this is a solid color pattern cairo_pattern_get_rgba(m_cobject, &red, &green, &blue, &alpha); check_object_status_and_throw_exception(*this); } SolidPattern::~SolidPattern() { } RefPtr SolidPattern::create_rgb(double red, double green, double blue) { cairo_pattern_t* cobject = cairo_pattern_create_rgb(red, green, blue); check_status_and_throw_exception(cairo_pattern_status(cobject)); return RefPtr(new SolidPattern(cobject, true /* has reference */)); } RefPtr SolidPattern::create_rgba(double red, double green, double blue, double alpha) { cairo_pattern_t* cobject = cairo_pattern_create_rgba(red, green, blue, alpha); check_status_and_throw_exception(cairo_pattern_status(cobject)); return RefPtr(new SolidPattern(cobject, true /* has reference */)); } SurfacePattern::SurfacePattern(const RefPtr& surface) { m_cobject = cairo_pattern_create_for_surface(surface->cobj()); check_object_status_and_throw_exception(*this); } RefPtr SurfacePattern::get_surface() { cairo_surface_t* surface = 0; // we can ignore the return value since we know this is a surface pattern cairo_pattern_get_surface(const_cast(m_cobject), &surface); check_object_status_and_throw_exception(*this); return RefPtr(new Surface(surface, false /* does not have reference */)); } RefPtr SurfacePattern::get_surface() const { return const_cast(this)->get_surface(); } RefPtr SurfacePattern::create(const RefPtr& surface) { return RefPtr(new SurfacePattern(surface)); } SurfacePattern::SurfacePattern(cairo_pattern_t* cobject, bool has_reference) : Pattern(cobject, has_reference) { } SurfacePattern::~SurfacePattern() { } void SurfacePattern::set_extend(Extend extend) { cairo_pattern_set_extend(m_cobject, (cairo_extend_t)extend); check_object_status_and_throw_exception(*this); } Extend SurfacePattern::get_extend() const { const Extend result = static_cast(cairo_pattern_get_extend(m_cobject)); check_object_status_and_throw_exception(*this); return result; } void SurfacePattern::set_filter(Filter filter) { cairo_pattern_set_filter(m_cobject, (cairo_filter_t)filter); check_object_status_and_throw_exception(*this); } Filter SurfacePattern::get_filter() const { Filter result = static_cast(cairo_pattern_get_filter(m_cobject)); check_object_status_and_throw_exception(*this); return result; } Gradient::Gradient() { } Gradient::Gradient(cairo_pattern_t* cobject, bool has_reference) : Pattern(cobject, has_reference) { } Gradient::~Gradient() { } void Gradient::add_color_stop_rgb(double offset, double red, double green, double blue) { cairo_pattern_add_color_stop_rgb(m_cobject, offset, red, green, blue); check_object_status_and_throw_exception(*this); } void Gradient::add_color_stop_rgba(double offset, double red, double green, double blue, double alpha) { cairo_pattern_add_color_stop_rgba(m_cobject, offset, red, green, blue, alpha); check_object_status_and_throw_exception(*this); } std::vector Gradient::get_color_stops() const { std::vector stops; int num_stops = 0; // we can ignore the return value since we know this is a gradient pattern cairo_pattern_get_color_stop_count(m_cobject, &num_stops); // since we know the total number of stops, we can avoid re-allocation with // each addition to the vector by pre-allocating the required number stops.reserve(num_stops); for(int i = 0; i < num_stops; ++i) { ColorStop stop; cairo_pattern_get_color_stop_rgba(m_cobject, i, &stop.offset, &stop.red, &stop.green, &stop.blue, &stop.alpha); stops.push_back(stop); } return stops; } LinearGradient::LinearGradient(double x0, double y0, double x1, double y1) { m_cobject = cairo_pattern_create_linear(x0, y0, x1, y1); check_object_status_and_throw_exception(*this); } void LinearGradient::get_linear_points(double &x0, double &y0, double &x1, double &y1) const { // ignore the return value since we know that this is a linear gradient // pattern cairo_pattern_get_linear_points(m_cobject, &x0, &y0, &x1, &y1); check_object_status_and_throw_exception(*this); } RefPtr LinearGradient::create(double x0, double y0, double x1, double y1) { return RefPtr(new LinearGradient(x0, y0, x1, y1)); } LinearGradient::LinearGradient(cairo_pattern_t* cobject, bool has_reference) : Gradient(cobject, has_reference) { } LinearGradient::~LinearGradient() { } RadialGradient::RadialGradient(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1) { m_cobject = cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1); check_object_status_and_throw_exception(*this); } void RadialGradient::get_radial_circles(double& x0, double& y0, double& r0, double& x1, double& y1, double& r1) const { // ignore the return value since we know that this is a radial gradient // pattern cairo_pattern_get_radial_circles(const_cast(m_cobject), &x0, &y0, &r0, &x1, &y1, &r1); check_object_status_and_throw_exception(*this); } RefPtr RadialGradient::create(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1) { return RefPtr(new RadialGradient(cx0, cy0, radius0, cx1, cy1, radius1)); } RadialGradient::RadialGradient(cairo_pattern_t* cobject, bool has_reference) : Gradient(cobject, has_reference) { } RadialGradient::~RadialGradient() { } } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/quartz_surface.h0000644000175000017500000000005011561715437021102 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/quartz_surface.h0000644000175000017500000000546711561715437021332 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2007 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_QUARTZ_SURFACE_H #define __CAIROMM_QUARTZ_SURFACE_H #include #ifdef CAIRO_HAS_QUARTZ_SURFACE #include #endif namespace Cairo { #ifdef CAIRO_HAS_QUARTZ_SURFACE /** A QuartzSurface provides a way to render within Apple Mac OS X. If you * want to draw to the screen within a Mac OS X application, you * should use this Surface type. * * @note For this Surface to be available, cairo must have been compiled with * (native) Quartz support (requires Cairo > 1.4.0) */ class QuartzSurface : public Surface { public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit QuartzSurface(cairo_surface_t* cobject, bool has_reference = false); virtual ~QuartzSurface(); /** Returns the CGContextRef associated with this surface, or NULL if none. Also * returns NULL if the surface is not a Quartz surface. * * @return CGContextRef or NULL if no CGContextRef available. */ CGContextRef get_cg_context() const; /** Creates a cairo surface that targets the given CGContext. * * @param cg_context the CGContext to create a surface for * @return the newly created surface */ static RefPtr create(CGContextRef cg_context, int width, int height); /** Creates a device-independent-bitmap surface not associated with any * particular existing surface or device context. The created bitmap will be * unititialized. * * @param format format of pixels in the surface to create * @param width width of the surface, in pixels * @param height height of the surface, in pixels * @return the newly created surface */ static RefPtr create(Format format, int width, int height); }; #endif // CAIRO_HAS_QUARTZ_SURFACE } // namespace Cairo #endif //__CAIROMM_QUARTZ_SURFACE_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/Makefile.in0000644000175000017500000000005011561716335017736 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/Makefile.in0000644000175000017500000005120511561716335020155 0ustar00murraycmurrayc00000000000000# Makefile.in generated by automake 1.10.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(cairomm_include_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/filelist.am subdir = cairomm ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/ax_boost_base.m4 \ $(top_srcdir)/build/ax_boost_unit_test_framework.m4 \ $(top_srcdir)/build/libtool.m4 \ $(top_srcdir)/build/ltoptions.m4 \ $(top_srcdir)/build/ltsugar.m4 \ $(top_srcdir)/build/ltversion.m4 \ $(top_srcdir)/build/lt~obsolete.m4 \ $(top_srcdir)/build/reduced.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/build/config.h \ $(top_builddir)/cairommconfig.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(cairomm_includedir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) am__DEPENDENCIES_1 = libcairomm_1_0_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_1 = context.lo context_surface_quartz.lo \ context_surface_win32.lo context_surface_xlib.lo device.lo \ exception.lo fontface.lo fontoptions.lo matrix.lo path.lo \ pattern.lo private.lo quartz_font.lo quartz_surface.lo \ region.lo scaledfont.lo surface.lo win32_font.lo \ win32_surface.lo xlib_surface.lo am__objects_2 = am_libcairomm_1_0_la_OBJECTS = $(am__objects_1) $(am__objects_2) libcairomm_1_0_la_OBJECTS = $(am_libcairomm_1_0_la_OBJECTS) libcairomm_1_0_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(libcairomm_1_0_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/build/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libcairomm_1_0_la_SOURCES) DIST_SOURCES = $(libcairomm_1_0_la_SOURCES) cairomm_includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(cairomm_include_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_FLAGS = @ACLOCAL_FLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_LDFLAGS = @BOOST_LDFLAGS@ BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@ BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB = @BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB@ CAIROMM_API_VERSION = @CAIROMM_API_VERSION@ CAIROMM_CFLAGS = @CAIROMM_CFLAGS@ CAIROMM_INSTALL_PC = @CAIROMM_INSTALL_PC@ CAIROMM_LIBS = @CAIROMM_LIBS@ CAIROMM_MAJOR_VERSION = @CAIROMM_MAJOR_VERSION@ CAIROMM_MICRO_VERSION = @CAIROMM_MICRO_VERSION@ CAIROMM_MINOR_VERSION = @CAIROMM_MINOR_VERSION@ CAIROMM_MODULES = @CAIROMM_MODULES@ CAIROMM_MODULE_NAME = @CAIROMM_MODULE_NAME@ CAIROMM_SO_VERSION = @CAIROMM_SO_VERSION@ CAIROMM_VERSION = @CAIROMM_VERSION@ CAIROMM_WXXFLAGS = @CAIROMM_WXXFLAGS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DOCINSTALL_FLAGS = @DOCINSTALL_FLAGS@ DOT = @DOT@ DOXYGEN = @DOXYGEN@ DOXYGEN_TAGFILES = @DOXYGEN_TAGFILES@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MMDOCTOOLDIR = @MMDOCTOOLDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XSLTPROC = @XSLTPROC@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ cairomm_cc = \ context.cc \ context_surface_quartz.cc \ context_surface_win32.cc \ context_surface_xlib.cc \ device.cc \ exception.cc \ fontface.cc \ fontoptions.cc \ matrix.cc \ path.cc \ pattern.cc \ private.cc \ quartz_font.cc \ quartz_surface.cc \ region.cc \ scaledfont.cc \ surface.cc \ win32_font.cc \ win32_surface.cc \ xlib_surface.cc cairomm_public_h = \ cairomm.h \ context.h \ device.h \ enums.h \ exception.h \ fontface.h \ fontoptions.h \ matrix.h path.h \ pattern.h \ quartz_font.h \ quartz_surface.h \ refptr.h \ region.h \ scaledfont.h \ surface.h \ types.h \ win32_font.h \ win32_surface.h \ xlib_surface.h cairomm_private_h = \ context_private.h \ private.h AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I. $(CAIROMM_CFLAGS) AM_CXXFLAGS = $(CAIROMM_WXXFLAGS) lib_LTLIBRARIES = libcairomm-1.0.la libcairomm_1_0_la_SOURCES = $(cairomm_cc) $(cairomm_private_h) libcairomm_1_0_la_LDFLAGS = -no-undefined -version-info $(CAIROMM_SO_VERSION) libcairomm_1_0_la_LIBADD = $(CAIROMM_LIBS) cairomm_includedir = $(includedir)/$(CAIROMM_MODULE_NAME)/cairomm cairomm_include_HEADERS = $(cairomm_public_h) all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/filelist.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cairomm/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu cairomm/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libcairomm-1.0.la: $(libcairomm_1_0_la_OBJECTS) $(libcairomm_1_0_la_DEPENDENCIES) $(libcairomm_1_0_la_LINK) -rpath $(libdir) $(libcairomm_1_0_la_OBJECTS) $(libcairomm_1_0_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_surface_quartz.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_surface_win32.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_surface_xlib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/device.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontface.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontoptions.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/private.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartz_font.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartz_surface.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/region.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scaledfont.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/surface.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32_font.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32_surface.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xlib_surface.Plo@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-cairomm_includeHEADERS: $(cairomm_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(cairomm_includedir)" || $(MKDIR_P) "$(DESTDIR)$(cairomm_includedir)" @list='$(cairomm_include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(cairomm_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(cairomm_includedir)/$$f'"; \ $(cairomm_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(cairomm_includedir)/$$f"; \ done uninstall-cairomm_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(cairomm_include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(cairomm_includedir)/$$f'"; \ rm -f "$(DESTDIR)$(cairomm_includedir)/$$f"; \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cairomm_includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-cairomm_includeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-cairomm_includeHEADERS \ uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-cairomm_includeHEADERS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-cairomm_includeHEADERS \ uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: cairomm-1.10.0/cairomm/PaxHeaders.11012/win32_surface.cc0000644000175000017500000000005011561715437020654 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/win32_surface.cc0000644000175000017500000000623411561715437021075 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { #ifdef CAIRO_HAS_WIN32_SURFACE Win32Surface::Win32Surface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) {} Win32Surface::~Win32Surface() { // surface is destroyed in base class } HDC Win32Surface::get_dc() const { return cairo_win32_surface_get_dc(m_cobject); } RefPtr Win32Surface::get_image() { RefPtr surface(new ImageSurface(cairo_win32_surface_get_image(cobj()), false /* no reference, owned by this win32surface*/)); check_object_status_and_throw_exception(*this); return surface; } RefPtr Win32Surface::create(HDC hdc) { cairo_surface_t* cobject = cairo_win32_surface_create(hdc); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new Win32Surface(cobject, true /* has reference */)); } RefPtr Win32Surface::create(Format format, int width, int height) { return create_with_dib(format, width, height); } RefPtr Win32Surface::create_with_dib(Format format, int width, int height) { cairo_surface_t* cobject = cairo_win32_surface_create_with_dib((cairo_format_t)format, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new Win32Surface(cobject, true /* has reference */)); } RefPtr Win32Surface::create_with_ddb(HDC hdc, Format format, int width, int height) { cairo_surface_t* cobject = cairo_win32_surface_create_with_ddb(hdc, (cairo_format_t)format, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new Win32Surface(cobject, true /* has reference */)); } Win32PrintingSurface::Win32PrintingSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) { } Win32PrintingSurface::~Win32PrintingSurface() { // surface is destroyed in base class } RefPtr Win32PrintingSurface::create(HDC hdc) { cairo_surface_t* cobject = cairo_win32_surface_create(hdc); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new Win32PrintingSurface(cobject, true /* has reference */)); } #endif // CAIRO_HAS_WIN32_SURFACE } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/Makefile.am0000644000175000017500000000005011561715437017727 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/Makefile.am0000644000175000017500000000232411561715437020144 0ustar00murraycmurrayc00000000000000## Copyright (c) 2009 Openismus GmbH ## ## This file is part of cairomm. ## ## cairomm is free software: you can redistribute it and/or modify it ## under the terms of the GNU Lesser General Public License as published ## by the Free Software Foundation, either version 2.1 of the License, ## or (at your option) any later version. ## ## cairomm is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## See the GNU Lesser General Public License for more details. ## ## You should have received a copy of the GNU Lesser General Public License ## along with this library. If not, see . include $(srcdir)/filelist.am AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I. $(CAIROMM_CFLAGS) AM_CXXFLAGS = $(CAIROMM_WXXFLAGS) lib_LTLIBRARIES = libcairomm-1.0.la libcairomm_1_0_la_SOURCES = $(cairomm_cc) $(cairomm_private_h) libcairomm_1_0_la_LDFLAGS = -no-undefined -version-info $(CAIROMM_SO_VERSION) libcairomm_1_0_la_LIBADD = $(CAIROMM_LIBS) cairomm_includedir = $(includedir)/$(CAIROMM_MODULE_NAME)/cairomm cairomm_include_HEADERS = $(cairomm_public_h) cairomm-1.10.0/cairomm/PaxHeaders.11012/context.h0000644000175000017500000000005011561715437017530 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/context.h0000644000175000017500000012466111561715437017756 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_CONTEXT_H #define __CAIROMM_CONTEXT_H #include #include #include #include #include #include #include #include #include #include #include #include namespace Cairo { /** Context is the main class used to draw in cairomm. * In the simplest case, create a Context with its target Surface, set its * drawing options (line width, color, etc), create shapes with methods like * move_to() and line_to(), and then draw the shapes to the Surface using * methods such as stroke() or fill(). * * Context is a reference-counted object that should be used via Cairo::RefPtr. */ class Context { protected: explicit Context(const RefPtr& target); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be * given to a RefPtr. * * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the * constructor will take an extra reference. */ explicit Context(cairo_t* cobject, bool has_reference = false); static RefPtr create(const RefPtr& target); virtual ~Context(); /** Makes a copy of the current state of the Context and saves it on an * internal stack of saved states. When restore() is called, it will be * restored to the saved state. Multiple calls to save() and restore() can be * nested; each call to restore() restores the state from the matching paired * save(). * * It isn't necessary to clear all saved states before a cairo_t is freed. * Any saved states will be freed when the Context is destroyed. * * @sa restore() */ void save(); /** Restores cr to the state saved by a preceding call to save() and removes * that state from the stack of saved states. * * @sa save() */ void restore(); /** Sets the compositing operator to be used for all drawing operations. See * Operator for details on the semantics of each available compositing * operator. * * @param op a compositing operator, specified as a Operator */ void set_operator(Operator op); /** Sets the source pattern within the Context to source. This Pattern will * then be used for any subsequent drawing operation until a new source * pattern is set. * * Note: The Pattern's transformation matrix will be locked to the user space * in effect at the time of set_source(). This means that further * modifications of the current transformation matrix will not affect the * source pattern. * * @param source a Pattern to be used as the source for subsequent drawing * operations. * * @sa Pattern::set_matrix() * @sa set_source_rgb() * @sa set_source_rgba() * @sa set_source(const RefPtr& surface, double x, double y) */ void set_source(const RefPtr& source); /** Sets the source pattern within the Context to an opaque color. This * opaque color will then be used for any subsequent drawing operation until * a new source pattern is set. * * The color components are floating point numbers in the range 0 to 1. If * the values passed in are outside that range, they will be clamped. * * @param red red component of color * @param green green component of color * @param blue blue component of color * * @sa set_source_rgba() * @sa set_source() */ void set_source_rgb(double red, double green, double blue); /** Sets the source pattern within the Context to a translucent color. This * color will then be used for any subsequent drawing operation until a new * source pattern is set. * * The color and alpha components are floating point numbers in the range 0 * to 1. If the values passed in are outside that range, they will be * clamped. * * @param red red component of color * @param green green component of color * @param blue blue component of color * @param alpha alpha component of color * * @sa set_source_rgb() * @sa set_source() */ void set_source_rgba(double red, double green, double blue, double alpha); /** This is a convenience function for creating a pattern from a Surface and * setting it as the source * * The x and y parameters give the user-space coordinate at which the Surface * origin should appear. (The Surface origin is its upper-left corner before * any transformation has been applied.) The x and y patterns are negated and * then set as translation values in the pattern matrix. * * Other than the initial translation pattern matrix, as described above, all * other pattern attributes, (such as its extend mode), are set to the * default values as in Context::create(const RefPtr& target). The * resulting pattern can be queried with get_source() so that these * attributes can be modified if desired, (eg. to create a repeating pattern * with Pattern::set_extend()). * * @param surface a Surface to be used to set the source pattern * @param x User-space X coordinate for surface origin * @param y User-space Y coordinate for surface origin */ void set_source(const RefPtr& surface, double x, double y); /** Sets the tolerance used when converting paths into trapezoids. Curved * segments of the path will be subdivided until the maximum deviation * between the original path and the polygonal approximation is less than * tolerance. The default value is 0.1. A larger value will give better * performance, a smaller value, better appearance. (Reducing the value from * the default value of 0.1 is unlikely to improve appearance significantly.) * * @param tolerance the tolerance, in device units (typically pixels) */ void set_tolerance(double tolerance); /** Set the antialiasing mode of the rasterizer used for drawing shapes. This * value is a hint, and a particular backend may or may not support a * particular value. At the current time, no backend supports * CAIRO_ANTIALIAS_SUBPIXEL when drawing shapes. * * Note that this option does not affect text rendering, instead see * FontOptions::set_antialias(). * * @param antialias the new antialiasing mode */ void set_antialias(Antialias antialias); /** Set the current fill rule within the cairo Context. The fill rule is used * to determine which regions are inside or outside a complex (potentially * self-intersecting) path. The current fill rule affects both fill() and * clip(). See FillRule for details on the semantics of each available fill * rule. * * @param fill_rule a fill rule, specified as a FillRule */ void set_fill_rule(FillRule fill_rule); /** Sets the current line width within the cairo Context. The line width * specifies the diameter of a pen that is circular in user-space. * * As with the other stroke parameters, the current line cap style is * examined by stroke(), stroke_extents(), and stroke_to_path(), but does not * have any effect during path construction. * * @param width a line width, as a user-space value */ void set_line_width(double width); /** Sets the current line cap style within the cairo Context. See * LineCap for details about how the available line cap styles are drawn. * * As with the other stroke parameters, the current line cap style is * examined by stroke(), stroke_extents(), and stroke_to_path(), but does not * have any effect during path construction. * * @param line_cap a line cap style, as a LineCap */ void set_line_cap(LineCap line_cap); /** Sets the current line join style within the cairo Context. See LineJoin * for details about how the available line join styles are drawn. * * As with the other stroke parameters, the current line join style is * examined by stroke(), stroke_extents(), and stroke_to_path(), but does not * have any effect during path construction. * * @param line_join a line joint style, as a LineJoin */ void set_line_join(LineJoin line_join); #ifndef CAIROMM_DISABLE_DEPRECATED /** * Alternate version of set_dash(). You'll probably want to use the one that * takes a std::vector argument instead. * * @deprecated Instead use the version that takes a const dashes parameter. */ void set_dash(std::valarray& dashes, double offset); /** Sets the dash pattern to be used by stroke(). A dash pattern is specified * by dashes, an array of positive values. Each value provides the user-space * length of altenate "on" and "off" portions of the stroke. The offset * specifies an offset into the pattern at which the stroke begins. * * If dashes is empty dashing is disabled. If the size of dashes is 1, a * symmetric pattern is assumed with alternating on and off portions of the * size specified by the single value in dashes. * * It is invalid for any value in dashes to be negative, or for all values to * be 0. If this is the case, an exception will be thrown * * @param dashes an array specifying alternate lengths of on and off portions * @param offset an offset into the dash pattern at which the stroke should start * * @exception * * @deprecated Instead use the version that takes a const dashes parameter. */ void set_dash(std::vector& dashes, double offset); #endif //CAIROMM_DISABLE_DEPRECATED /** * Alternate version of set_dash(). You'll probably want to use the one that * takes a std::vector argument instead. */ void set_dash(const std::valarray& dashes, double offset); /** Sets the dash pattern to be used by stroke(). A dash pattern is specified * by dashes, an array of positive values. Each value provides the user-space * length of altenate "on" and "off" portions of the stroke. The offset * specifies an offset into the pattern at which the stroke begins. * * If dashes is empty dashing is disabled. If the size of dashes is 1, a * symmetric pattern is assumed with alternating on and off portions of the * size specified by the single value in dashes. * * It is invalid for any value in dashes to be negative, or for all values to * be 0. If this is the case, an exception will be thrown * * @param dashes an array specifying alternate lengths of on and off portions * @param offset an offset into the dash pattern at which the stroke should start * * @exception */ void set_dash(const std::vector& dashes, double offset); /** This function disables a dash pattern that was set with set_dash() */ void unset_dash(); void set_miter_limit(double limit); /** Modifies the current transformation matrix (CTM) by translating the * user-space origin by (tx, ty). This offset is interpreted as a user-space * coordinate according to the CTM in place before the new call to * cairo_translate. In other words, the translation of the user-space origin * takes place after any existing transformation. * * @param tx amount to translate in the X direction * @param ty amount to translate in the Y direction */ void translate(double tx, double ty); /** Modifies the current transformation matrix (CTM) by scaling the X and Y * user-space axes by sx and sy respectively. The scaling of the axes takes * place after any existing transformation of user space. * * @param sx scale factor for the X dimension * @param sy scale factor for the Y dimension */ void scale(double sx, double sy); /** Modifies the current transformation matrix (CTM) by rotating the * user-space axes by angle radians. The rotation of the axes takes places * after any existing transformation of user space. The rotation direction * for positive angles is from the positive X axis toward the positive Y * axis. * * @param angle angle (in radians) by which the user-space axes will be * rotated */ void rotate(double angle_radians); /** A convenience wrapper around rotate() that accepts angles in degrees * * @param angle_degrees angle (in degrees) by which the user-space axes * should be rotated */ void rotate_degrees(double angle_degres); /** Modifies the current transformation matrix (CTM) by applying matrix as an * additional transformation. The new transformation of user space takes * place after any existing transformation. * * @param matrix a transformation to be applied to the user-space axes */ void transform(const Matrix& matrix); /* To keep 1.6.x ABI */ void transform(const cairo_matrix_t& matrix); /** Modifies the current transformation matrix (CTM) by setting it equal to * matrix. * * @param matrix a transformation matrix from user space to device space */ void set_matrix(const Matrix& matrix); /* To keep 1.6.x ABI */ void set_matrix(const cairo_matrix_t& matrix); /** Resets the current transformation matrix (CTM) by setting it equal to the * identity matrix. That is, the user-space and device-space axes will be * aligned and one user-space unit will transform to one device-space unit. */ void set_identity_matrix(); #ifndef CAIROMM_DISABLE_DEPRECATED /** Transform a coordinate from user space to device space by multiplying the * given point by the current transformation matrix (CTM). * * @param x X value of coordinate (in/out parameter) * @param y Y value of coordinate (in/out parameter) * * @deprecated Use the const version. */ void user_to_device(double& x, double& y); /** Transform a distance vector from user space to device space. This * function is similar to user_to_device() except that the translation * components of the CTM will be ignored when transforming (dx,dy). * * @param dx X component of a distance vector (in/out parameter) * @param dy Y component of a distance vector (in/out parameter) * * @deprecated Use the const version. */ void user_to_device_distance(double& dx, double& dy); /** Transform a coordinate from device space to user space by multiplying the * given point by the inverse of the current transformation matrix (CTM). * * @param x X value of coordinate (in/out parameter) * @param y Y value of coordinate (in/out parameter) * * @deprecated Use the const version. */ void device_to_user(double& x, double& y); /** Transform a distance vector from device space to user space. This * function is similar to device_to_user() except that the translation * components of the inverse CTM will be ignored when transforming (dx,dy). * * @param dx X component of a distance vector (in/out parameter) * @param dy Y component of a distance vector (in/out parameter) * * @deprecated Use the const version. */ void device_to_user_distance(double& dx, double& dy); #endif //CAIROMM_DISABLE_DEPRECATED /** Transform a coordinate from user space to device space by multiplying the * given point by the current transformation matrix (CTM). * * @param x X value of coordinate (in/out parameter) * @param y Y value of coordinate (in/out parameter) */ void user_to_device(double& x, double& y) const; /** Transform a distance vector from user space to device space. This * function is similar to user_to_device() except that the translation * components of the CTM will be ignored when transforming (dx,dy). * * @param dx X component of a distance vector (in/out parameter) * @param dy Y component of a distance vector (in/out parameter) */ void user_to_device_distance(double& dx, double& dy) const; /** Transform a coordinate from device space to user space by multiplying the * given point by the inverse of the current transformation matrix (CTM). * * @param x X value of coordinate (in/out parameter) * @param y Y value of coordinate (in/out parameter) */ void device_to_user(double& x, double& y) const; /** Transform a distance vector from device space to user space. This * function is similar to device_to_user() except that the translation * components of the inverse CTM will be ignored when transforming (dx,dy). * * @param dx X component of a distance vector (in/out parameter) * @param dy Y component of a distance vector (in/out parameter) */ void device_to_user_distance(double& dx, double& dy) const; /** Clears the current path. After this call there will be no current point. */ void begin_new_path(); /** Begin a new subpath. Note that the existing path is not affected. After * this call there will be no current point. * * In many cases, this call is not needed since new subpaths are frequently * started with move_to(). * * A call to begin_new_sub_path() is particularly useful when beginning a new * subpath with one of the arc() calls. This makes things easier as it is no * longer necessary to manually compute the arc's initial coordinates for a * call to move_to(). */ void begin_new_sub_path(); /** If the current subpath is not empty, begin a new subpath. After this call * the current point will be (x, y). * * @param x the X coordinate of the new position * @param y the Y coordinate of the new position */ void move_to(double x, double y); /** Adds a line to the path from the current point to position (x, y) in * user-space coordinates. After this call the current point will be (x, y). * * @param x the X coordinate of the end of the new line * @param y the Y coordinate of the end of the new line */ void line_to(double x, double y); /** Adds a cubic Bezier spline to the path from the current point to position * (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the * control points. After this call the current point will be (x3, y3). * * @param x1 the X coordinate of the first control point * @param y1 the Y coordinate of the first control point * @param x2 the X coordinate of the second control point * @param y2 the Y coordinate of the second control point * @param x3 the X coordinate of the end of the curve * @param y3 the Y coordinate of the end of the curve */ void curve_to(double x1, double y1, double x2, double y2, double x3, double y3); /** Adds a circular arc of the given radius to the current path. The arc is * centered at (@a xc, @a yc), begins at @a angle1 and proceeds in the direction of * increasing angles to end at @a angle2. If @a angle2 is less than @a angle1 it will * be progressively increased by 2*M_PI until it is greater than @a angle1. * * If there is a current point, an initial line segment will be added to the * path to connect the current point to the beginning of the arc. If this * initial line is undesired, it can be avoided by calling * begin_new_sub_path() before calling arc(). * * Angles are measured in radians. An angle of 0 is in the direction of the * positive X axis (in user-space). An angle of M_PI/2.0 radians (90 degrees) is * in the direction of the positive Y axis (in user-space). Angles increase * in the direction from the positive X axis toward the positive Y axis. So * with the default transformation matrix, angles increase in a clockwise * direction. * * ( To convert from degrees to radians, use degrees * (M_PI / 180.0). ) * * This function gives the arc in the direction of increasing angles; see * arc_negative() to get the arc in the direction of decreasing angles. * * The arc is circular in user-space. To achieve an elliptical arc, you can * scale the current transformation matrix by different amounts in the X and * Y directions. For example, to draw an ellipse in the box given by x, y, * width, height: * * @code * context->save(); * context->translate(x, y); * context->scale(width / 2.0, height / 2.0); * context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI); * context->restore(); * @endcode * * @param xc X position of the center of the arc * @param yc Y position of the center of the arc * @param radius the radius of the arc * @param angle1 the start angle, in radians * @param angle2 the end angle, in radians */ void arc(double xc, double yc, double radius, double angle1, double angle2); /** Adds a circular arc of the given @a radius to the current path. The arc is * centered at (@a xc, @a yc), begins at @a angle1 and proceeds in the direction of * decreasing angles to end at @a angle2. If @a angle2 is greater than @a angle1 it * will be progressively decreased by 2*M_PI until it is greater than @a angle1. * * See arc() for more details. This function differs only in the direction of * the arc between the two angles. * * @param xc X position of the center of the arc * @param yc Y position of the center of the arc * @param radius the radius of the arc * @param angle1 the start angle, in radians * @param angle2 the end angle, in radians */ void arc_negative(double xc, double yc, double radius, double angle1, double angle2); /** If the current subpath is not empty, begin a new subpath. After this call * the current point will offset by (x, y). * * Given a current point of (x, y), * @code * rel_move_to(dx, dy) * @endcode * is logically equivalent to * @code * move_to(x + dx, y + dy) * @endcode * * @param dx the X offset * @param dy the Y offset * * It is an error to call this function with no current point. Doing * so will cause this to shutdown with a status of * CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception. */ void rel_move_to(double dx, double dy); /** Relative-coordinate version of line_to(). Adds a line to the path from * the current point to a point that is offset from the current point by (dx, * dy) in user space. After this call the current point will be offset by * (dx, dy). * * Given a current point of (x, y), * @code * rel_line_to(dx, dy) * @endcode * is logically equivalent to * @code * line_to(x + dx, y + dy). * @endcode * * @param dx the X offset to the end of the new line * @param dy the Y offset to the end of the new line * * It is an error to call this function with no current point. Doing * so will cause this to shutdown with a status of * CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception. */ void rel_line_to(double dx, double dy); /** Relative-coordinate version of curve_to(). All offsets are relative to * the current point. Adds a cubic Bezier spline to the path from the current * point to a point offset from the current point by (dx3, dy3), using points * offset by (dx1, dy1) and (dx2, dy2) as the control points. After this * call the current point will be offset by (dx3, dy3). * * Given a current point of (x, y), * @code * rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3) * @endcode * is logically equivalent to * @code * curve_to(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3). * @endcode * * @param dx1 the X offset to the first control point * @param dy1 the Y offset to the first control point * @param dx2 the X offset to the second control point * @param dy2 the Y offset to the second control point * @param dx3 the X offset to the end of the curve * @param dy3 the Y offset to the end of the curve * * It is an error to call this function with no current point. Doing * so will cause this to shutdown with a status of * CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception. */ void rel_curve_to(double dx1, double dy1, double dx2, double dy2, double dx3, double dy3); /** Adds a closed-subpath rectangle of the given size to the current path at * position (x, y) in user-space coordinates. * * This function is logically equivalent to: * * @code * context->move_to(x, y); * context->rel_line_to(width, 0); * context->rel_line_to(0, height); * context->rel_line_to(-width, 0); * context->close_path(); * @endcode * * @param x the X coordinate of the top left corner of the rectangle * @param y the Y coordinate to the top left corner of the rectangle * @param width the width of the rectangle * @param height the height of the rectangle */ void rectangle(double x, double y, double width, double height); /** Adds a line segment to the path from the current point to the beginning * of the current subpath, (the most recent point passed to move_to()), and * closes this subpath. * * The behavior of close_path() is distinct from simply calling line_to() * with the equivalent coordinate in the case of stroking. When a closed * subpath is stroked, there are no caps on the ends of the subpath. Instead, * there is a line join connecting the final and initial segments of the * subpath. */ void close_path(); /** A drawing operator that paints the current source everywhere within the * current clip region. */ void paint(); /** A drawing operator that paints the current source everywhere within the * current clip region using a mask of constant alpha value alpha. The effect * is similar to paint(), but the drawing is faded out using the alpha * value. * * @param alpha an alpha value, between 0 (transparent) and 1 (opaque) */ void paint_with_alpha(double alpha); /** A drawing operator that paints the current source using the alpha channel * of pattern as a mask. (Opaque areas of mask are painted with the source, * transparent areas are not painted.) * * @param pattern a Pattern */ void mask(const RefPtr& pattern); /** A drawing operator that paints the current source using the alpha channel * of surface as a mask. (Opaque areas of surface are painted with the * source, transparent areas are not painted.) * * @param surface a Surface * @param surface_x X coordinate at which to place the origin of surface * @param surface_y Y coordinate at which to place the origin of surface */ void mask(const RefPtr& surface, double surface_x, double surface_y); /** A drawing operator that strokes the current Path according to the current * line width, line join, line cap, and dash settings. After stroke(), * the current Path will be cleared from the cairo Context. * * @sa set_line_width() * @sa set_line_join() * @sa set_line_cap() * @sa set_dash() * @sa stroke_preserve(). */ void stroke(); /** A drawing operator that strokes the current Path according to the current * line width, line join, line cap, and dash settings. Unlike stroke(), * stroke_preserve() preserves the Path within the cairo Context. * * @sa set_line_width() * @sa set_line_join() * @sa set_line_cap() * @sa set_dash() * @sa stroke_preserve(). */ void stroke_preserve(); /** A drawing operator that fills the current path according to the current * fill rule, (each sub-path is implicitly closed before being filled). After * fill(), the current path will be cleared from the cairo context. * * @sa set_fill_rule() * @sa fill_preserve() */ void fill(); /** A drawing operator that fills the current path according to the current * fill rule, (each sub-path is implicitly closed before being filled). * Unlike fill(), fill_preserve() preserves the path within the * cairo Context. * * @sa set_fill_rule() * @sa fill(). */ void fill_preserve(); void copy_page(); void show_page(); bool in_stroke(double x, double y) const; bool in_fill(double x, double y) const; bool in_clip(double x, double y) const; void get_stroke_extents(double& x1, double& y1, double& x2, double& y2) const; void get_fill_extents(double& x1, double& y1, double& x2, double& y2) const; /** Reset the current clip region to its original, unrestricted state. That * is, set the clip region to an infinitely large shape containing the target * surface. Equivalently, if infinity is too hard to grasp, one can imagine * the clip region being reset to the exact bounds of the target surface. * * Note that code meant to be reusable should not call reset_clip() as it * will cause results unexpected by higher-level code which calls clip(). * Consider using save() and restore() around clip() as a more robust means * of temporarily restricting the clip region. */ void reset_clip(); /** Establishes a new clip region by intersecting the current clip region * with the current Path as it would be filled by fill() and according to the * current fill rule. * * After clip(), the current path will be cleared from the cairo Context. * * The current clip region affects all drawing operations by effectively * masking out any changes to the surface that are outside the current clip * region. * * Calling clip() can only make the clip region smaller, never larger. But * the current clip is part of the graphics state, so a temporary restriction * of the clip region can be achieved by calling cairo_clip() within a * save()/restore() pair. The only other means of increasing the size of the * clip region is reset_clip(). * * @sa set_fill_rule() */ void clip(); /** Establishes a new clip region by intersecting the current clip region * with the current path as it would be filled by fill() and according to the * current fill rule. * * Unlike clip(), cairo_clip_preserve preserves the path within the cairo * Context. * * @sa clip() * @sa set_fill_rule() */ void clip_preserve(); /** * Computes a bounding box in user coordinates covering the area inside the * current clip. * * @param x1 left of the resulting extents * @param y1 top of the resulting extents * @param x2 right of the resulting extents * @param y2 bottom of the resulting extents * * @since 1.4 **/ void get_clip_extents(double& x1, double& y1, double& x2, double& y2) const; /** * Returns the current clip region as a list of rectangles in user coordinates. * * This function will throw an exception if the clip region cannot be * represented as a list of user-space rectangles. * * @Since 1.4 **/ void copy_clip_rectangle_list(std::vector& rectangles) const; void select_font_face(const std::string& family, FontSlant slant, FontWeight weight); void set_font_size(double size); void set_font_matrix(const Matrix& matrix); void get_font_matrix(Matrix& matrix) const; void set_font_options(const FontOptions& options); /* To keep 1.6.x ABI */ void set_font_matrix(const cairo_matrix_t& matrix); void get_font_matrix(cairo_matrix_t& matrix) const; //TODO: Documentation. /** * @since 1.8 */ void get_font_options(FontOptions& options) const; //TODO: Documentation. /** * @since 1.8 */ void set_scaled_font(const RefPtr& scaled_font); //TODO: Documentation. /** * @since 1.8 */ RefPtr get_scaled_font(); //TODO: Documentation: void show_text(const std::string& utf8); void show_glyphs(const std::vector& glyphs); /** @since 1.8 */ void show_text_glyphs(const std::string& utf8, const std::vector& glyphs, const std::vector& clusters, TextClusterFlags cluster_flags); RefPtr get_font_face(); RefPtr get_font_face() const; void get_font_extents(FontExtents& extents) const; void set_font_face(const RefPtr& font_face); void get_text_extents(const std::string& utf8, TextExtents& extents) const; void get_glyph_extents(const std::vector& glyphs, TextExtents& extents) const; void text_path(const std::string& utf8); void glyph_path(const std::vector& glyphs); /** Gets the current compositing operator for a cairo Context */ Operator get_operator() const; /** Gets the current source pattern for the Context */ RefPtr get_source(); RefPtr get_source() const; /** Gets the current tolerance value, as set by set_tolerance() */ double get_tolerance() const; /** Gets the current shape antialiasing mode, as set by set_antialias() */ Antialias get_antialias() const; /** Gets the current point of the current path, which is conceptually the * final point reached by the path so far. * * The current point is returned in the user-space coordinate system. If * there is no defined current point then x and y will both be set to 0.0. * * Most path construction functions alter the current point. See the * following for details on how they affect the current point: clear_path(), * move_to(), line_to(), curve_to(), arc(), rel_move_to(), rel_line_to(), * rel_curve_to(), arc(), and text_path() * * @param x return value for X coordinate of the current point * @param y return value for Y coordinate of the current point * * @see has_current_point */ void get_current_point (double& x, double& y) const; /** Checks if there is a current point defined */ bool has_current_point() const; /** Gets the current fill rule, as set by set_fill_rule(). */ FillRule get_fill_rule() const; /** Gets the current line width, as set by set_line_width() */ double get_line_width() const; /** Gets the current line cap style, as set by set_line_cap() */ LineCap get_line_cap() const; /** Gets the current line join style, as set by set_line_join() */ LineJoin get_line_join() const; /** Gets the current miter limit, as set by set_miter_limit() */ double get_miter_limit() const; /** * Gets the current dash array and offset. * * @param dashes return value for the dash array. * @param offset return value for the current dash offset. * * Since: 1.4 **/ void get_dash(std::vector& dashes, double& offset) const; /** Stores the current transformation matrix (CTM) into matrix. * * @param matrix return value for the matrix */ void get_matrix(Matrix& matrix); /* To keep 1.6.x ABI */ void get_matrix(cairo_matrix_t& matrix); /** @since 1.8 */ Matrix get_matrix() const; /** Gets the target surface associated with this Context. * * @exception */ RefPtr get_target(); /** Gets the target surface associated with this Context. * * @exception */ RefPtr get_target() const; //TODO: Copy or reference-count a Path somethow instead of asking the caller to delete it? /** Creates a copy of the current path and returns it to the user. * * @todo See cairo_path_data_t for hints on how to iterate over the returned * data structure. * * @note The caller owns the Path object returned from this function. The * Path object must be freed when you are finished with it. */ Path* copy_path() const; /** * Computes a bounding box in user-space coordinates covering the points on * the current path. If the current path is empty, returns an empty rectangle * ((0,0), (0,0)). Stroke parameters, fill rule, surface dimensions and * clipping are not taken into account. * * Contrast with fill_extents() and stroke_extents() which return the extents * of only the area that would be "inked" by the corresponding drawing * operations. * * The result of path_extents() is defined as equivalent to the limit of * stroke_extents() with Cairo::LINE_CAP_ROUND as the line width approaches * 0.0, (but never reaching the empty-rectangle returned by stroke_extents() * for a line width of 0.0). * * Specifically, this means that zero-area sub-paths such as * move_to();line_to() segments, (even degenerate cases where the coordinates * to both calls are identical), will be considered as contributing to the * extents. However, a lone move_to() will not contribute to the results of * path_extents(). * * @param x1 left of the resulting extents * @param y1 top of the resulting extents * @param x2 right of the resulting extents * @param y2 bottom of the resulting extents * * @since 1.6 **/ void get_path_extents(double& x1, double& y1, double& x2, double& y2) const; /** Gets a flattened copy of the current path and returns it to the user * * @todo See cairo_path_data_t for hints on how to iterate over the returned * data structure. * * This function is like copy_path() except that any curves in the path will * be approximated with piecewise-linear approximations, (accurate to within * the current tolerance value). That is, the result is guaranteed to not have * any elements of type CAIRO_PATH_CURVE_TO which will instead be * replaced by a series of CAIRO_PATH_LINE_TO elements. * * @note The caller owns the Path object returned from this function. The * Path object must be freed when you are finished with it. */ Path* copy_path_flat() const; /** Append the path onto the current path. The path may be either the return * value from one of copy_path() or copy_path_flat() or it may be constructed * manually. * * @param path path to be appended */ void append_path(const Path& path); /** Temporarily redirects drawing to an intermediate surface known as a group. * The redirection lasts until the group is completed by a call to pop_group() * or pop_group_to_source(). These calls provide the result of any drawing to * the group as a pattern, (either as an explicit object, or set as the source * pattern). * * This group functionality can be convenient for performing intermediate * compositing. One common use of a group is to render objects as opaque * within the group, (so that they occlude each other), and then blend the * result with translucence onto the destination. * * Groups can be nested arbitrarily deep by making balanced calls to * push_group()/pop_group(). Each call pushes/pops the new target group * onto/from a stack. * * The push_group() function calls save() so that any changes to the graphics * state will not be visible outside the group, (the pop_group functions call * restore()). * * By default the intermediate group will have a content type of * CONTENT_COLOR_ALPHA. Other content types can be chosen for the group by * using push_group_with_content() instead. * * As an example, here is how one might fill and stroke a path with * translucence, but without any portion of the fill being visible under the * stroke: * * @code * cr->push_group(); * cr->set_source(fill_pattern); * cr->fill_preserve(); * cr->set_source(stroke_pattern); * cr->stroke(); * cr->pop_group_to_source(); * cr->paint_with_alpha(alpha); * @endcode */ void push_group(); /** * Temporarily redirects drawing to an intermediate surface known as a * group. The redirection lasts until the group is completed by a call * to pop_group() or pop_group_to_source(). These calls provide the result of * any drawing to the group as a pattern, (either as an explicit object, or set * as the source pattern). * * The group will have a content type of @content. The ability to control this * content type is the only distinction between this function and push_group() * which you should see for a more detailed description of group rendering. * * @param content indicates the type of group that will be created */ void push_group_with_content(Content content); /** * Terminates the redirection begun by a call to push_group() or * push_group_with_content() and returns a new pattern containing the results * of all drawing operations performed to the group. * * The pop_group() function calls restore(), (balancing a call to save() by * the push_group function), so that any changes to the graphics state will * not be visible outside the group. * * @return a (surface) pattern containing the results of all drawing * operations performed to the group. **/ RefPtr pop_group(); /** * Terminates the redirection begun by a call to push_group() or * push_group_with_content() and installs the resulting pattern as the source * pattern in the given cairo Context. * * The behavior of this function is equivalent to the sequence of operations: * * @code * RefPtr group = cr->pop_group(); * cr->set_source(group); * @endcode * * but is more convenient as their is no need for a variable to store * the short-lived pointer to the pattern. * * The pop_group() function calls restore(), (balancing a call to save() by * the push_group function), so that any changes to the graphics state will * not be visible outside the group. **/ void pop_group_to_source(); /** * Gets the target surface for the current group as started by the most recent * call to push_group() or push_group_with_content(). * * This function will return NULL if called "outside" of any group rendering * blocks, (that is, after the last balancing call to pop_group() or * pop_group_to_source()). * * @exception * **/ RefPtr get_group_target(); /** * Same as the non-const version but returns a reference to a const Surface */ RefPtr get_group_target() const; /** The base cairo C type that is wrapped by Cairo::Context */ typedef cairo_t cobject; /** Gets a pointer to the base C type that is wrapped by the Context */ inline cobject* cobj() { return m_cobject; } /** Gets a pointer to the base C type that is wrapped by the Context */ inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_status(const_cast(cobj())); } void reference() const; void unreference() const; #endif //DOXYGEN_IGNORE_THIS protected: cobject* m_cobject; private: Context(const Context&); Context& operator=(const Context&); }; } // namespace Cairo #endif //__CAIROMM_CONTEXT_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/pattern.h0000644000175000017500000000005011561715437017521 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/pattern.h0000644000175000017500000002232611561715437017742 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_PATTERN_H #define __CAIROMM_PATTERN_H #include #include #include namespace Cairo { struct ColorStop { double offset; double red, green, blue, alpha; }; class Matrix; /** * This is a reference-counted object that should be used via Cairo::RefPtr. */ class Pattern { protected: //Use derived constructors. //TODO?: Pattern(cairo_pattern_t *target); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit Pattern(cairo_pattern_t* cobject, bool has_reference = false); virtual ~Pattern(); void set_matrix(const Matrix& matrix); void get_matrix(Matrix& matrix) const; /** @since 1.8 */ Matrix get_matrix() const; /* To keep 1.6.x ABI */ void set_matrix(const cairo_matrix_t& matrix); void get_matrix(cairo_matrix_t& matrix) const; PatternType get_type() const; typedef cairo_pattern_t cobject; inline cobject* cobj() { return m_cobject; } inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. inline ErrorStatus get_status() const { return cairo_pattern_status(const_cast(cobj())); } #endif //DOXYGEN_IGNORE_THIS void reference() const; void unreference() const; protected: //Used by derived types only. Pattern(); cobject* m_cobject; private: Pattern(const Pattern&); Pattern& operator=(const Pattern&); }; class SolidPattern : public Pattern { protected: public: /** Create a C++ wrapper for the C instance. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit SolidPattern(cairo_pattern_t* cobject, bool has_reference = false); /** * Gets the solid color for a solid color pattern. * * @param red return value for red component of color * @param green return value for green component of color * @param blue return value for blue component of color * @param alpha return value for alpha component of color * * @since 1.4 **/ void get_rgba (double& red, double& green, double& blue, double& alpha) const; //TODO: Documentation static RefPtr create_rgb(double red, double green, double blue); //TODO: Documentation static RefPtr create_rgba(double red, double green, double blue, double alpha); //TODO?: SolidPattern(cairo_pattern_t *target); virtual ~SolidPattern(); }; class SurfacePattern : public Pattern { protected: explicit SurfacePattern(const RefPtr& surface); //TODO?: SurfacePattern(cairo_pattern_t *target); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit SurfacePattern(cairo_pattern_t* cobject, bool has_reference = false); /** * Gets the surface associated with this pattern * * @since 1.4 **/ RefPtr get_surface () const; /** * Gets the surface associated with this pattern * * @since 1.4 **/ RefPtr get_surface (); virtual ~SurfacePattern(); static RefPtr create(const RefPtr& surface); void set_extend(Extend extend); Extend get_extend() const; void set_filter(Filter filter); Filter get_filter() const; }; class Gradient : public Pattern { protected: //Use derived constructors. //TODO?: Gradient(cairo_pattern_t *target); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit Gradient(cairo_pattern_t* cobject, bool has_reference = false); virtual ~Gradient(); /** * Adds an opaque color stop to a gradient pattern. The offset * specifies the location along the gradient's control vector. For * example, a linear gradient's control vector is from (x0,y0) to * (x1,y1) while a radial gradient's control vector is from any point * on the start circle to the corresponding point on the end circle. * * The color is specified in the same way as in Context::set_source_rgb(). * * @param offset an offset in the range [0.0 .. 1.0] * @param red red component of color * @param green green component of color * @param blue blue component of color **/ void add_color_stop_rgb(double offset, double red, double green, double blue); /** * Adds a translucent color stop to a gradient pattern. The offset * specifies the location along the gradient's control vector. For * example, a linear gradient's control vector is from (x0,y0) to * (x1,y1) while a radial gradient's control vector is from any point * on the start circle to the corresponding point on the end circle. * * The color is specified in the same way as in Context::set_source_rgba(). * * @param offset an offset in the range [0.0 .. 1.0] * @param red red component of color * @param green green component of color * @param blue blue component of color * @param alpha alpha component of color */ void add_color_stop_rgba(double offset, double red, double green, double blue, double alpha); /* * Gets the color stops and offsets for this Gradient * * @since 1.4 */ std::vector get_color_stops() const; protected: Gradient(); }; class LinearGradient : public Gradient { protected: LinearGradient(double x0, double y0, double x1, double y1); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit LinearGradient(cairo_pattern_t* cobject, bool has_reference = false); /** * @param x0 return value for the x coordinate of the first point * @param y0 return value for the y coordinate of the first point * @param x1 return value for the x coordinate of the second point * @param y1 return value for the y coordinate of the second point * * Gets the gradient endpoints for a linear gradient. * * @since 1.4 **/ void get_linear_points(double &x0, double &y0, double &x1, double &y1) const; //TODO?: LinearGradient(cairo_pattern_t *target); virtual ~LinearGradient(); static RefPtr create(double x0, double y0, double x1, double y1); }; class RadialGradient : public Gradient { protected: RadialGradient(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1); public: /** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr. * @param cobject The C instance. * @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference. */ explicit RadialGradient(cairo_pattern_t* cobject, bool has_reference = false); /** * @param x0 return value for the x coordinate of the center of the first (inner) circle * @param y0 return value for the y coordinate of the center of the first (inner) circle * @param r0 return value for the radius of the first (inner) circle * @param x1 return value for the x coordinate of the center of the second (outer) circle * @param y1 return value for the y coordinate of the center of the second (outer) circle * @param r1 return value for the radius of the second (outer) circle * * Gets the gradient endpoint circles for a radial gradient, each * specified as a center coordinate and a radius. * * @since 1.4 **/ void get_radial_circles(double& x0, double& y0, double& r0, double& x1, double& y1, double& r1) const; //TODO?: RadialGradient(cairo_pattern_t *target); virtual ~RadialGradient(); static RefPtr create(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1); }; } // namespace Cairo #endif //__CAIROMM_PATTERN_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/surface.cc0000644000175000017500000000005011561715437017632 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/surface.cc0000644000175000017500000005126311561715437020055 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { static cairo_user_data_key_t USER_DATA_KEY_WRITE_FUNC = {0}; static cairo_user_data_key_t USER_DATA_KEY_READ_FUNC = {0}; static void free_slot(void* data) { Surface::SlotWriteFunc* slot = static_cast(data); delete slot; } static Surface::SlotWriteFunc* get_slot(cairo_surface_t* surface) { return static_cast(cairo_surface_get_user_data(surface, &USER_DATA_KEY_WRITE_FUNC)); } static void set_read_slot(cairo_surface_t* surface, Surface::SlotReadFunc* slot) { // the slot will automatically be freed by free_slot() when the underlying C // instance is destroyed cairo_surface_set_user_data(surface, &USER_DATA_KEY_READ_FUNC, slot, &free_slot); } static void set_write_slot(cairo_surface_t* surface, Surface::SlotWriteFunc* slot) { // the slot will automatically be freed by free_slot() when the underlying C // instance is destroyed cairo_surface_set_user_data(surface, &USER_DATA_KEY_WRITE_FUNC, slot, &free_slot); } cairo_status_t read_func_wrapper(void* closure, unsigned char* data, unsigned int length) { if (!closure) return CAIRO_STATUS_READ_ERROR; Surface::SlotReadFunc* read_func = static_cast(closure); return static_cast((*read_func)(data, length)); } cairo_status_t write_func_wrapper(void* closure, const unsigned char* data, unsigned int length) { if (!closure) return CAIRO_STATUS_WRITE_ERROR; Surface::SlotWriteFunc* write_func = static_cast(closure); return static_cast((*write_func)(data, length)); } Surface::Surface(cairo_surface_t* cobject, bool has_reference) : m_cobject(0) { if(has_reference) m_cobject = cobject; else m_cobject = cairo_surface_reference(cobject); } Surface::~Surface() { if(m_cobject) cairo_surface_destroy(m_cobject); } void Surface::finish() { cairo_surface_finish(cobj()); check_object_status_and_throw_exception(*this); } const unsigned char* Surface::get_mime_data(const std::string& mime_type, unsigned long& length) { const unsigned char* data = 0; cairo_surface_get_mime_data(const_cast(cobj()), mime_type.c_str(), &data, &length); check_object_status_and_throw_exception(*this); return data; } static void on_cairo_destroy(void *data) { Surface::SlotDestroy* slot = static_cast(data); if(!slot) return; (*slot)(); delete slot; } void Surface::set_mime_data(const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy) { SlotDestroy* copy = new SlotDestroy(slot_destroy); //Deleted when the callback is called once. cairo_surface_set_mime_data(const_cast(cobj()), mime_type.c_str(), data, length, &on_cairo_destroy, copy); check_object_status_and_throw_exception(*this); } void Surface::unset_mime_data(const std::string& mime_type) { cairo_surface_set_mime_data(const_cast(cobj()), mime_type.c_str(), 0, 0, 0, 0); check_object_status_and_throw_exception(*this); } void Surface::get_font_options(FontOptions& options) const { cairo_font_options_t* cfontoptions = cairo_font_options_create(); cairo_surface_get_font_options(const_cast(cobj()), cfontoptions); options = FontOptions(cfontoptions); cairo_font_options_destroy(cfontoptions); check_object_status_and_throw_exception(*this); } void Surface::flush() { cairo_surface_flush(cobj()); check_object_status_and_throw_exception(*this); } void Surface::mark_dirty() { cairo_surface_mark_dirty(cobj()); check_object_status_and_throw_exception(*this); } void Surface::mark_dirty(int x, int y, int width, int height) { cairo_surface_mark_dirty_rectangle(cobj(), x, y, width, height); check_object_status_and_throw_exception(*this); } void Surface::set_device_offset(double x_offset, double y_offset) { cairo_surface_set_device_offset(cobj(), x_offset, y_offset); check_object_status_and_throw_exception(*this); } void Surface::get_device_offset(double& x_offset, double& y_offset) const { cairo_surface_get_device_offset(const_cast(cobj()), &x_offset, &y_offset); } void Surface::set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch) { cairo_surface_set_fallback_resolution(cobj(), x_pixels_per_inch, y_pixels_per_inch); check_object_status_and_throw_exception(*this); } void Surface::get_fallback_resolution(double& x_pixels_per_inch, double& y_pixels_per_inch) const { cairo_surface_get_fallback_resolution(const_cast(cobj()), &x_pixels_per_inch, &y_pixels_per_inch); check_object_status_and_throw_exception(*this); } SurfaceType Surface::get_type() const { cairo_surface_type_t surface_type = cairo_surface_get_type(const_cast(cobj())); check_object_status_and_throw_exception(*this); return static_cast(surface_type); } Content Surface::get_content() const { cairo_content_t content = cairo_surface_get_content(const_cast(cobj())); check_object_status_and_throw_exception(*this); return static_cast(content); } void Surface::copy_page() { cairo_surface_copy_page(cobj()); check_object_status_and_throw_exception(*this); } void Surface::show_page() { cairo_surface_show_page(cobj()); check_object_status_and_throw_exception(*this); } bool Surface::has_show_text_glyphs() const { bool result = cairo_surface_has_show_text_glyphs(const_cast(cobj())); check_object_status_and_throw_exception(*this); return result; } #ifdef CAIRO_HAS_PNG_FUNCTIONS void Surface::write_to_png(const std::string& filename) { ErrorStatus status = cairo_surface_write_to_png(cobj(), filename.c_str()); check_status_and_throw_exception(status); } void Surface::write_to_png_stream(const SlotWriteFunc& write_func) { SlotWriteFunc* old_slot = get_slot(cobj()); if (old_slot) delete old_slot; SlotWriteFunc* slot_copy = new SlotWriteFunc(write_func); set_write_slot(cobj(), slot_copy); ErrorStatus status = cairo_surface_write_to_png_stream(cobj(), &write_func_wrapper, slot_copy /*closure*/); check_status_and_throw_exception(status); } void Surface::write_to_png(cairo_write_func_t write_func, void *closure) { ErrorStatus status = cairo_surface_write_to_png_stream(cobj(), write_func, closure); check_status_and_throw_exception(status); } #endif RefPtr Surface::get_device() { cairo_device_t *d = cairo_surface_get_device (m_cobject); if (!d) return RefPtr(); return RefPtr(new Device(d, true)); } void Surface::reference() const { cairo_surface_reference(const_cast(cobj())); } void Surface::unreference() const { cairo_surface_destroy(const_cast(cobj())); } RefPtr Surface::create(const RefPtr other, Content content, int width, int height) { cairo_surface_t* cobject = cairo_surface_create_similar(other->cobj(), (cairo_content_t)content, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new Surface(cobject, true /* has reference */)); } RefPtr Surface::create(const RefPtr& target, double x, double y, double width, double height) { cairo_surface_t* cobject = cairo_surface_create_for_rectangle(target->cobj(), x, y, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new Surface(cobject, true /* has reference */)); } ImageSurface::ImageSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) { } ImageSurface::~ImageSurface() { // surface is destroyed in base class } RefPtr ImageSurface::create(Format format, int width, int height) { cairo_surface_t* cobject = cairo_image_surface_create((cairo_format_t)format, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new ImageSurface(cobject, true /* has reference */)); } RefPtr ImageSurface::create(unsigned char* data, Format format, int width, int height, int stride) { cairo_surface_t* cobject = cairo_image_surface_create_for_data(data, (cairo_format_t)format, width, height, stride); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new ImageSurface(cobject, true /* has reference */)); } #ifdef CAIRO_HAS_PNG_FUNCTIONS RefPtr ImageSurface::create_from_png(std::string filename) { cairo_surface_t* cobject = cairo_image_surface_create_from_png(filename.c_str()); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new ImageSurface(cobject, true /* has reference */)); } RefPtr ImageSurface::create_from_png_stream(const SlotReadFunc& read_func) { SlotReadFunc* slot_copy = new SlotReadFunc(read_func); cairo_surface_t* cobject = cairo_image_surface_create_from_png_stream(&read_func_wrapper, slot_copy); check_status_and_throw_exception(cairo_surface_status(cobject)); set_read_slot(cobject, slot_copy); return RefPtr(new ImageSurface(cobject, true /* has reference */)); } RefPtr ImageSurface::create_from_png(cairo_read_func_t read_func, void *closure) { cairo_surface_t* cobject = cairo_image_surface_create_from_png_stream(read_func, closure); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new ImageSurface(cobject, true /* has reference */)); } #endif // CAIRO_HAS_PNG_FUNCTIONS int ImageSurface::get_width() const { const int result = cairo_image_surface_get_width(const_cast(cobj())); check_object_status_and_throw_exception(*this); return result; } int ImageSurface::get_height() const { const int result = cairo_image_surface_get_height(const_cast(cobj())); check_object_status_and_throw_exception(*this); return result; } unsigned char* ImageSurface::get_data() { return cairo_image_surface_get_data(cobj()); } const unsigned char* ImageSurface::get_data() const { return cairo_image_surface_get_data(const_cast(cobj())); } Format ImageSurface::get_format() const { return static_cast(cairo_image_surface_get_format(const_cast(cobj()))); } int ImageSurface::get_stride() const { return cairo_image_surface_get_stride(const_cast(cobj())); } int ImageSurface::format_stride_for_width (Cairo::Format format, int width) { return cairo_format_stride_for_width(static_cast(format), width); } /******************************************************************************* * THE FOLLOWING SURFACE TYPES ARE EXPERIMENTAL AND NOT FULLY SUPPORTED ******************************************************************************/ #ifdef CAIRO_HAS_PDF_SURFACE PdfSurface::PdfSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) {} PdfSurface::~PdfSurface() { // surface is destroyed in base class } RefPtr PdfSurface::create(std::string filename, double width_in_points, double height_in_points) { cairo_surface_t* cobject = cairo_pdf_surface_create(filename.c_str(), width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new PdfSurface(cobject, true /* has reference */)); } RefPtr PdfSurface::create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points) { cairo_surface_t* cobject = cairo_pdf_surface_create_for_stream(write_func, closure, width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new PdfSurface(cobject, true /* has reference */)); } RefPtr PdfSurface::create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points) { SlotWriteFunc* slot_copy = new SlotWriteFunc(write_func); cairo_surface_t* cobject = cairo_pdf_surface_create_for_stream(write_func_wrapper, slot_copy, width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); set_write_slot(cobject, slot_copy); return RefPtr(new PdfSurface(cobject, true /* has reference */)); } void PdfSurface::set_size(double width_in_points, double height_in_points) { cairo_pdf_surface_set_size(cobj(), width_in_points, height_in_points); check_object_status_and_throw_exception(*this); } void PdfSurface::restrict_to_version(PdfVersion version) { cairo_pdf_surface_restrict_to_version(cobj(), static_cast(version)); check_object_status_and_throw_exception(*this); } const std::vector PdfSurface::get_versions() { cairo_pdf_version_t const *versions; int num_versions; cairo_pdf_get_versions(&versions, &num_versions); // Just copy the version array out into a std::vector. std::vector vec; for (int i = 0; i < num_versions; ++i) { vec.push_back(static_cast(versions[i])); } return vec; } std::string PdfSurface::version_to_string(PdfVersion version) { const char *cstring = cairo_pdf_version_to_string(static_cast(version)); return cstring ? std::string(cstring) : std::string(); } #endif // CAIRO_HAS_PDF_SURFACE #ifdef CAIRO_HAS_PS_SURFACE PsSurface::PsSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) {} PsSurface::~PsSurface() { // surface is destroyed in base class } RefPtr PsSurface::create(std::string filename, double width_in_points, double height_in_points) { cairo_surface_t* cobject = cairo_ps_surface_create(filename.c_str(), width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new PsSurface(cobject, true /* has reference */)); } RefPtr PsSurface::create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points) { SlotWriteFunc* slot_copy = new SlotWriteFunc(write_func); cairo_surface_t* cobject = cairo_ps_surface_create_for_stream(write_func_wrapper, slot_copy, width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); set_write_slot(cobject, slot_copy); return RefPtr(new PsSurface(cobject, true /* has reference */)); } RefPtr PsSurface::create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points) { cairo_surface_t* cobject = cairo_ps_surface_create_for_stream(write_func, closure, width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new PsSurface(cobject, true /* has reference */)); } void PsSurface::set_size(double width_in_points, double height_in_points) { cairo_ps_surface_set_size(cobj(), width_in_points, height_in_points); check_object_status_and_throw_exception(*this); } void PsSurface::dsc_comment(std::string comment) { cairo_ps_surface_dsc_comment(cobj(), comment.c_str()); check_object_status_and_throw_exception(*this); } void PsSurface::dsc_begin_setup() { cairo_ps_surface_dsc_begin_setup(cobj()); check_object_status_and_throw_exception(*this); } void PsSurface::dsc_begin_page_setup() { cairo_ps_surface_dsc_begin_page_setup(cobj()); check_object_status_and_throw_exception(*this); } bool PsSurface::get_eps() const { bool result = cairo_ps_surface_get_eps(const_cast(cobj())); check_object_status_and_throw_exception(*this); return result; } void PsSurface::set_eps(bool eps) { cairo_ps_surface_set_eps(cobj(), eps); check_object_status_and_throw_exception(*this); } void PsSurface::restrict_to_level(PsLevel level) { cairo_ps_surface_restrict_to_level(cobj(), static_cast(level)); check_object_status_and_throw_exception(*this); } const std::vector PsSurface::get_levels() { cairo_ps_level_t const *levels; int num_levels; cairo_ps_get_levels(&levels, &num_levels); // Just copy the level array out into a std::vector. This is a rarely used // function and the array of levels is going to be very small, so there's no // real performance hit. std::vector vec; for (int i = 0; i < num_levels; ++i) { vec.push_back(static_cast(levels[i])); } return vec; } std::string PsSurface::level_to_string(PsLevel level) { return std::string(cairo_ps_level_to_string(static_cast(level))); } #endif // CAIRO_HAS_PS_SURFACE #ifdef CAIRO_HAS_SVG_SURFACE SvgSurface::SvgSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) {} SvgSurface::~SvgSurface() { // surface is destroyed in base class } RefPtr SvgSurface::create(std::string filename, double width_in_points, double height_in_points) { cairo_surface_t* cobject = cairo_svg_surface_create(filename.c_str(), width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new SvgSurface(cobject, true /* has reference */)); } RefPtr SvgSurface::create_for_stream(const SlotWriteFunc& write_func, double width_in_points, double height_in_points) { SlotWriteFunc* slot_copy = new SlotWriteFunc(write_func); cairo_surface_t* cobject = cairo_svg_surface_create_for_stream(write_func_wrapper, slot_copy, width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); set_write_slot(cobject, slot_copy); return RefPtr(new SvgSurface(cobject, true /* has reference */)); } RefPtr SvgSurface::create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points) { cairo_surface_t* cobject = cairo_svg_surface_create_for_stream(write_func, closure, width_in_points, height_in_points); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new SvgSurface(cobject, true /* has reference */)); } void SvgSurface::restrict_to_version(SvgVersion version) { cairo_svg_surface_restrict_to_version(cobj(), static_cast(version)); check_object_status_and_throw_exception(*this); } const std::vector SvgSurface::get_versions() { cairo_svg_version_t const *versions; int num_versions; cairo_svg_get_versions(&versions, &num_versions); // Just copy the version array out into a std::vector. This is a rarely used // function and the array of versions is going to be very small, so there's no // real performance hit. std::vector vec; for (int i = 0; i < num_versions; ++i) { vec.push_back(static_cast(versions[i])); } return vec; } std::string SvgSurface::version_to_string(SvgVersion version) { return std::string(cairo_svg_version_to_string(static_cast(version))); } #endif // CAIRO_HAS_SVG_SURFACE #ifdef CAIRO_HAS_GLITZ_SURFACE GlitzSurface::GlitzSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) { } GlitzSurface::~GlitzSurface() { // surface is destroyed in base class } RefPtr GlitzSurface::create(glitz_surface_t *surface) { cairo_surface_t* cobject = cairo_glitz_surface_create(surface); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new GlitzSurface(cobject, true /* has reference */)); } #endif // CAIRO_HAS_GLITZ_SURFACE } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/matrix.h0000644000175000017500000000005011561715437017350 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/matrix.h0000644000175000017500000001653511561715437017576 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 Jonathon Jongsma * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_MATRIX_H #define __CAIROMM_MATRIX_H #include namespace Cairo { /** @class cairo_matrix_t * See the cairo_matrix_t * reference in the cairo manual for more information */ /** A Transformation matrix. * * Cairo::Matrix is used throughout cairomm to convert between different * coordinate spaces. A Matrix holds an affine transformation, such as * a scale, rotation, shear, or a combination of these. The transformation of * a point (x,y) is given by: * * @code * x_new = xx * x + xy * y + x0; * y_new = yx * x + yy * y + y0; * @endcode * * The current transformation matrix of a Context, represented as a * Matrix, defines the transformation from user-space coordinates to * device-space coordinates. * @sa Context::get_matrix() * @sa Context::set_matrix() */ class Matrix : public cairo_matrix_t { public: /** Creates an uninitialized matrix. If you want a matrix initialized to a * certain value, either specify the values explicitly with the other * constructor or use one of the free functions for initializing matrices with * specific scales, rotations, etc. * * @sa identity_matrix() * @sa rotation_matrix() * @sa translation_matrix() * @sa scaling_matrix() */ Matrix(); /** Creates a matrix Sets to be the affine transformation given by xx, yx, xy, * yy, x0, y0. The transformation is given by: * * @code * x_new = xx * x + xy * y + x0; * y_new = yx * x + yy * y + y0; * @endcode * * @param xx xx component of the affine transformation * @param yx yx component of the affine transformation * @param xy xy component of the affine transformation * @param yy yy component of the affine transformation * @param x0 X translation component of the affine transformation * @param y0 Y translation component of the affine transformation */ Matrix(double xx, double yx, double xy, double yy, double x0, double y0); /** Applies a translation by tx, ty to the transformation in matrix. The * effect of the new transformation is to first translate the coordinates by * tx and ty, then apply the original transformation to the coordinates. * * @param tx amount to translate in the X direction * @param ty amount to translate in the Y direction */ void translate(double tx, double ty); /** Applies scaling by sx, sy to the transformation in matrix. The effect of * the new transformation is to first scale the coordinates by sx and sy, then * apply the original transformation to the coordinates. * * @param sx scale factor in the X direction * @param sy scale factor in the Y direction */ void scale(double sx, double sy); /** Applies rotation by radians to the transformation in matrix. The effect of * the new transformation is to first rotate the coordinates by radians, then * apply the original transformation to the coordinates. * * @param radians angle of rotation, in radians. The direction of rotation is * defined such that positive angles rotate in the direction from the positive * X axis toward the positive Y axis. With the default axis orientation of * cairo, positive angles rotate in a clockwise direction. */ void rotate(double radians); /** Changes matrix to be the inverse of it's original value. Not all * transformation matrices have inverses; if the matrix collapses points * together (it is degenerate), then it has no inverse and this function will * throw an exception. */ void invert(); // throws exception /** Multiplies the affine transformations in a and b together and stores the * result in this matrix. The effect of the resulting transformation is to first * apply the transformation in a to the coordinates and then apply the * transformation in b to the coordinates. * * It is allowable for result to be identical to either a or b. * * @param a a Matrix * @param b a Matrix * * @sa operator*() */ void multiply(Matrix& a, Matrix& b); /** Transforms the distance vector (dx,dy) by matrix. This is similar to * transform_point() except that the translation components of the * transformation are ignored. The calculation of the returned vector is as * follows: * * @code * dx2 = dx1 * a + dy1 * c; * dy2 = dx1 * b + dy1 * d; * @endcode * * Affine transformations are position invariant, so the same vector always * transforms to the same vector. If (x1,y1) transforms to (x2,y2) then * (x1+dx1,y1+dy1) will transform to (x1+dx2,y1+dy2) for all values of x1 and * x2. * * @param dx X component of a distance vector. An in/out parameter * @param dy Y component of a distance vector. An in/out parameter */ void transform_distance(double& dx, double& dy) const; /** Transforms the point (x, y) by this matrix. * * @param x X position. An in/out parameter * @param y Y position. An in/out parameter */ void transform_point(double& x, double& y) const; }; /** Returns a Matrix initialized to the identity matrix * * @relates Matrix */ Matrix identity_matrix(); /** Returns a Matrix initialized to a transformation that translates by tx and * ty in the X and Y dimensions, respectively. * * @param tx amount to translate in the X direction * @param ty amount to translate in the Y direction * * @relates Matrix */ Matrix translation_matrix(double tx, double ty); /** Returns a Matrix initialized to a transformation that scales by sx and sy in * the X and Y dimensions, respectively. * * @param sx scale factor in the X direction * @param sy scale factor in the Y direction * * @relates Matrix */ Matrix scaling_matrix(double sx, double sy); /** Returns a Matrix initialized to a transformation that rotates by radians. * * @param radians angle of rotation, in radians. The direction of rotation is * defined such that positive angles rotate in the direction from the positive X * axis toward the positive Y axis. With the default axis orientation of cairo, * positive angles rotate in a clockwise direction. * * @relates Matrix */ Matrix rotation_matrix(double radians); /** Multiplies the affine transformations in a and b together and returns the * result. The effect of the resulting transformation is to first * apply the transformation in a to the coordinates and then apply the * transformation in b to the coordinates. * * It is allowable for result to be identical to either a or b. * * @param a a Matrix * @param b a Matrix * * @relates Matrix */ Matrix operator*(const Matrix& a, const Matrix& b); } // namespace Cairo #endif // __CAIROMM_MATRIX_H cairomm-1.10.0/cairomm/PaxHeaders.11012/context_surface_xlib.cc0000644000175000017500000000005011561715437022414 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/context_surface_xlib.cc0000644000175000017500000000242111561715437022627 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include namespace Cairo { namespace Private { RefPtr wrap_surface_xlib(cairo_surface_t* surface) { #if CAIRO_HAS_XLIB_SURFACE return RefPtr(new XlibSurface(surface, false /* does not have reference */)); #else return RefPtr(new Surface(surface, false /* does not have reference */)); #endif } } // namespace Private } // namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/quartz_surface.cc0000644000175000017500000000005011561715437021240 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/quartz_surface.cc0000644000175000017500000000372511561715437021463 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2007 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { #ifdef CAIRO_HAS_QUARTZ_SURFACE QuartzSurface::QuartzSurface(cairo_surface_t* cobject, bool has_reference) : Surface(cobject, has_reference) {} QuartzSurface::~QuartzSurface() { // surface is destroyed in base class } CGContextRef QuartzSurface::get_cg_context() const { return cairo_quartz_surface_get_cg_context(m_cobject); } RefPtr QuartzSurface::create(CGContextRef cg_context, int width, int height) { cairo_surface_t* cobject = cairo_quartz_surface_create_for_cg_context(cg_context, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new QuartzSurface(cobject, true /* has reference */)); } RefPtr QuartzSurface::create(Format format, int width, int height) { cairo_surface_t* cobject = cairo_quartz_surface_create((cairo_format_t)format, width, height); check_status_and_throw_exception(cairo_surface_status(cobject)); return RefPtr(new QuartzSurface(cobject, true /* has reference */)); } #endif // CAIRO_HAS_QUARTZ_SURFACE } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/quartz_font.h0000644000175000017500000000005011561715437020420 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/quartz_font.h0000644000175000017500000000370711561715437020643 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 Jonathon Jongsma * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_QUARTZ_FONT_H #define __CAIROMM_QUARTZ_FONT_H #include #ifdef CAIRO_HAS_QUARTZ_FONT #include #include #include namespace Cairo { /** Font support for Quartz (CGFont) fonts on OS X. * * @since 1.8 */ class QuartzFontFace : public FontFace { public: /** Creates a new font for the Quartz font backend based on a CGFontRef. This * font can then be used with Context::set_font_face() or * ScaledFont::create(). * * @param font a CGFontRef obtained through a method external to cairo. * * @since 1.8 */ static RefPtr create(CGFontRef font); #ifndef __LP64__ /** Creates a new font for the Quartz font backend based on an ATSUFontID. * This font can then be used with Context::set_font_face() or * ScaledFont::create(). * * @param font_id an ATSUFontID for the font. * * @since 1.8 */ static RefPtr create(ATSUFontID font_id); #endif protected: QuartzFontFace(CGFontRef font); #ifndef __LP64__ QuartzFontFace(ATSUFontID font_id); #endif }; } #endif // CAIRO_HAS_QUARTZ_FONT #endif // __CAIROMM_QUARTZ_FONT_H cairomm-1.10.0/cairomm/PaxHeaders.11012/path.h0000644000175000017500000000005011561715437017000 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/path.h0000644000175000017500000000413411561715437017216 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_PATH_H #define __CAIROMM_PATH_H #include #include #include namespace Cairo { /** A data structure for holding a path. * Use Context::copy_path() or Context::copy_path_flat() to instantiate a new * Path. The application is responsible for freeing the Path object when it is * no longer needed. * * @todo There's currently no way to access the path data without reverting to * the C object (see cobj()) */ class Path { public: //Path(); explicit Path(cairo_path_t* cobject, bool take_ownership = false); //Path(const Path& src); virtual ~Path(); //Path& operator=(const Path& src); //bool operator ==(const Path& src) const; //bool operator !=(const Path& src) const; typedef cairo_path_t cobject; inline cobject* cobj() { return m_cobject; } inline const cobject* cobj() const { return m_cobject; } #ifndef DOXYGEN_IGNORE_THIS ///For use only by the cairomm implementation. //There is no *_status() function for this object: //inline ErrorStatus get_status() const //{ return cairo_path_status(const_cast(cobj())); } #endif //DOXYGEN_IGNORE_THIS protected: cobject* m_cobject; private: Path(const Path&); Path& operator=(const Path&); }; } // namespace Cairo #endif //__CAIROMM_PATH_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/cairomm.h0000644000175000017500000000005011561715437017473 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/cairomm.h0000644000175000017500000000322011561715437017704 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __CAIROMM_H #define __CAIROMM_H /** @mainpage Cairomm: A C++ wrapper for the cairo graphics library * * @section License * Cairomm is available under the terms of the LGPL license * * @section Introduction * If you're just beginning to learn cairomm, a good place to start is with the * Cairo::Surface and Cairo::Context classes. In general terms, you draw onto * a Surface using the graphics settings specified in your Context. * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #endif //__CAIROMM_H // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/exception.cc0000644000175000017500000000005011561715437020200 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/exception.cc0000644000175000017500000000300211561715437020407 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { inline static const char* string_or_empty(const char* text) { return (text ? text : ""); } //TODO: Is it wise to assume that the string is ASCII, as expected by std::logic_error? logic_error::logic_error(ErrorStatus status) : std::logic_error( string_or_empty(cairo_status_to_string((cairo_status_t)status)) ), m_status(status) { } logic_error::~logic_error() throw() {} ErrorStatus logic_error::get_status_code() const { return m_status; } /* const char* logic_error::what() const throw() { //Hopefully this is a const char* to a static string. return cairo_status_to_string((cairo_status_t)m_status); } */ } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/path.cc0000644000175000017500000000005011561715437017136 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/path.cc0000644000175000017500000000400611561715437017352 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2005 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include #include namespace Cairo { /* Path::Path() : m_cobject(0) { m_cobject = cairo_path_create(); } */ Path::Path(cairo_path_t* cobject, bool take_ownership) : m_cobject(0) { if(take_ownership) m_cobject = cobject; else { std::cerr << "cairomm: Path::Path(): copying of the underlying cairo_path_t* is not yet implemented." << std::endl; //m_cobject = cairo_path_copy(cobject); } } /* Path::Path(const Path& src) { //Reference-counting, instead of copying by value: if(!src.m_cobject) m_cobject = 0; else m_cobject = cairo_path_copy(src.m_cobject); } */ Path::~Path() { if(m_cobject) cairo_path_destroy(m_cobject); } /* Path& Path::operator=(const Path& src) { //Reference-counting, instead of copying by value: if(this == &src) return *this; if(m_cobject == src.m_cobject) return *this; if(m_cobject) { cairo_path_destroy(m_cobject); m_cobject = 0; } if(!src.m_cobject) return *this; m_cobject = cairo_path_copy(src.m_cobject); return *this; } */ /* bool Path::operator==(const Path& src) const { return cairo_path_equal(m_cobject, src.cobj()); } */ } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/cairomm/PaxHeaders.11012/device.cc0000644000175000017500000000005011561715437017441 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/cairomm/device.cc0000644000175000017500000000433011561715437017655 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2010s The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #include #include namespace Cairo { Device::Device(cairo_device_t* cobject, bool has_reference) : m_cobject(0) { if(has_reference) m_cobject = cobject; else m_cobject = cairo_device_reference(cobject); } Device::~Device() { if(m_cobject) cairo_device_destroy(m_cobject); } void Device::reference() const { cairo_device_reference(m_cobject); } void Device::unreference() const { cairo_device_destroy(m_cobject); } DeviceType Device::get_type() const { cairo_device_type_t surface_type = cairo_device_get_type(const_cast(cobj())); check_object_status_and_throw_exception(*this); return static_cast(surface_type); } void Device::flush() { cairo_device_flush(m_cobject); check_object_status_and_throw_exception(*this); } void Device::finish() { cairo_device_flush(m_cobject); check_object_status_and_throw_exception(*this); } void Device::acquire() { ErrorStatus status = cairo_device_acquire(m_cobject); check_status_and_throw_exception(status); } void Device::release() { cairo_device_release(m_cobject); check_object_status_and_throw_exception(*this); } Device::Lock::Lock(const RefPtr& device) : m_device(device) { m_device->acquire(); } Device::Lock::Lock (const Lock& other) : m_device(other.m_device) { m_device->acquire(); } Device::Lock::~Lock() { m_device->release(); } } //namespace Cairo // vim: ts=2 sw=2 et cairomm-1.10.0/PaxHeaders.11012/examples0000644000175000017500000000005011561716652016005 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/examples/0000755000175000017500000000000011561716652016276 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/examples/PaxHeaders.11012/surfaces0000644000175000017500000000005011561716652017620 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/examples/surfaces/0000755000175000017500000000000011561716652020111 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/examples/surfaces/PaxHeaders.11012/svg-surface.cc0000644000175000017500000000005011561715437022431 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/surfaces/svg-surface.cc0000644000175000017500000000311711561715437022647 0ustar00murraycmurrayc00000000000000/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris, * et. al. */ #if defined(_MSC_VER) #define _USE_MATH_DEFINES #endif #include #include #include #include #include #include int main() { #ifdef CAIRO_HAS_SVG_SURFACE std::string filename = "image.svg"; double width = 600; double height = 400; Cairo::RefPtr surface = Cairo::SvgSurface::create(filename, width, height); Cairo::RefPtr cr = Cairo::Context::create(surface); cr->save(); // save the state of the context cr->set_source_rgb(0.86, 0.85, 0.47); cr->paint(); // fill image with the color cr->restore(); // color is back to black now cr->save(); // draw a border around the image cr->set_line_width(20.0); // make the line wider cr->rectangle(0.0, 0.0, cairo_image_surface_get_width(surface->cobj()), height); cr->stroke(); cr->set_source_rgba(0.0, 0.0, 0.0, 0.7); // draw a circle in the center of the image cr->arc(width / 2.0, height / 2.0, height / 4.0, 0.0, 2.0 * M_PI); cr->stroke(); // draw a diagonal line cr->move_to(width / 4.0, height / 4.0); cr->line_to(width * 3.0 / 4.0, height * 3.0 / 4.0); cr->stroke(); cr->restore(); cr->show_page(); std::cout << "Wrote SVG file \"" << filename << "\"" << std::endl; return 0; #else std::cout << "You must compile cairo with SVG support for this example to work." << std::endl; return 1; #endif } cairomm-1.10.0/examples/surfaces/PaxHeaders.11012/ps-surface.cc0000644000175000017500000000005011561715437022254 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/surfaces/ps-surface.cc0000644000175000017500000000313611561715437022473 0ustar00murraycmurrayc00000000000000/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris, * et. al. */ #if defined(_MSC_VER) #define _USE_MATH_DEFINES #endif #include #include #include #include #include #include int main() { #ifdef CAIRO_HAS_PS_SURFACE std::string filename = "image.ps"; double width = 600; double height = 400; Cairo::RefPtr surface = Cairo::PsSurface::create(filename, width, height); Cairo::RefPtr cr = Cairo::Context::create(surface); cr->save(); // save the state of the context cr->set_source_rgb(0.86, 0.85, 0.47); cr->paint(); // fill image with the color cr->restore(); // color is back to black now cr->save(); // draw a border around the image cr->set_line_width(20.0); // make the line wider cr->rectangle(0.0, 0.0, cairo_image_surface_get_width(surface->cobj()), height); cr->stroke(); cr->set_source_rgba(0.0, 0.0, 0.0, 0.7); // draw a circle in the center of the image cr->arc(width / 2.0, height / 2.0, height / 4.0, 0.0, 2.0 * M_PI); cr->stroke(); // draw a diagonal line cr->move_to(width / 4.0, height / 4.0); cr->line_to(width * 3.0 / 4.0, height * 3.0 / 4.0); cr->stroke(); cr->restore(); cr->show_page(); std::cout << "Wrote PostScript file \"" << filename << "\"" << std::endl; return 0; #else std::cout << "You must compile cairo with PS (Postscript) support for this example to work." << std::endl; return 1; #endif } cairomm-1.10.0/examples/surfaces/PaxHeaders.11012/pdf-surface.cc0000644000175000017500000000005011561715437022403 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/surfaces/pdf-surface.cc0000644000175000017500000000311111561715437022613 0ustar00murraycmurrayc00000000000000/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris, * et. al. */ #if defined(_MSC_VER) #define _USE_MATH_DEFINES #endif #include #include #include #include #include #include int main() { #ifdef CAIRO_HAS_PDF_SURFACE std::string filename = "image.pdf"; int width = 600; int height = 400; Cairo::RefPtr surface = Cairo::PdfSurface::create(filename, width, height); Cairo::RefPtr cr = Cairo::Context::create(surface); cr->save(); // save the state of the context cr->set_source_rgb(0.86, 0.85, 0.47); cr->paint(); // fill image with the color cr->restore(); // color is back to black now cr->save(); // draw a border around the image cr->set_line_width(20.0); // make the line wider cr->rectangle(0.0, 0.0, cairo_image_surface_get_width(surface->cobj()), height); cr->stroke(); cr->set_source_rgba(0.0, 0.0, 0.0, 0.7); // draw a circle in the center of the image cr->arc(width / 2.0, height / 2.0, height / 4.0, 0.0, 2.0 * M_PI); cr->stroke(); // draw a diagonal line cr->move_to(width / 4.0, height / 4.0); cr->line_to(width * 3.0 / 4.0, height * 3.0 / 4.0); cr->stroke(); cr->restore(); cr->show_page(); std::cout << "Wrote PDF file \"" << filename << "\"" << std::endl; return 0; #else std::cout << "You must compile cairo with PDF support for this example to work." << std::endl; return 1; #endif } cairomm-1.10.0/examples/surfaces/PaxHeaders.11012/image-surface.cc0000644000175000017500000000005011561715437022714 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/surfaces/image-surface.cc0000644000175000017500000000317511561715437023136 0ustar00murraycmurrayc00000000000000/* M_PI is defined in math.h in the case of Microsoft Visual C++, Solaris, * et. al. */ #if defined(_MSC_VER) #define _USE_MATH_DEFINES #endif #include #include #include #include #include #include int main() { Cairo::RefPtr surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 600, 400); Cairo::RefPtr cr = Cairo::Context::create(surface); cr->save(); // save the state of the context cr->set_source_rgb(0.86, 0.85, 0.47); cr->paint(); // fill image with the color cr->restore(); // color is back to black now cr->save(); // draw a border around the image cr->set_line_width(20.0); // make the line wider cr->rectangle(0.0, 0.0, surface->get_width(), surface->get_height()); cr->stroke(); cr->set_source_rgba(0.0, 0.0, 0.0, 0.7); // draw a circle in the center of the image cr->arc(surface->get_width() / 2.0, surface->get_height() / 2.0, surface->get_height() / 4.0, 0.0, 2.0 * M_PI); cr->stroke(); // draw a diagonal line cr->move_to(surface->get_width() / 4.0, surface->get_height() / 4.0); cr->line_to(surface->get_width() * 3.0 / 4.0, surface->get_height() * 3.0 / 4.0); cr->stroke(); cr->restore(); #ifdef CAIRO_HAS_PNG_FUNCTIONS std::string filename = "image.png"; surface->write_to_png(filename); std::cout << "Wrote png file \"" << filename << "\"" << std::endl; #else std::cout << "You must compile cairo with PNG support for this example to work." << std::endl; #endif } cairomm-1.10.0/examples/PaxHeaders.11012/Makefile.in0000644000175000017500000000005011561716335020125 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/Makefile.in0000644000175000017500000005147711561716335020357 0ustar00murraycmurrayc00000000000000# Makefile.in generated by automake 1.10.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ check_PROGRAMS = surfaces/pdf-surface$(EXEEXT) \ surfaces/ps-surface$(EXEEXT) surfaces/svg-surface$(EXEEXT) \ surfaces/image-surface$(EXEEXT) text/text-rotate$(EXEEXT) \ text/toy-text$(EXEEXT) text/user-font$(EXEEXT) subdir = examples DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/ax_boost_base.m4 \ $(top_srcdir)/build/ax_boost_unit_test_framework.m4 \ $(top_srcdir)/build/libtool.m4 \ $(top_srcdir)/build/ltoptions.m4 \ $(top_srcdir)/build/ltsugar.m4 \ $(top_srcdir)/build/ltversion.m4 \ $(top_srcdir)/build/lt~obsolete.m4 \ $(top_srcdir)/build/reduced.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/build/config.h \ $(top_builddir)/cairommconfig.h CONFIG_CLEAN_FILES = am__dirstamp = $(am__leading_dot)dirstamp am_surfaces_image_surface_OBJECTS = surfaces/image-surface.$(OBJEXT) surfaces_image_surface_OBJECTS = $(am_surfaces_image_surface_OBJECTS) surfaces_image_surface_LDADD = $(LDADD) surfaces_image_surface_DEPENDENCIES = \ $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la am_surfaces_pdf_surface_OBJECTS = surfaces/pdf-surface.$(OBJEXT) surfaces_pdf_surface_OBJECTS = $(am_surfaces_pdf_surface_OBJECTS) surfaces_pdf_surface_LDADD = $(LDADD) surfaces_pdf_surface_DEPENDENCIES = \ $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la am_surfaces_ps_surface_OBJECTS = surfaces/ps-surface.$(OBJEXT) surfaces_ps_surface_OBJECTS = $(am_surfaces_ps_surface_OBJECTS) surfaces_ps_surface_LDADD = $(LDADD) surfaces_ps_surface_DEPENDENCIES = \ $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la am_surfaces_svg_surface_OBJECTS = surfaces/svg-surface.$(OBJEXT) surfaces_svg_surface_OBJECTS = $(am_surfaces_svg_surface_OBJECTS) surfaces_svg_surface_LDADD = $(LDADD) surfaces_svg_surface_DEPENDENCIES = \ $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la am_text_text_rotate_OBJECTS = text/text-rotate.$(OBJEXT) text_text_rotate_OBJECTS = $(am_text_text_rotate_OBJECTS) text_text_rotate_LDADD = $(LDADD) text_text_rotate_DEPENDENCIES = \ $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la am_text_toy_text_OBJECTS = text/toy-text.$(OBJEXT) text_toy_text_OBJECTS = $(am_text_toy_text_OBJECTS) text_toy_text_LDADD = $(LDADD) text_toy_text_DEPENDENCIES = \ $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la am_text_user_font_OBJECTS = text/user-font.$(OBJEXT) text_user_font_OBJECTS = $(am_text_user_font_OBJECTS) text_user_font_LDADD = $(LDADD) text_user_font_DEPENDENCIES = \ $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/build/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(surfaces_image_surface_SOURCES) \ $(surfaces_pdf_surface_SOURCES) $(surfaces_ps_surface_SOURCES) \ $(surfaces_svg_surface_SOURCES) $(text_text_rotate_SOURCES) \ $(text_toy_text_SOURCES) $(text_user_font_SOURCES) DIST_SOURCES = $(surfaces_image_surface_SOURCES) \ $(surfaces_pdf_surface_SOURCES) $(surfaces_ps_surface_SOURCES) \ $(surfaces_svg_surface_SOURCES) $(text_text_rotate_SOURCES) \ $(text_toy_text_SOURCES) $(text_user_font_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ACLOCAL_FLAGS = @ACLOCAL_FLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_LDFLAGS = @BOOST_LDFLAGS@ BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@ BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB = @BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB@ CAIROMM_API_VERSION = @CAIROMM_API_VERSION@ CAIROMM_CFLAGS = @CAIROMM_CFLAGS@ CAIROMM_INSTALL_PC = @CAIROMM_INSTALL_PC@ CAIROMM_LIBS = @CAIROMM_LIBS@ CAIROMM_MAJOR_VERSION = @CAIROMM_MAJOR_VERSION@ CAIROMM_MICRO_VERSION = @CAIROMM_MICRO_VERSION@ CAIROMM_MINOR_VERSION = @CAIROMM_MINOR_VERSION@ CAIROMM_MODULES = @CAIROMM_MODULES@ CAIROMM_MODULE_NAME = @CAIROMM_MODULE_NAME@ CAIROMM_SO_VERSION = @CAIROMM_SO_VERSION@ CAIROMM_VERSION = @CAIROMM_VERSION@ CAIROMM_WXXFLAGS = @CAIROMM_WXXFLAGS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DOCINSTALL_FLAGS = @DOCINSTALL_FLAGS@ DOT = @DOT@ DOXYGEN = @DOXYGEN@ DOXYGEN_TAGFILES = @DOXYGEN_TAGFILES@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MMDOCTOOLDIR = @MMDOCTOOLDIR@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XSLTPROC = @XSLTPROC@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = subdir-objects AM_CPPFLAGS = -I$(top_builddir) $(if $(srcdir:.=),-I$(top_srcdir)) $(CAIROMM_CFLAGS) AM_CXXFLAGS = $(CAIROMM_WXXFLAGS) LDADD = $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la surfaces_pdf_surface_SOURCES = surfaces/pdf-surface.cc surfaces_ps_surface_SOURCES = surfaces/ps-surface.cc surfaces_svg_surface_SOURCES = surfaces/svg-surface.cc surfaces_image_surface_SOURCES = surfaces/image-surface.cc text_text_rotate_SOURCES = text/text-rotate.cc text_toy_text_SOURCES = text/toy-text.cc text_user_font_SOURCES = text/user-font.cc EXTRA_DIST = README all: all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done surfaces/$(am__dirstamp): @$(MKDIR_P) surfaces @: > surfaces/$(am__dirstamp) surfaces/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) surfaces/$(DEPDIR) @: > surfaces/$(DEPDIR)/$(am__dirstamp) surfaces/image-surface.$(OBJEXT): surfaces/$(am__dirstamp) \ surfaces/$(DEPDIR)/$(am__dirstamp) surfaces/image-surface$(EXEEXT): $(surfaces_image_surface_OBJECTS) $(surfaces_image_surface_DEPENDENCIES) surfaces/$(am__dirstamp) @rm -f surfaces/image-surface$(EXEEXT) $(CXXLINK) $(surfaces_image_surface_OBJECTS) $(surfaces_image_surface_LDADD) $(LIBS) surfaces/pdf-surface.$(OBJEXT): surfaces/$(am__dirstamp) \ surfaces/$(DEPDIR)/$(am__dirstamp) surfaces/pdf-surface$(EXEEXT): $(surfaces_pdf_surface_OBJECTS) $(surfaces_pdf_surface_DEPENDENCIES) surfaces/$(am__dirstamp) @rm -f surfaces/pdf-surface$(EXEEXT) $(CXXLINK) $(surfaces_pdf_surface_OBJECTS) $(surfaces_pdf_surface_LDADD) $(LIBS) surfaces/ps-surface.$(OBJEXT): surfaces/$(am__dirstamp) \ surfaces/$(DEPDIR)/$(am__dirstamp) surfaces/ps-surface$(EXEEXT): $(surfaces_ps_surface_OBJECTS) $(surfaces_ps_surface_DEPENDENCIES) surfaces/$(am__dirstamp) @rm -f surfaces/ps-surface$(EXEEXT) $(CXXLINK) $(surfaces_ps_surface_OBJECTS) $(surfaces_ps_surface_LDADD) $(LIBS) surfaces/svg-surface.$(OBJEXT): surfaces/$(am__dirstamp) \ surfaces/$(DEPDIR)/$(am__dirstamp) surfaces/svg-surface$(EXEEXT): $(surfaces_svg_surface_OBJECTS) $(surfaces_svg_surface_DEPENDENCIES) surfaces/$(am__dirstamp) @rm -f surfaces/svg-surface$(EXEEXT) $(CXXLINK) $(surfaces_svg_surface_OBJECTS) $(surfaces_svg_surface_LDADD) $(LIBS) text/$(am__dirstamp): @$(MKDIR_P) text @: > text/$(am__dirstamp) text/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) text/$(DEPDIR) @: > text/$(DEPDIR)/$(am__dirstamp) text/text-rotate.$(OBJEXT): text/$(am__dirstamp) \ text/$(DEPDIR)/$(am__dirstamp) text/text-rotate$(EXEEXT): $(text_text_rotate_OBJECTS) $(text_text_rotate_DEPENDENCIES) text/$(am__dirstamp) @rm -f text/text-rotate$(EXEEXT) $(CXXLINK) $(text_text_rotate_OBJECTS) $(text_text_rotate_LDADD) $(LIBS) text/toy-text.$(OBJEXT): text/$(am__dirstamp) \ text/$(DEPDIR)/$(am__dirstamp) text/toy-text$(EXEEXT): $(text_toy_text_OBJECTS) $(text_toy_text_DEPENDENCIES) text/$(am__dirstamp) @rm -f text/toy-text$(EXEEXT) $(CXXLINK) $(text_toy_text_OBJECTS) $(text_toy_text_LDADD) $(LIBS) text/user-font.$(OBJEXT): text/$(am__dirstamp) \ text/$(DEPDIR)/$(am__dirstamp) text/user-font$(EXEEXT): $(text_user_font_OBJECTS) $(text_user_font_DEPENDENCIES) text/$(am__dirstamp) @rm -f text/user-font$(EXEEXT) $(CXXLINK) $(text_user_font_OBJECTS) $(text_user_font_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f surfaces/image-surface.$(OBJEXT) -rm -f surfaces/pdf-surface.$(OBJEXT) -rm -f surfaces/ps-surface.$(OBJEXT) -rm -f surfaces/svg-surface.$(OBJEXT) -rm -f text/text-rotate.$(OBJEXT) -rm -f text/toy-text.$(OBJEXT) -rm -f text/user-font.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@surfaces/$(DEPDIR)/image-surface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@surfaces/$(DEPDIR)/pdf-surface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@surfaces/$(DEPDIR)/ps-surface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@surfaces/$(DEPDIR)/svg-surface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@text/$(DEPDIR)/text-rotate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@text/$(DEPDIR)/toy-text.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@text/$(DEPDIR)/user-font.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs -rm -rf surfaces/.libs surfaces/_libs -rm -rf text/.libs text/_libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -rm -f surfaces/$(DEPDIR)/$(am__dirstamp) -rm -f surfaces/$(am__dirstamp) -rm -f text/$(DEPDIR)/$(am__dirstamp) -rm -f text/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf surfaces/$(DEPDIR) text/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf surfaces/$(DEPDIR) text/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: cairomm-1.10.0/examples/PaxHeaders.11012/Makefile.am0000644000175000017500000000005011561715437020116 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/Makefile.am0000644000175000017500000000153611561715437020337 0ustar00murraycmurrayc00000000000000AUTOMAKE_OPTIONS = subdir-objects check_PROGRAMS = surfaces/pdf-surface \ surfaces/ps-surface \ surfaces/svg-surface \ surfaces/image-surface \ text/text-rotate \ text/toy-text \ text/user-font AM_CPPFLAGS = -I$(top_builddir) $(if $(srcdir:.=),-I$(top_srcdir)) $(CAIROMM_CFLAGS) AM_CXXFLAGS = $(CAIROMM_WXXFLAGS) LDADD = $(top_builddir)/cairomm/libcairomm-$(CAIROMM_API_VERSION).la surfaces_pdf_surface_SOURCES = surfaces/pdf-surface.cc surfaces_ps_surface_SOURCES = surfaces/ps-surface.cc surfaces_svg_surface_SOURCES = surfaces/svg-surface.cc surfaces_image_surface_SOURCES = surfaces/image-surface.cc text_text_rotate_SOURCES = text/text-rotate.cc text_toy_text_SOURCES = text/toy-text.cc text_user_font_SOURCES = text/user-font.cc EXTRA_DIST = README cairomm-1.10.0/examples/PaxHeaders.11012/README0000644000175000017500000000005011561715437016742 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/README0000644000175000017500000000057511561715437017165 0ustar00murraycmurrayc00000000000000Examples: surfaces: demonstrates how to use various surface types text: various examples of drawing text These examples are built automatically as part of cairomm, and you can easily try them out if you are building from source. If cairomm has been installed on your system, you can compile an example program with g++ `pkg-config --cflags --libs cairomm-1.0` main.cc cairomm-1.10.0/examples/PaxHeaders.11012/text0000644000175000017500000000005011561716652016771 xustar000000000000000020 atime=1304927659 20 ctime=1304927658 cairomm-1.10.0/examples/text/0000755000175000017500000000000011561716652017262 5ustar00murraycmurrayc00000000000000cairomm-1.10.0/examples/text/PaxHeaders.11012/toy-text.cc0000644000175000017500000000005011561715437021152 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/text/toy-text.cc0000644000175000017500000000222011561715437021362 0ustar00murraycmurrayc00000000000000#include const double HEIGHT = 200.0; const double WIDTH = 400.0; const double FONT_SIZE = 64.0; const double TEXT_ORIGIN_Y = (HEIGHT / 2.0) + (FONT_SIZE / 2.0); const double TEXT_ORIGIN_X = 50.0; // arbitrary int main(int, char**) { Cairo::RefPtr surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, WIDTH, HEIGHT); Cairo::RefPtr cr = Cairo::Context::create(surface); // fill background in white cr->set_source_rgb(1.0, 1.0, 1.0); cr->paint(); // draw a little dot at the point where text will be drawn cr->arc(TEXT_ORIGIN_X, TEXT_ORIGIN_Y, FONT_SIZE / 4.0, 0, 2*M_PI); cr->set_source_rgba(0.0, 1.0, 0.0, 0.5); cr->fill(); // draw the text cr->move_to(TEXT_ORIGIN_X, TEXT_ORIGIN_Y); cr->set_source_rgb(0.8, 0.2, 0.2); Cairo::RefPtr font = Cairo::ToyFontFace::create("Bitstream Charter", Cairo::FONT_SLANT_ITALIC, Cairo::FONT_WEIGHT_BOLD); cr->set_font_face(font); cr->set_font_size(FONT_SIZE); cr->show_text("cairomm!"); surface->write_to_png("toy-text.png"); return 0; } cairomm-1.10.0/examples/text/PaxHeaders.11012/text-rotate.cc0000644000175000017500000000005011561715437021635 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/text/text-rotate.cc0000644000175000017500000000623511561715437022057 0ustar00murraycmurrayc00000000000000/* Copyright (C) 2008 The cairomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ /* M_PI is defined in math.h in the case of Microsoft Visual C++, and * Solaris needs math.h for M_PI and floor() */ #if defined(_MSC_VER) #define _USE_MATH_DEFINES #endif #include #include #include #include #include // This example is based on the C cairo example of the same name const int WIDTH = 150; const int HEIGHT = 150; const int NUM_TEXT = 20; const int TEXT_SIZE = 12; /* Draw the word cairo at NUM_TEXT different angles */ void draw(Cairo::RefPtr cr, int width, int height) { int i, x_off, y_off; Cairo::TextExtents extents; std::string text("cairo"); cr->select_font_face("Bitstream Vera Sans", Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_NORMAL); cr->set_font_size(TEXT_SIZE); Cairo::FontOptions font_options; font_options.set_hint_style(Cairo::HINT_STYLE_NONE); font_options.set_hint_metrics(Cairo::HINT_METRICS_OFF); font_options.set_antialias(Cairo::ANTIALIAS_GRAY); cr->set_font_options(font_options); cr->set_source_rgb(0.0, 0.0, 0.0); cr->translate(width / 2.0, height / 2.0); cr->get_text_extents(text, extents); if (NUM_TEXT == 1) { x_off = y_off = 0; } else { y_off = (int) - floor(0.5 + extents.height / 2.0); x_off = (int) floor(0.5 + (extents.height + 1.0) / (2.0 * tan (M_PI / NUM_TEXT))); } for (i=0; i < NUM_TEXT; i++) { cr->save(); cr->rotate(2 * M_PI * i / NUM_TEXT); cr->set_line_width(1.0); cr->rectangle(x_off - 0.5, y_off - 0.5, extents.width + 1, extents.height + 1); cr->set_source_rgb(1, 0, 0); cr->stroke(); cr->move_to(x_off - extents.x_bearing, y_off - extents.y_bearing); cr->set_source_rgb(0, 0, 0); cr->show_text("cairo"); cr->restore(); } } int main (void) { Cairo::RefPtr surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, WIDTH, HEIGHT); Cairo::RefPtr cr = Cairo::Context::create(surface); draw(cr, WIDTH, HEIGHT); #ifdef CAIRO_HAS_PNG_FUNCTIONS const char* filename = "text-rotate.png"; surface->write_to_png(filename); std::cout << "Wrote file " << filename << std::endl; #else std::cout << "You must compile cairo with PNG support for this example to work" << std::endl; #endif } cairomm-1.10.0/examples/text/PaxHeaders.11012/user-font.cc0000644000175000017500000000005011561715437021277 xustar000000000000000020 atime=1304927613 20 ctime=1304927658 cairomm-1.10.0/examples/text/user-font.cc0000644000175000017500000001071111561715437021513 0ustar00murraycmurrayc00000000000000#include #include #include const double HEIGHT = 200.0; const double WIDTH = 400.0; const double FONT_SIZE = 64.0; const double TEXT_ORIGIN_Y = (HEIGHT / 2.0) + (FONT_SIZE / 2.0); const double TEXT_ORIGIN_X = 50.0; // arbitrary const double GLYPH_SPACING = 0.1; struct GlyphBounds { unsigned long glyph; double width; double height; }; // an array that stores the bounds of the glyphs that we're going to draw static const GlyphBounds glyphs[] = { { 'c', 0.45, 0.5 }, { 'a', 0.45, 0.5 }, { 'i', 0.2, 0.75 }, { 'r', 0.4, 0.5 }, { 'o', 0.44, 0.5 }, { 'm', 0.75, 0.5 }, { '!', 0.2, 0.75 } }; // A *very* simple font that just draws a box for every glyph class BoxFontFace : public Cairo::UserFontFace { public: // Derived user font classes should have a factory method to create an object // and return it with a RefPtr static Cairo::RefPtr create() { return Cairo::RefPtr(new BoxFontFace()); } virtual Cairo::ErrorStatus init(const Cairo::RefPtr& /*scaled_font*/, const Cairo::RefPtr& /*cr*/, Cairo::FontExtents &extents) { double max = 0; for (unsigned int i = 0; i < sizeof (glyphs) / sizeof (GlyphBounds); ++i) { if (glyphs[i].width > max) max = glyphs[i].width; } // add some spacing between characters max += GLYPH_SPACING; extents.max_x_advance = max; return CAIRO_STATUS_SUCCESS; } virtual Cairo::ErrorStatus unicode_to_glyph (const Cairo::RefPtr& /*scaled_font*/, unsigned long unicode, unsigned long& glyph) { glyph = 0; // yes this is a stupid an ineffienct way to do this but we only have a few // glyphs and this is just demonstration code for (unsigned int i = 0; i < sizeof (glyphs) / sizeof (GlyphBounds); ++i) { if (glyphs[i].glyph == unicode) { // glyph 0 is often a special glyph-not-found value, so offset it by 1 glyph = i+1; break; } } return CAIRO_STATUS_SUCCESS; } virtual Cairo::ErrorStatus render_glyph(const Cairo::RefPtr& /*scaled_font*/, unsigned long glyph, const Cairo::RefPtr& cr, Cairo::TextExtents& metrics) { // check that the glyph is in our table if (glyph >= 1 && glyph <= sizeof(glyphs)/sizeof(GlyphBounds)) { cr->set_line_width(0.05); // Need a negative Y value since the text origin is at the bottom left point // and cairo's positive Y axis is down and we want to draw up cr->rectangle(0.0, 0.0, glyphs[glyph-1].width, -glyphs[glyph-1].height); cr->stroke(); metrics.x_advance = glyphs[glyph-1].width + GLYPH_SPACING; } return CAIRO_STATUS_SUCCESS; } protected: // FontFace is a ref-counted object, so the constructor should be protected so // it is not created without a refptr to manage it. See the create() method BoxFontFace() : UserFontFace() { } }; int main(int, char**) { Cairo::RefPtr surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, WIDTH, HEIGHT); Cairo::RefPtr cr = Cairo::Context::create(surface); // fill background in white cr->set_source_rgb(1.0, 1.0, 1.0); cr->paint(); // draw a little dot at the point where text will be drawn cr->arc(TEXT_ORIGIN_X, TEXT_ORIGIN_Y, FONT_SIZE / 4.0, 0, 2*M_PI); cr->set_source_rgba(0.0, 1.0, 0.0, 0.5); cr->fill(); // draw the text cr->move_to(TEXT_ORIGIN_X, TEXT_ORIGIN_Y); cr->set_source_rgb(0.8, 0.2, 0.2); Cairo::RefPtr font = BoxFontFace::create(); cr->set_font_face(font); cr->set_font_size(FONT_SIZE); cr->show_text("cairomm!"); // Now show it with the toy text API to demonstrate how the glyphs match up cr->move_to(TEXT_ORIGIN_X, TEXT_ORIGIN_Y); cr->set_source_rgba(0.2, 0.2, 0.2, 0.3); Cairo::RefPtr toy_font = Cairo::ToyFontFace::create("Bitstream Charter", Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_BOLD); cr->set_font_face(toy_font); cr->set_font_size(FONT_SIZE); cr->show_text("cairomm!"); const char* filename = "user-font.png"; try { surface->write_to_png(filename); std::cout << "Wrote Image " << filename << std::endl; return 0; } catch (const std::exception& e) { std::cout << "** Unable to write Image " << filename << std::endl; return 1; } }