themes.

This is another long one and all I can say in my defense is that it will take
a heck of a lot less time to read than it did to write.

Still with me?  Using the defaults (and risking an unwanted install)... here
I go...

Running make configures for the 64-bit system I have (which I don't want
to compile for reasons that are my own -- I need a 32-bitter).
I'm doing this to find out whether the themes ever worked.  Maybe not.

In the themes directory, 'make' doesn't work because makedepends is
missing.  It never gets off the ground.  The error message that makedepends
is missing comes up several times during the 'make' process, and is just
one of them so... let's see if that's THE problem only A problem.

On the long shot that this is a typo, and it really wants makeinclude,
I create a softlink to makeinclude named makedepends which is wrong
but.. it's all for the sake of science.  ;-)

This is after the first attempt to make...

 make clean
 make

It seems fine.

But will it work with a fresh file set.  Deleting the whole thing
and starting from scratch.  makeinclude doesn't need to exist for
the softlink to exist.
 ln -sf makeinclude makedepends
 make

What's your guess.  Did it work?  Nope.

 === making src ===
 Makefile:223: makedepend: No such file or directory

 === making images ===
 Makefile:97: makedepend: No such file or directory

 === making OpenGL ===
 Makefile:90: makedepend: No such file or directory

 === making fluid ===
 Makefile:103: makedepend: No such file or directory

 === making glut ===
 Makefile:92: makedepend: No such file or directory

 === making test ===
 Makefile:217: makedepend: No such file or directory

There are other warnings about float to integer conversions in transform.cxx
which MIGHT cause new users to wonder, and which probably should be silenced
but certainly the makedepends noise should be turned off.

Now my question is, if I go ahead and install will the themes install too? Not likely, because they too had a missing makedepends and they don't show up in the above list. For some reason it appears that makedepends is critical for themes but optional
for the rest of the make-ed files.  (?)

Now I DON'T WANT ANY FLTK2 ANYWHERE IN MY GLOBAL
FOLDERS TREE because it will make it uncertain which versions are
linking into my apps as I mess with my 32-bitter version of this.  So I'm
going to hunt down all the /usr/local paths in all the files and change this
to my home folder/local and if it doesn't work, know this: I tried. Fair
enough? ;-)

config.h two hits.  Excellent.

/  I'm using my /home/fox folder, by the way.  Thought you might
enjoy knowing that. :-) (You don't get it? You win, FLTK. You *are* the greatest. Version 1 was even good enough to
 give 'em a run for the money because it was so easy to monkey
 with.)
/
config status also gets reused sometimes so I'd better fix the
appropriate paths in there (but not all need to change). And there
we got three hits including 'prefix'.

 grep '/usr/local' */*

Rats!!  Some of the binaries already have that set up in them but
really all we want to do is see if we can get it to compile.  But most
of the hits look non-critical, including fluid.cxx but I'll change the
fluid too.  Thats:

 fluid/fluid.cxx:    docdir = "/usr/local/share/doc/fltk";

Yes, it IS worth your time looking at all this junk...

You might want to use the path from the config file instead
of duplicating it verbatim because then this path could be
changed once in config.h and like the rest of your system,
it would be easy to change globally at once source file.
Example?  Your use of makeincludes is far more sensible than
the steaming pile generated by automake, for example.  Have any
idea how hard it is to hunt down this stuff in a automaked tree?

I'll try this myself later but something like this might work.

 docdir = FLTK_DOCDIR; // from config.h

It's already quoted in config.h so don't quote it again or it
will unquote the string.

I'll go down one more level looking for paths that I need
to change.

 grep '/usr/local' */*/*

There's some in the ide folder... no prob.  So here we
go again.

 make clean
 make

And now let's see if it's love or war...  Did the bum
prefix get back into the build somehow?

 make install

mkdir: cannot create directory `/usr/local/include/fltk': Permission denied

Who did that? libtool?  There is no libtool.

Ok... it's in makeinclude.  Fixing prefix... fixed...

 prefix    = /home/fox/local

...no offense... and

 make install

Ladies and gentlemen, place your bets.

 === installing src ===
 Installing include files in /home/fox/local/include/fltk...
Installing FLTK1.1 emulation include files in /home/fox/local/include/fltk...
 Installing fltk2-config in /home/fox/local/bin...
 Installing static core library in /home/fox/local/lib
 === installing images ===
 Installing static images library in /home/fox/local/lib
 === installing OpenGL ===
 Installing static OpenGL library in /home/fox/local/lib
 === installing fluid ===
 Installing FLUID2 in /home/fox/local/bin...
 === installing glut ===
 Installing static glut library in /home/fox/local/lib
 === installing test ===
 === installing documentation ===

Did the themes install?  (No they did not.)

In the themes folder trying make and make install again.

 Makefile:112: makedepend: No such file or directory

And that's apparently that.  This was a fresh set of
files.

Ok, ok.  I'm not quite ready to give up yet.

On the commandline 'make depends' generates the usual errors
due to obsolete names and missing files.  (See my post on code
migration tools... but it's scary.)

make depend
 KDE_colors.cxx:33:21: error: fltk/Fl.h: No such file or directory
 KDE_colors.cxx:34:27: error: fltk/fl_theme.h: No such file or directory
 xft.cxx:26:21: error: fltk/Fl.h: No such file or directory
 xft.cxx:27:27: error: fltk/fl_theme.h: No such file or directory


Fl.h can be replaced by fltk/run.h but there is no file named *theme*
in the entire tree other than a cxx file.  :-(

And in case you think that's any help...

 extern "C" bool fltk_theme() {return false; /* true? */}

*******************************************

Take it or leave it.  I got what I needed from this
experiment.  Hope you did too.

I'll try hacking this again in a bit, but this is a tough one because
we have no idea what was supposed to be in themes.h and
the temptation is to create yet another customized highly
ideosyncratic variation that will only break the core system
if it's ever accidentally included in your releases.

And so it ends for this round.


_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to