[poppler] Poppler glibmm bindings

Albert Astals Cid aacid at kde.org
Wed Oct 17 10:56:30 PDT 2012


El Dimarts, 16 d'octubre de 2012, a les 18:03:59, Glenn Rice va escriure:
> 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.  

Right, but compiling is also slow, that's why make only generates the .o files 
when the .cpp file changes, but that doesn't mean we put the .o files in the 
repo, no?

> 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? 

To be honest i don't know, never did any project creation in freedesktop.org.

Cheers,
  Albert

> 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
> 
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler


More information about the poppler mailing list