Re: Code migration.



On Sat, Jul 08, 2006 at 09:46:18PM -0700, William D. Tallman wrote:
> 
> I'm running Slackware-10.0 and have gtk+-1.2.10 and gtk+-2.4.0 as part
> of the distro.  I'm aware that 2.4.0 is now obsolete, but I guess I
> would like to know just how bad could it be?

It depends.  If you just want to make minimal changes to
make it work with Gtk+ 2.x somehow, 2.4 is enough.  If you
want to modernize the code I would recommend at least 2.6
which added lots of useful modern concepts and features.  The
current version is 2.10 -- however it was released less than
a week ago so I would not make it a requirement now (and
when it will start to be an acceptable requirement, well,
opinions on that differ by several years).  Gtk+ 2.8 added
Cairo but otherwise the API saw only minor additions that
may not overweight compatibility with 2.6.

> What I did was copy the code to a new directory, and replace the
> `gtk-config ...` with `pkg-config ... gtk-2.0` in the Makefile.  That
> works well enough to produce a rolling screen of problems before it
> bails out.  The contents of the "rolling screen" start off with the
> observation that certain gdk-pixpuf header files could not be found,
> which I discovered existed but were '.hx' rather than '.h'.  Renaming
> the files to '.h' got rid of that observation, but there issued a long
> list of complaints about a function that was poorly coded, or something.

There are no files with .hx extension in gtk+2-2.4.3-i486-1.tgz.
So they must belong to something else.  The set of headers
has changed from the old gdk-pixbuf, so if some don't exist
then they just don't exist.  The stuff can be elsewhere or
it works differently now.

> 1.  Code written for Gtk+-1.2 will, or will not, compile and run
> correctly under Gtk-2.0.  y/n.

Neither.  Both.  Very simple or specifically written apps
can -- for example most Gtk+ 1.2 tutorial sample programs
do, although they use more deprecated functions than
non-deprecated.  But complex apps won't.

See also

  http://developer.gnome.org/doc/API/2.0/gtk/gtk-changes-2-0.html

and the other migration guides nearby.

> 2.  Gtk+-2.4.0 is, or is not, usable for development.  y/n.

See above.  Usable -- can be, suitable -- hardly.

> 3.  Should I have to redefine a shell variable in order to get the 2.0
> version to work?  y/n.  Running 'pkg-config' a la the tutorial gave me
> what seemed to be a reasonable list of libraries, etc.

No, use autoconf and PKG_CHECK_MODULES (I don't actually
understand what you mean by `redefine a shell variable' but
I doubt understanding would change the answer).

> Absent any sort of assistance on my questions about Gtk+-1.2, I fear
> I'll have to migrate this code in any case, whatever it takes.  I
> intended to do that eventually, but would have preferred to produce both
> versions, starting with 1.2.  In that regard, can someone steer me to a
> venue where I can get questions about 1.2 answered?

Maybe here, try to ask a question instead of asking whether
a question would be answered if it was asked.  IMO coding
an app to work with both 1.2 and 2.x is a waste of time, if
you want to go the least common denominator way, use
something like wxWidgets.

Yeti


--
Anonyms eat their boogers.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]