Including lsarc-ext since this case is open. Thanks
--Irene Shi-Ying Irene Huang wrote: > Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI > This information is Copyright 2008 Sun Microsystems > > 1. Introduction > 1.1. Project/Component Working Name: sigcpp, glibmm, cairomm, and gtkmm > > 1.2. Name of Document Author/Supplier: Ghee Teo, Chris Wang, Elaine Xiong, > Simon Zheng > > 1.3. Date of This Document: 01/30/08 > > 1.5. Email Aliases: > 1.5.1. Responsible Manager: leo.binchy at sun.com > 1.5.2. Responsible Engineer:ghee.teo at sun.com, > chris.wang at sun.com, > elaine.xiong at sun.com, > simon.zheng at sun.com > > 2. Project Summary > 2.1. Project Description: > libsigc++ implements a typesafe callback system for use in widget > libraries, > abstract interfaces, and general programming. It allows users to > define > signals and to connect those signals to any callback function, either > global > or a member function, regardless of whether it is static or virtual. > It contains adaptor classes for connecting dissimilar callbacks and > has an ease > of use unmatched by other C++ callback libraries. > > cairomm is a C++ wrapper for the cairo graphics library. It offers all > the power > of cairo with an interface familiar to C++ developers, including use of > the > Standard Template Library where it makes sense. Even though cairomm can > be used > on its own, it is often used together with the higher level toolkit C++ > wrapper, gtkmm. > > glibmm is a set of C++ bindings for Glib2 Library, including > cross-platform > APIs such as a std::string-like UTF8 string class, string utility > methods, such as a text encoding converter API, file access, and > threads. > > gtkmm is the official C++ interface for the popular GUI library GTK+. > Highlights include typesafe callbacks, and a comprehensive set of > widgets > that are easily extensible via inheritance. You can create user > interfaces either in > code or with the Glade User Interface designer, using libglademm. > There's > extensive documentation, including API reference and a tutorial. > > > > 2.2. Risks and Assumptions: > gtkmm and glibmm follow the official GNOME Platform Bindings release > schedule. This guarantees > API/ABI-stability and new releases on a predictable schedule, > delivering C++ API for > the underlying GTK+ and GNOME APIs as soon as possible. > > The problem we need deal with is that of the different C++ ABIs of Sun > Studio CC and > GNU g++. Now that Sun Studio is available as a free download it's not > such a big problem, > but there are modules that won't build with Sun Studio. However Sun > Studio C++ has maintained > a stable C++ ABI for over a decade. Considering the g++ compiler in > Solaris can't build > any 64-bit binaries that are actually usable, we only deliver these > packages build with > Sun Studio. For those modules that won't build with Sun Studio, It is > maintainer's > responsibility to fix the build problems. > > 4. Technical Description: > 4.1. Details: > libsigc++ provides the following Features: > > - Compile time typesafe callbacks (faster than run time checks) > - Typesafety violations report line number correctly with template > names > (no tracing template failures into headers) > - No compiler extensions or meta compilers required > - Proper handling of dynamic objects and signals (deleted objects > will not cause seg faults) > - Extendable API at any level: signal, slot, connection and trackable > - Extensions do not require alteration of basic components > - User definable accumulators > - A variety of adaptors to change the callback signature: bind, > hide, retype, > compose and lambda call groups > - Various compilers and platforms are supported: gcc, cygwin, > mingw32, MS .NET 2003, > Sun Forte C++, Compaq C++, Intel C++, IBM AIX, Tru64, IRIX MipsPro. > > cairomm is part of the gtkmm (gtk--) framework to allow developers to > make full use > of the capabilities of Object Oriented Programming language features as > in C++. > > Cairo is a graphics description and rendering library. Cairomm > provides classes > that allow the cairo API to be accessed in an Object Oriented > constructs. Cairo allow graphics > to be created programmatical in its own language and the be rendered > onto surfaces of specific > target file formats, such as PostScript,PDF and so on. > Current supported rendering surfaces are: > - Image Surface (memory buffers) > - PDF Surface > - PostScript Surface > - SVG Surface > - Xlib Surface (X11 based systems) > - Win32 Surface (Windows) > - Quartz Surface (MacOS) > - Glitz (OpenGL-accelerated, experimental not fully supported) > > These surfaces can then be augmented with the upper layer of libraries > like that of gtkmm > to create GUI application. > > glibmm develivers a tool called gmmproc that can create gtkmm-style > wrapper of > glib/GObject-based libraries. For example, gtkmm uses this to generate > most of > its source code, using .defs files that describe the API of C > libraries in a lisp format > > gtkmm provides the following Features: > - Use inheritance to derive custom widgets. > - Type-safe signal handlers, in standard C++. > - Polymorphism. > - Use of Standard C++ Library, including strings, containers, and > iterators. > - Full internationalisation with UTF8. > - Complete C++ memory management > - Object composition > - Automatic deallocation of dynamically allocated widgets. > - Full use of C++ namespaces. > - No macros. > - Cross-platform: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris > (gcc, Forte), > Win32 (gcc, MSVC++ .Net 2003), MacOS X (gcc), others > Free software and free of cost for both Open Source and > proprietary development. > - Discussed, designed and implemented in public. > > > 4.5. Interfaces: > > Exported Interfaces > Interface Stability > Comments > --------------------- ---------------- > ---------------------- > SUNWsigcpp Uncommitted > Package names > SUNWsigcpp-devel Uncommitted > SUNWcairomm Uncommitted > SUNWcairomm-devel Uncommitted > SUNWglibmm Uncommitted > SUNWglibmm-devel Uncommitted > SUNWgtkmm Uncommitted > SUNWgtkmm-devel Uncommitted > > /usr/lib/libsigc-2.0.so Volatile > /usr/lib/libcairomm-1.0.so Volatile > /usr/lib/libglibmm-2.4.so Volatile > > /usr/lib/libglibmm_generate_extra_defs-2.4.so Volatile > /usr/lib/glibmm-2.4/proc/gmmproc Volatile > /usr/liblibatkmm-1.6.so Volatile > /usr/lib/libgtkmm-2.4.so Volatile > /usr/lib/libgdkmm-2.4.so Volatile > /usr/lib/libpangomm-1.4.so Volatile > /usr/lib/glibmm-2.4/include/glibmmconfig.h Volatile > > /usr/lib/sigc++-2.0/include/sigc++config.h Volatile > > /usr/include/sigc++-2.0 Volatile > Directory for hearder files > /usr/include/cairomm-1.0 Volatile > Directory for header files > /usr/include/glibmm-2.4/glibmm Volatile > Header files directory > /usr/include/glibmm-2.4/glibmm_generate_extra_defs Volatile > Header files directory > /usr/include/atkmm-1.6 Volatile > Directory for atkmm headfiles > /usr/include/gtkmm-2.4 Volatile > Directory for pangomm headfiles > /usr/include/pangomm-1.4 Volatile > Directory for gdkmm headfiles > /usr/demo/jds/bin/gtkmm-demo Volatile > > /usr/lib/pkgconfig/atkmm-1.6.pc Volatile > /usr/lib/pkgconfig/gtkmm-2.4.pc Volatile > /usr/lib/pkgconfig/pangomm-1.4.pc Volatile > /usr/lib/pkgconfig/cairomm-1.0.pc Volatile > /usr/lib/pkgconfig/sigc++-2.0.pc Volatile > /usr/lib/pkgconfig/glibmm-2.4.pc Volatile > > Imported Interfaces > Interface Stability Comments > --------------------- ---------------- > ---------------------- > > GNOME Committed Platform Libraries Committed LSARC/2007/520 > > GNOME 2.20 > GTK+ library > > 4.9. I18N/L10N Impact: > The JDS team and the G11N are working together to evaluation and > provide I18N/L10N support > > 4.10. Packaging & Delivery: > The project will be delivering the following packages: > SUNWgtkmm > SUNWgtkmm-devel > SUNWglibmm > SUNWglibmm-devel > SUNWcairomm > SUNWcairomm-devel > SUNWsigcpp > SUNWsigcpp-devel > > > 5. Reference Documents: > gtkmm glibmm homepage http://www.gtkmm.org/ > cairomm homepage - http://cairographics.org/cairomm > cairomm download: http://cairographics.org/releases/ > libsigc++ Homepage - http://libsigc.sourceforge.net > libsigc++ Tutorial - > http://libsigc.sourceforge.net/libsigc2/docs/manual/html/ > libsigc++ API Reference - http://libsigc.sourceforge.net/libsigc2/docs/ > > > 6. Resources and Schedule > 6.4. Steering Committee requested information > 6.4.1. Consolidation C-team Name: > JDS > 6.5. ARC review type: FastTrack > 6.6. ARC Exposure: open > >
