[poppler] Poppler glibmm bindings

Glenn Rice glennricster at gmail.com
Tue Oct 16 16:03:59 PDT 2012


I think the rational is that those files are generated by gmmproc, and gmmproc is not 
invoked in every build cycle.  It is only called when the ccg and hg files are modified.  
I think the reason it is not called every time is because it is rather slow.  It generates 
the c++ code as well as all of the documentation.  It seems that it should be possible to 
set things up so that it is called when needed c++ files are missing though.  I have a 
local repository for the library and initially attempted to omit those files, but had 
problems with it.  I didn't investigate what it would take to change the build system though.

If you would rather have the glibmm bindings in a separate repository, I am fine with 
that.  What would I need to do if I wanted to host it on freedesktop.org?
Glenn

On 10/16/2012 05:55 PM, Albert Astals Cid wrote:
> El Dimarts, 16 d'octubre de 2012, a les 17:40:30, Glenn Rice va escriure:
>> The standard practice for glib based libraries wrapped in this manner is to
>> include those files in the repo.
> Interesting, does anyone what's the rationale behind that?
>
>> However, it may be possible to modify the build system to generate them
> every time.
>
> To be honest, at the moment i'm leaning towards a separate repo might be a
> better idea for poppler-glibmm, i was thinking it'd be something like 2 files
> not something like 40.
>
> Anyone has any opinion? Carlos?
>
> Cheers,
>    Albert
>
>> Glenn
>>
>> On 10/16/2012 05:35 PM, Albert Astals Cid wrote:
>>> El Dimarts, 16 d'octubre de 2012, a les 17:18:55, Glenn Rice va escriure:
>>>> There is some stuff included in that tarball that would not need to be in
>>>> the repo.  The entire doc/reference/html directory should be removed.
>>>> Also
>>>> all of the files in the build directory should be removed.  Of course
>>>> there
>>>> are some obvious things that would not be needed in the repository like
>>>> any
>>>> Makefile.in file, the configure script, and the aclocal.m4 file.  The
>>>> tarball I sent was generated by "make distcheck."  It would be possible
>>>> to
>>>> not include most of the *.cc and *.h files in poppler-glib/poppler-glibmm
>>>> (those generated from the *.ccg and *.hg files in poppler-glib/src), but
>>>> it
>>>> would be best to include those as they are only generated when the
>>>> corresponding *.ccg and *.hg files are changed.
>>> Hmmm, in my opinion including autogenerated stuff in the repo is asking
>>> for
>>> problems, couldn't we just tell the make process to generate them as the
>>> rest of autogenerated files are (e.g. moc files in the qt4 frontend)?
>>>
>>> Cheers,
>>>
>>>     Albert
>>>> Glenn
>>>>
>>>> On 10/16/2012 03:35 PM, Albert Astals Cid wrote:
>>>>> El Dimarts, 16 d'octubre de 2012, a les 15:11:34, Glenn Rice va
> escriure:
>>>>>> Although it is not generated from the gir files, for the most part all
>>>>>> you have to do is tell gmmproc what to name the c++ classes and
>>>>>> methods,
>>>>>> and which c objects and methods they are derived from.  Then the actual
>>>>>> c++ code is generated.  There were not many cases that needed hand
>>>>>> coding. The hardest part was converting your poppler-glib demo to use
>>>>>> gtkmm and my poppler-glibmm library.  Of course there is no automatic
>>>>>> way to do that.
>>>>>>
>>>>>> As I understand it there is some work by the gtkmm devs to do some of
>>>>>> the conversion work from the gir files, but I think that is to replace
>>>>>> the clumsy defs file generation that is currently used. Not to replace
>>>>>> the hg and ccg file creation, from which files the actual code is
>>>>>> generated.
>>>>>>
>>>>>> In any case, I have attached a tarball of the code.
>>>>> Wow there's lots of stuff in there, what parts are autogenerated? I.e.
>>>>> would we need all those files in the repo? or just parts?
>>>>>
>>>>> Cheers,
>>>>>
>>>>>      Albert
>>>>>> Glenn
>>>>>>
>>>>>> On 10/16/2012 01:58 PM, Albert Astals Cid wrote:
>>>>>>> El Dimarts, 16 d'octubre de 2012, a les 13:50:07, Glenn Rice va
>>> escriure:
>>>>>>>> The library is not automatically generated from the gir files.
>>>>>>> Sad :-/
>>>>>>>
>>>>>>>> It uses
>>>>>>>> the standard method that glib libraries are wrapped via gmmproc.
>>>>>>>> There
>>>>>>>> is some maintenance involved as with any library, but generally not
>>>>>>>> that
>>>>>>>> much. gmmproc uses macros that automate the wrapping of most things.
>>>>>>>> There are some things that the macros don't properly handle and so
>>>>>>>> they
>>>>>>>> have to be hand coded.
>>>>>>> Oh :-(
>>>>>>>
>>>>>>>> I am willing to maintain it, and will make it
>>>>>>>> available somewhere else if you are not interested.  I could attach a
>>>>>>>> tarball of the source if you want to take a look.
>>>>>>> Well, let's see how much code and let's see if someone mentions they
>>>>>>> are
>>>>>>> interested in the feature. I am not pro nor against it at the moment.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>>       Albert
>>>>>>>> Glenn
>>>>>>>>
>>>>>>>> On 10/16/2012 12:43 PM, Albert Astals Cid wrote:
>>>>>>>>> El Dimarts, 16 d'octubre de 2012, a les 08:17:44, Glenn Rice va
>>>>> escriure:
>>>>>>>>>> I have created a library that wraps the poppler-glib library using
>>>>>>>>>> glibmm/gtkmm's gmmproc.  I don't know if you are interested in
>>>>>>>>>> this.
>>>>>>>>>> I
>>>>>>>>>> am
>>>>>>>>>> not sure where to make this available to the public.  It would be
>>>>>>>>>> somewhat
>>>>>>>>>> nice to have it at freedesktop.org so that it is together with
>>>>>>>>>> poppler.
>>>>>>>>>> If
>>>>>>>>>> you are interested it could even be integrated in with the rest of
>>>>>>>>>> poppler.
>>>>>>>>>>
>>>>>>>>>>       I would even be willing to pass the code off to you.  I did
>>>>>>>>>>       this
>>>>>>>>>>       for
>>>>>>>>>>
>>>>>>>>>> purely educational purposes of my own.  Although it would be nice
>>>>>>>>>> to
>>>>>>>>>> share
>>>>>>>>>> the result.
>>>>>>>>>>
>>>>>>>>>> If you are not interested I will probably make it available via
>>>>>>>>>> SourceForge.>>
>>>>>>>>>>
>>>>>>>>>>       If you would like to take a look at what I have that would be
>>>>>>>>>>       great
>>>>>>>>>>       too.
>>>>>>>>> How much code is it? And more importantly, how much maintaince it
>>>>>>>>> needs?
>>>>>>>>> Is it automagically generated from the gir thing?
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>>
>>>>>>>>>        Albert
>>>>>>>>>> Glenn Rice
>>>>>>>>>> _______________________________________________
>>>>>>>>>> poppler mailing list
>>>>>>>>>> poppler at lists.freedesktop.org
>>>>>>>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>>>>>>>> _______________________________________________
>>>>>>>>> poppler mailing list
>>>>>>>>> poppler at lists.freedesktop.org
>>>>>>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>>>>>> _______________________________________________
>>>>>>> poppler mailing list
>>>>>>> poppler at lists.freedesktop.org
>>>>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>>>> _______________________________________________
>>>>> poppler mailing list
>>>>> poppler at lists.freedesktop.org
>>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>>> _______________________________________________
>>>> poppler mailing list
>>>> poppler at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>> _______________________________________________
>>> poppler mailing list
>>> poppler at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>> _______________________________________________
>> poppler mailing list
>> poppler at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/poppler
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler



More information about the poppler mailing list