Mariano Alvarez Fernandez wrote:
Frank Heckenbach escribió:
Then, I tried to build GRX on Sparc/Solaris. Besides having to set -lsocket as noted, there were a few more problems:
- Building shared libs failed. This might be a local installation problem since I've had some problems with shared libs there before, but it might also be a matter of compiler/linker options (ISTR that the options required very from system to system, that's why libtool was invented, but I don't know much about libtool myself). For now, I just disabled shared libs by editing the makefiles, but I think this should be possible via makedefs settings (or is it possible, how?).
Not at this time, note that makefiles are valid/tested only for the four supported platforms. For the (few) people interested in compile GRX in other platforms the changes they must to do to makefiles are easy.
Then you may want to change your web site which says: "On X11, it must work on any X11R5 (or later) system."
Of course, I'd consider this a bad choice, since it doesn't seem to take much to make it portable to non-Linux X11 systems.
- The install target(s) should created the directories (e.g. include, lib, info) before trying to write into them. This is particularly necessary when installing in a temp dir in order to build a binary distribution. (I didn't make a patch for that yet.)
I'm not sure if we must do it.
If you don't, then install will copy, say, grx.h to a file called include instead of a file grx.h in a (non-existing) directory include.
- /etc/infodir seems to be hard-coded in the makefile. That's bad! (Not everyone is root. ;-) I strongly suggest this directory to be configurable, and to make the whole install-info stuff optional
Ok, but people who use the install target are suposed to be root anyway.
IMHO a very unfortunate attitude, also known as "Linux arrogance". There are actually Unix systems where not every user is or can become root (like, e.g., me on our university's machines), and they might want to install things in their home directory (which works with GRX except for the hard-coded /etc in one place).
Besides, as I said, one might want to build a binary distribution ...
(or get rid of it at all -- something like @dircategory and @direntry in the texi file might be better, since it allows the system tools which (re)build the info directory to recognize it).
Sorry, I don't know well TexInfo to understand this.
Something like the following:
@dircategory Libraries @direntry * GRX: (grx). The GRX Graphics Library. @end direntry
Another idea: How about a configure script for GRX? It could just make a copy or link of the respective makefile.foo to Makefile and set some options in makedefs from the command line. This way, it would be purely optional (i.e., the current way of building GRX would still work, but those who prefer ./configure && make (like me) could do that then).
If you don't reject the idea, I could probably write such a little script (only for X11, svgalib and perhaps DJGPP -- but I guess users on other platforms wouldn't expect to run configure, anyway (or mingw, maybe?).
I don't like it. Stock DJGPP an Mingw users don't install "sh" and I like the simplicity of makefiles instead of configure scripts.
That's why I said it would be optional.
But I think we can only agree to disagree ...
Frank