nanogui: Thread: config files -> config.h


[<<] [<] Page 1 of 1 [>] [>>]
Subject: config files -> config.h
From: Alexander Neundorf ####@####.####
Date: 28 May 2005 09:50:20 +0100
Message-Id: <200505281050.18030.neundorf@kde.org>

Hi,

the nanox configuration is controlled by the "config" files which are used by 
the makefiles.

Now this works as long as microwindows is built using these makefiles. This 
isn't the case for microwindows under eCos, eCos has its own sophisticated 
build system. There all the HAVE_FILEIO etc. flags have to be specified in 
the ecos config tool.

IMO it would be easier if there was a config.h which would contain all the 
settings and which would be included in the source files. 

There are also some settings right now already in the source files:
HAVE_MMAP (device.h, devimage.c)
USE_ALLOCA (device.h)
HAVEFLOAT (device.h, devarc.c, devpoly.c)
USE_FLOAT (devpoly.c)
HIGHPRECISION (devarc.c)

and probably more.

What do you think ?
The downside would be that the makefile doesn't know about enabled/disabled 
features and so all files would have to be compiled.
The sources could look like
#include "config.h"
#if HAVE_FEATURE
... all the sources of the file
#endif

Bye
Alex
-- 
Work: ####@####.#### - http://www.jenoptik-los.de
Home: ####@####.####                - http://www.kde.org
      ####@####.####               - http://www.neundorf.net
Subject: Re: [nanogui] config files -> config.h
From: Alain Volmat ####@####.####
Date: 28 May 2005 10:23:30 +0100
Message-Id: <20050528092321.GE28707@pop.mail.yahoo.com>

I don't know much about the eCos build system, but if big changes have to be
made to the build process of nanoX, I would prefer having some kconfig like
system. Maybe we could base nanoX build system on Erik Andersen's projects
(busybox, uclibc, buildroot) since they are a bit smaller than the linux
kernel. Said very simply, it allows to edit the config file (then avoid
compiling everything) and the configuration is converted into an include file
(like include/autoconf.h in the linux kernel) which allows to automatically
have access to the configuration from the source file too.

This point has been discussed a bit last month on the ML. We also have to
take care of other platform (borland and co) ...


* Alexander Neundorf [Sat, 28 May 2005 at 10:50 +0200]
<quote>
> Hi,
> 
> the nanox configuration is controlled by the "config" files which are used by 
> the makefiles.
> 
> Now this works as long as microwindows is built using these makefiles. This 
> isn't the case for microwindows under eCos, eCos has its own sophisticated 
> build system. There all the HAVE_FILEIO etc. flags have to be specified in 
> the ecos config tool.
> 
> IMO it would be easier if there was a config.h which would contain all the 
> settings and which would be included in the source files. 
> 
> There are also some settings right now already in the source files:
> HAVE_MMAP (device.h, devimage.c)
> USE_ALLOCA (device.h)
> HAVEFLOAT (device.h, devarc.c, devpoly.c)
> USE_FLOAT (devpoly.c)
> HIGHPRECISION (devarc.c)
> 
> and probably more.
> 
> What do you think ?
> The downside would be that the makefile doesn't know about enabled/disabled 
> features and so all files would have to be compiled.
> The sources could look like
> #include "config.h"
> #if HAVE_FEATURE
> ... all the sources of the file
> #endif
> 
> Bye
> Alex
> -- 
> Work: ####@####.#### - http://www.jenoptik-los.de
> Home: ####@####.####                - http://www.kde.org
>       ####@####.####               - http://www.neundorf.net
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ####@####.####
> For additional commands, e-mail: ####@####.####
> 
</quote>

	

	
		
_____________________________________________________________________________ 
Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos ! 
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com
Subject: Re: [nanogui] config files -> config.h
From: Jachym Holecek ####@####.####
Date: 28 May 2005 17:31:20 +0100
Message-Id: <20050528163114.GC17914@merlot.ics.muni.cz>

Hello,

> IMO it would be easier if there was a config.h which would contain all the 
> settings and which would be included in the source files. 
> 
> There are also some settings right now already in the source files:
> HAVE_MMAP (device.h, devimage.c)
> USE_ALLOCA (device.h)
> HAVEFLOAT (device.h, devarc.c, devpoly.c)
> USE_FLOAT (devpoly.c)
> HIGHPRECISION (devarc.c)
> 
> and probably more.
> 
> What do you think ?

FWIW I don't like this. Either teach eCos how to build Nano-X properly,
or have an alternate eCosified build framework in Nano-X tree -- no need
to change the default one that works well for the rest of the world.

	Regards,
		-- Jachym Holecek
Subject: Re: [nanogui] config files -> config.h
From: "Greg Haerr" ####@####.####
Date: 7 Jun 2005 05:58:11 +0100
Message-Id: <213801c56b14$9f8022e0$6401a8c0@winXP>

: There are also some settings right now already in the source files:
: HAVE_MMAP (device.h, devimage.c)
: USE_ALLOCA (device.h)
: HAVEFLOAT (device.h, devarc.c, devpoly.c)
: USE_FLOAT (devpoly.c)
: HIGHPRECISION (devarc.c)

Sorry I'm taking so long in responding to posts.
The original idea was to have all changeable limits and
environment-defined options set in include/device.h.
I agree that HAVE_, USE_, and HAVE* settings could
be made more similar, as suggested in your devpoly.c patch.

However, the original intent of the microwindows distribution was
to keep the system very simple, including the make system, which
would allow 1) ease of understanding the whole system, 2) widespread
use on a variety of OS's and make systems.  Because of this, I've
tried to shy away from sophisticated make systems that need extra
or non-existent tools to complete.  Having said this, device.h is
included in almost every file, and fills the purpose of your config.h
idea.  Device.h is for private internal definitions only.

After patching most of the 0.92 patches, we should probably
go ahead and orthogonalize the #define names.

Regards,

Greg


[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.