C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

standardized unified build system for C++

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated)
View previous topic :: View next topic  
Author Message
Guest






PostPosted: Fri May 12, 2006 12:21 pm    Post subject: standardized unified build system for C++ Reply with quote



Hi,

are there any effords in the C++ community to create an unified
standardized build system ?
I know there are a lot build systems available, like GNU build tools,
boost build system, cmake...,
but wouldn't it be a good idea to harmonize them (I know a nearly
impossible task) ?

I know, this is not a language question, but where to ask such a
question otherwise ?

Thomas


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
kanze
Guest





PostPosted: Sat May 13, 2006 11:21 am    Post subject: Re: standardized unified build system for C++ Reply with quote



thomas.porschberg@osp-dd.de wrote:

Quote:
are there any effords in the C++ community to create an unified
standardized build system ?

Not that I know of. I rather question whether such a thing
would be even possible: take a look at the options g++ offers,
and see how many change from one platform to the next.

Quote:
I know there are a lot build systems available, like GNU build
tools, boost build system, cmake..., but wouldn't it be a good
idea to harmonize them (I know a nearly impossible task) ?

The problem is that the vendors what to offer the best, most
flexible product possible. So they need special options for any
number of different reasons.

It's possible to wrap a large amount of this, so that, once the
environment has been ported, the rest is pretty portable. Boost
does this, and I know of three or four others -- including at
least two (mine and one other) which use nothing more fancy that
GNU make. (My experience is that writing a portable makefile is
even more difficult than writing portable C++. GNU make is
available pretty much everywhere, and is easy to install. Which
solves that problem.)

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
Jorgen Grahn
Guest





PostPosted: Tue May 23, 2006 11:21 am    Post subject: Re: standardized unified build system for C++ Reply with quote



On 13 May 2006 07:07:22 -0400, kanze <kanze@gabi-soft.fr> wrote:
Quote:
thomas.porschberg@osp-dd.de wrote:

are there any effords in the C++ community to create an unified
standardized build system ?

Not that I know of. I rather question whether such a thing
would be even possible: take a look at the options g++ offers,
and see how many change from one platform to the next.

Or if people would want one. C++ is (in my experience) like C, in that
people treat it as inferior to the platform. The platform, not the
programming language or even the compiler, dictates the build environment.

And besides, such a build system would also have to be able to build things
like documentation, C programs, Python programs ...

Quote:
I know there are a lot build systems available, like GNU build
tools, boost build system, cmake..., but wouldn't it be a good
idea to harmonize them (I know a nearly impossible task) ?

Harmony between different C++ environments would, IMHO, mean disharmony
(dissonance?) between different languages in one environment. I always work
in Unix, but not always with C++, so C++-internal harmony is less important
to me. This isn't Java, after all ;-)

/Jorgen

--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.dyndns.org> R'lyeh wgah'nagl fhtagn!

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
Bob Hairgrove
Guest





PostPosted: Sat Jun 03, 2006 3:47 am    Post subject: Re: standardized unified build system for C++ Reply with quote

On 29 May 2006 09:58:39 -0400, thomas.porschberg@osp-dd.de wrote:

Quote:

Jorgen Grahn schrieb:

On 13 May 2006 07:07:22 -0400, kanze <kanze@gabi-soft.fr> wrote:
thomas.porschberg@osp-dd.de wrote:

are there any effords in the C++ community to create an unified
standardized build system ?

Not that I know of. I rather question whether such a thing
would be even possible: take a look at the options g++ offers,
and see how many change from one platform to the next.

Or if people would want one. C++ is (in my experience) like C, in that
people treat it as inferior to the platform. The platform, not the
programming language or even the compiler, dictates the build environment.

It's a pity. E.g. there is a lot of C++ (open source) software
developed
at Linux or say *n*x with autoconf/automake as build system which can
be also compiled
at windows. However, on windows for the same source code another build
system
is used quite often. This means developer have to maintain two build
systems which costs
time.
As long as the standard library is relatively small (please do not
misunderstand, STL is
ingenious) external libraries are important and should be easy to
integrate.

Obviously, the STL is the least of one's worries here. At least THAT
is platform-independent, which is the only reason it can be supported
by different build systems at all.

But I'm not sure exactly what you mean by "build system". If you are
only interested in having a make file which would work on either Linux
or Windows, for example, there are already different versions of the
"make" program for both platforms which understand more or less the
same syntax. And it works because make is just a shell which calls
other external programs. Of course, there are also those major players
who insist on having their own versions of make...but you don't have
to use them if you don't want to. There are alternatives.

For a fine example of cross-platform development -- as long as you
mention the STL --, look at the STLport distribution and how the
IOStream libraries are built on all the different systems supported
there, and think about why they are different and what parts the
different make files have in common. It is an education in
cross-platform development all by itself!

Once you have done that, you will realize that there are many other
things besides external libraries, beginning with lowly project
#defines and (perhaps) ending with things such as highly
platform-dependent resource files which mean that you will always need
separate build systems for each platform. Also, the #include files
will vary greatly depending on your platform, so I am not sure that
this is even remotely possible.

As you see, I am quite a pessimist here because there are just too
many fundamental differences between platforms. But with standard
"make", and a few shell scripts ("batch files" in DOS-speak), almost
anything is possible!

--
Bob Hairgrove
NoSpamPlease (AT) Home (DOT) com


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.