Irene, As of March 11 the case is still "waiting fast-track". Please update the IAM file.
Thanks, Lloyd On Feb 20, 2008, at 6:59 PM, Irene Huang wrote: > Closing as approved, since no further discussion after the update of > the spec. > > --Irene > Irene Huang wrote: >> Hi, all >> I am setting the new time out for this case to be Feb 20th, 2008, in >> order to get it in to Indiana (hopefully). >> >> Thanks >> --Irene On Wed, 2008-02-13 at 11:54 +0000, Ghee Teo wrote: >> >>> Hi, >>> >>> Attached is the updated version of ARC Fast Track materials. >>> >>> The following issues raised and discussed which are now summarized >>> as follow: >>> >>> (1) Not to deliver of g++ compiled libraries >>> This is now considered out of scope for this ARC fast-track due to >>> the many >>> issues raised over the brief period. If there is a need in the >>> future to provide >>> g++ compiled libraries this will be addressed in a subsequent case. >>> >>> (2) Libraries and .pc files are classified as Uncommitted instead >>> of Volatile >>> see updated interface exported table. >>> .pc is the recommended way to access include files and also >>> libraries by applications >>> in general for JDS. >>> >>> (3) Tools for generation of wrapper code are classified as >>> Consolidation Private >>> See updated interface table and rationale for so doing. >>> >>> I believe any other points raised are either have been resolved >>> during the threads >>> or included here above. Should I have missed any other point, feel >>> free to raise. >>> >>> Thanks, >>> >>> -Ghee >>> plain text document attachment >>> (gtkmm-LSARC-2008-074-revised-13Feb2008.txt) >>> 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 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. >>> >>> We propose to minimize the risk by first delivering a set of gtkmm, >>> glibmm, cairomm and sigc++ libraries which are built using Sun >>> Studio >>> compilers and in subsequent case to address the provision of g++ >>> compiled libraries that may address specific needs accordingly. >>> 4. Technical Description: >>> 4.1. Details: >>> libsigc++ provides the following Features: >>> >>> - Compile time typesafe callbacks (faster than run time >>> checks) >>> - Typesafe 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 segmentation 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. >>> To simplify the creation of C++ binding for gtkmm, glibmm >>> delivers tools >>> called gmmproc and generate_wrap_init.pl that can create wrapper >>> for other glib/GObject-based libraries. For example, gtkmm uses >>> this to generate most of its source code. The details on how to >>> do this is described in Reference [7]. >>> >>> >>> 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 >>> >>> libsigc-2.0.so Volatile See >>> Note 1. >>> libcairomm-1.0.so Uncommitted >>> libglibmm-2.4.so >>> Uncommitted >>> libatkmm-1.6.so Uncommitted >>> libgtkmm-2.4.so Uncommitted >>> libgdkmm-2.4.so Uncommitted >>> libpangomm-1.4.so Uncommitted >>> /usr/demo/jds/bin/gtkmm-demo Uncommitted >>> glibmm-2.4/proc/gmmproc Consolidation See >>> Note 2. >>> Private >>> glibmm-2.4/proc/generate_wrap_init.pl >>> Consolidation See Note 2. >>> Private >>> >>> /usr/lib/pkgconfig/atkmm-1.6.pc Uncommitted See >>> Note 3. >>> /usr/lib/pkgconfig/gtkmm-2.4.pc Uncommitted >>> /usr/lib/pkgconfig/pangomm-1.4.pc Uncommitted >>> /usr/lib/pkgconfig/cairomm-1.0.pc Uncommitted >>> /usr/lib/pkgconfig/sigc++-2.0.pc Uncommitted >>> /usr/lib/pkgconfig/glibmm-2.4.pc Uncommitted >>> >>> Note 1: We classified this as Volatile as we have little working >>> history with this particular community, thus a lack of >>> reasonable certainly how well will they keep the interface stable. >>> NOTE 2: Programs which used required by the upper stack, namely, >>> gtkmm >>> module to generate the C++ files based on some declarative >>> >>> language. Since its potential usage outside the stack is >>> minimum, hence the Private interface. >>> >>> Note 3: All the header file include path are included are >>> accessible by the *.pc files, hence making these Uncomiitted. >>> >>> >>> 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: >>> [1] gtkmm glibmm homepage http://www.gtkmm.org/ >>> [2] cairomm homepage - http://cairographics.org/cairomm >>> [3] cairomm download: http://cairographics.org/releases/ >>> [4] libsigc++ Homepage - http://libsigc.sourceforge.net >>> [5] libsigc++ Tutorial: >>> http://libsigc.sourceforge.net/libsigc2/docs/manual/html/ >>> [6] libsigc++ API Reference - >>> http://libsigc.sourceforge.net/libsigc2/docs/ >>> [7] Wrapping C Libraries with gmmproc: >>> http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/chapter-wrapping-c-libraries.html >>> >>> >> >> > --- Lloyd L Chambers lloyd.chambers at sun.com Sun Microsystems, Inc
