nanogui: Pending patches/bug/requests ... list available on the FTP
Subject:
Re: [nanogui] Pending patches/bug/requests ... list available on
the FTP
From:
Jordan Crouse ####@####.####
Date:
8 Jun 2005 06:14:22 +0100
Message-Id: <42A67EC4.5070500@cosmicpenguin.net>
> : What I propose is not to necessarily
> : remove per-driver defines, but rather to have the driver table
> : generated at compile time depending of what drivers did the user
> : actually include in the build.
>
> Is this in order to keep the executable file size down?
>
> If so, far easier is just to do this the same way everything
> else is done in Microwindows - set a config option,
> and then the options are included using the existing
> make system's method of creating a cc -D option
> that is picked up using #if in the source code. Why
> do the drivers differently than everything else?
I am of two minds on this issue.
One one hand, I hate introducing new complexity in the form of host
tools, especially when they re-invent functionality in previously
existing tools. These are compile time decisions, they should be made
by the compile tools (make and gcc) both of which are perfectly capable
of constructing the driver table in code every bit as small as a
automatically generated C file. If the need is great enough, then I
certainly think we should think about using scripts and existing tools
such as sed and awk, if for no other reason then they are well
understood and long standing entities.
But on the other hand, I don't know how well the -D option will scale
over time as new drivers are added; I'm particularly concerned about
newer developers dealing with complex make scripts and adding driver
defines in multiple places. Under these circumstances, one may think to
write some sort of script that constructs a header file full of #define
statements, but by then, we're just re-implementing the already autoconf
/ kconfig functionality.
I guess if you put a gun to my head, I would tend to agree with Greg -
host tools scare me to a great enough degree to avoid using them when
ever possible. But if we're victims of our own success, and somewhere
down the line we're dealing with 15 different video drivers, then I
guess we're going to end up re-architecting the whole thing again.
Jordan