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




Reply via email to