* [Bitcoin-development] Reconsider build system change?
@ 2011-07-02 7:29 John Smith
2011-07-02 8:13 ` John Smith
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: John Smith @ 2011-07-02 7:29 UTC (permalink / raw)
To: Bitcoin Dev
[-- Attachment #1: Type: text/plain, Size: 649 bytes --]
Hello,
Why again did we choose for autotools as future build system instead of
cmake?
- CMake generates native build scripts for Make (all platforms), XCode,
Visual Studio. Autoconf only does Make.
- CMake has a clearer syntax, m4/autotools is very convoluted
- CMake is very fast
- CMake is supported natively in Qt Creator in the QT SDK, and is used by
many other KDE/QT as well as other open source applications. Many people
discourage the use of autotools for new projects.
A CMake build system for bitcoin is already integrated into rpcminer,
available here:
http://luke.dashjr.org/programs/bitcoin/w/puddinpop-bitcoin-pool.git/tree
JS
[-- Attachment #2: Type: text/html, Size: 796 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 7:29 [Bitcoin-development] Reconsider build system change? John Smith
@ 2011-07-02 8:13 ` John Smith
2011-07-02 11:30 ` Matt Corallo
2011-07-02 14:50 ` Luke-Jr
2011-07-03 10:44 ` Pieter Wuille
2 siblings, 1 reply; 16+ messages in thread
From: John Smith @ 2011-07-02 8:13 UTC (permalink / raw)
To: Bitcoin Dev
[-- Attachment #1: Type: text/plain, Size: 862 bytes --]
Also important: it supports cross compiling:
http://www.cmake.org/Wiki/CMake_Cross_Compiling
JS
On Sat, Jul 2, 2011 at 7:29 AM, John Smith <witchspace81@gmail.com> wrote:
> Hello,
>
> Why again did we choose for autotools as future build system instead of
> cmake?
>
> - CMake generates native build scripts for Make (all platforms), XCode,
> Visual Studio. Autoconf only does Make.
>
> - CMake has a clearer syntax, m4/autotools is very convoluted
>
> - CMake is very fast
>
> - CMake is supported natively in Qt Creator in the QT SDK, and is used by
> many other KDE/QT as well as other open source applications. Many people
> discourage the use of autotools for new projects.
>
> A CMake build system for bitcoin is already integrated into rpcminer,
> available here:
>
> http://luke.dashjr.org/programs/bitcoin/w/puddinpop-bitcoin-pool.git/tree
>
> JS
>
[-- Attachment #2: Type: text/html, Size: 1336 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 8:13 ` John Smith
@ 2011-07-02 11:30 ` Matt Corallo
2011-07-02 11:49 ` John Smith
0 siblings, 1 reply; 16+ messages in thread
From: Matt Corallo @ 2011-07-02 11:30 UTC (permalink / raw)
To: bitcoin-development
[-- Attachment #1: Type: text/plain, Size: 2257 bytes --]
I dont think anyone really made a conscious decision one way or the
other, someone submitted an autotools patch and thus people started
talking about when we were going to merge autotools. That said, the
autotools stuff needs redone before it would be merged anyway. So it
would be up to whoever writes the build system. However, autotools is
more standard than CMake, and since its a shell script, you dont have to
install CMake which doesnt come standard on almost any distros (AFAIK).
Matt
On Sat, 2011-07-02 at 08:13 +0000, John Smith wrote:
>
> Also important: it supports cross compiling:
>
> http://www.cmake.org/Wiki/CMake_Cross_Compiling
>
> JS
>
> On Sat, Jul 2, 2011 at 7:29 AM, John Smith <witchspace81@gmail.com>
> wrote:
> Hello,
>
> Why again did we choose for autotools as future build system
> instead of cmake?
>
> - CMake generates native build scripts for Make (all
> platforms), XCode, Visual Studio. Autoconf only does Make.
>
> - CMake has a clearer syntax, m4/autotools is very convoluted
>
> - CMake is very fast
>
> - CMake is supported natively in Qt Creator in the QT SDK, and
> is used by many other KDE/QT as well as other open source
> applications. Many people discourage the use of autotools for
> new projects.
>
> A CMake build system for bitcoin is already integrated into
> rpcminer, available here:
>
> http://luke.dashjr.org/programs/bitcoin/w/puddinpop-bitcoin-pool.git/tree
>
> JS
>
> ------------------------------------------------------------------------------
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security
> threats, fraudulent activity, and more. Splunk takes this data and makes
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2d-c2
> _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 11:30 ` Matt Corallo
@ 2011-07-02 11:49 ` John Smith
0 siblings, 0 replies; 16+ messages in thread
From: John Smith @ 2011-07-02 11:49 UTC (permalink / raw)
To: Matt Corallo; +Cc: bitcoin-development
[-- Attachment #1: Type: text/plain, Size: 686 bytes --]
On Sat, Jul 2, 2011 at 11:30 AM, Matt Corallo <bitcoin-list@bluematt.me>wrote:
> would be up to whoever writes the build system. However, autotools is
> more standard than CMake, and since its a shell script, you dont have to
> install CMake which doesnt come standard on almost any distros (AFAIK).
>
CMake is also very standard, used by many projects, and is available in many
distros.
For debians it's as simple as apt-get install cmake, which is not a big
problem as you need to install the other dependencies (such as boost) as
well to build.
Fedora/redhat also seems to have the package 'cmake'. I don't think there is
any modern distro that doesn't have it as a package.
JS
[-- Attachment #2: Type: text/html, Size: 988 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 7:29 [Bitcoin-development] Reconsider build system change? John Smith
2011-07-02 8:13 ` John Smith
@ 2011-07-02 14:50 ` Luke-Jr
2011-07-02 16:50 ` John Smith
2011-07-03 10:44 ` Pieter Wuille
2 siblings, 1 reply; 16+ messages in thread
From: Luke-Jr @ 2011-07-02 14:50 UTC (permalink / raw)
To: bitcoin-development
On Saturday, July 02, 2011 3:29:04 AM John Smith wrote:
> Why again did we choose for autotools as future build system instead of
> cmake?
I don't really care much either way, but cmake doesn't follow the standard
build procedure (./configure && make && make install), though I imagine
./configure could be emulated with some script.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 14:50 ` Luke-Jr
@ 2011-07-02 16:50 ` John Smith
2011-07-02 16:55 ` Luke-Jr
2011-07-02 17:05 ` Douglas Huff
0 siblings, 2 replies; 16+ messages in thread
From: John Smith @ 2011-07-02 16:50 UTC (permalink / raw)
To: Luke-Jr; +Cc: bitcoin-development
[-- Attachment #1: Type: text/plain, Size: 657 bytes --]
On Sat, Jul 2, 2011 at 2:50 PM, Luke-Jr <luke@dashjr.org> wrote:
> On Saturday, July 02, 2011 3:29:04 AM John Smith wrote:
> > Why again did we choose for autotools as future build system instead of
> > cmake?
>
> I don't really care much either way, but cmake doesn't follow the standard
> build procedure (./configure && make && make install), though I imagine
> ./configure could be emulated with some script.
>
It would change the sequence to
cmake . && make && make install
So a shell script named 'configure' that starts 'cmake .' is the most easy
case :-) Probably it'd also need to pass through some command line args, for
example --prefix.
JS
[-- Attachment #2: Type: text/html, Size: 1024 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 16:50 ` John Smith
@ 2011-07-02 16:55 ` Luke-Jr
2011-07-02 17:05 ` Douglas Huff
1 sibling, 0 replies; 16+ messages in thread
From: Luke-Jr @ 2011-07-02 16:55 UTC (permalink / raw)
To: John Smith; +Cc: bitcoin-development
On Saturday, July 02, 2011 12:50:14 PM John Smith wrote:
> On Sat, Jul 2, 2011 at 2:50 PM, Luke-Jr <luke@dashjr.org> wrote:
> > On Saturday, July 02, 2011 3:29:04 AM John Smith wrote:
> > > Why again did we choose for autotools as future build system instead of
> > > cmake?
> >
> > I don't really care much either way, but cmake doesn't follow the
> > standard build procedure (./configure && make && make install), though I
> > imagine ./configure could be emulated with some script.
>
> It would change the sequence to
>
> cmake . && make && make install
>
> So a shell script named 'configure' that starts 'cmake .' is the most easy
> case :-) Probably it'd also need to pass through some command line args,
> for example --prefix.
And --datadir --mandir --randomobscurecrap CXXFLAGS=-O9, etc
Don't forget --help listing all the useful options... that's the big thing I
miss with CMake-stuff.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 16:50 ` John Smith
2011-07-02 16:55 ` Luke-Jr
@ 2011-07-02 17:05 ` Douglas Huff
[not found] ` <CAJNQ0su0jtaFz6abS+H24d7dqKoWkugct1yQLeVyXTgr0rkXXA@mail.gmail.com>
1 sibling, 1 reply; 16+ messages in thread
From: Douglas Huff @ 2011-07-02 17:05 UTC (permalink / raw)
To: John Smith; +Cc: bitcoin-development
Cmake is just as bad as autotools, just with a different syntax and more "buzz" behind it right this second. I don't see any advantage to it over autotools unless you're not familiar with either and even then I wouldn't really call it an advantage. It's just different.
It also requires a dependency that isn't installed by default anywhere, as already mentioned, and is less known outside of some obscure qt/kde circles and so finding people who are familiar with it and are willing to maintain it is more difficult.
Autotools is the devil you know.
You'll probably throw out that mysql and compiz have switched to it, but really, those projects aren't something that should be emulated by anyone. Ever.
On Jul 2, 2011, at 11:50 AM, John Smith wrote:
> On Sat, Jul 2, 2011 at 2:50 PM, Luke-Jr <luke@dashjr.org> wrote:
> On Saturday, July 02, 2011 3:29:04 AM John Smith wrote:
> > Why again did we choose for autotools as future build system instead of
> > cmake?
>
> I don't really care much either way, but cmake doesn't follow the standard
> build procedure (./configure && make && make install), though I imagine
> ./configure could be emulated with some script.
>
> It would change the sequence to
>
> cmake . && make && make install
>
> So a shell script named 'configure' that starts 'cmake .' is the most easy case :-) Probably it'd also need to pass through some command line args, for example --prefix.
>
> JS
>
> ------------------------------------------------------------------------------
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security
> threats, fraudulent activity, and more. Splunk takes this data and makes
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2d-c2_______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
--
Douglas Huff
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-02 7:29 [Bitcoin-development] Reconsider build system change? John Smith
2011-07-02 8:13 ` John Smith
2011-07-02 14:50 ` Luke-Jr
@ 2011-07-03 10:44 ` Pieter Wuille
2011-07-07 8:49 ` Pieter Wuille
2 siblings, 1 reply; 16+ messages in thread
From: Pieter Wuille @ 2011-07-03 10:44 UTC (permalink / raw)
To: John Smith; +Cc: Bitcoin Dev
On Sat, Jul 02, 2011 at 07:29:04AM +0000, John Smith wrote:
> Hello,
>
> Why again did we choose for autotools as future build system instead of
> cmake?
I have no preference for any particular project build system. If a system
* is easy enough to set up (included in standard repositories, eg.)
* allows building of the bitcoin codebase on several linux distro's
* does cross-compilation to windows
* supports osx
* is easy to maintain
* it is not too hard to adapt other GUI's to use it (bitcoin-qt,
maybe others as well, i hear about a cocoabitcoin?)
* gets implemented and tested to support all of the above
.. i have no problem with choosing that system for future versions.
--
Pieter
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-03 10:44 ` Pieter Wuille
@ 2011-07-07 8:49 ` Pieter Wuille
2011-07-07 16:51 ` Jeff Garzik
2011-07-07 17:40 ` John Smith
0 siblings, 2 replies; 16+ messages in thread
From: Pieter Wuille @ 2011-07-07 8:49 UTC (permalink / raw)
To: Bitcoin Dev
On Sun, Jul 03, 2011 at 12:44:17PM +0200, Pieter Wuille wrote:
> I have no preference for any particular project build system. If a system
> * is easy enough to set up (included in standard repositories, eg.)
> * allows building of the bitcoin codebase on several linux distro's
> * does cross-compilation to windows
> * supports osx
> * is easy to maintain
> * it is not too hard to adapt other GUI's to use it (bitcoin-qt,
> maybe others as well, i hear about a cocoabitcoin?)
> * gets implemented and tested to support all of the above
> .. i have no problem with choosing that system for future versions.
Other opinions? Someone actually interested in writing a cmake configuration
for bitcoin?
--
Pieter
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-07 8:49 ` Pieter Wuille
@ 2011-07-07 16:51 ` Jeff Garzik
2011-07-07 17:40 ` John Smith
1 sibling, 0 replies; 16+ messages in thread
From: Jeff Garzik @ 2011-07-07 16:51 UTC (permalink / raw)
To: Pieter Wuille; +Cc: Bitcoin Dev
On Thu, Jul 7, 2011 at 4:49 AM, Pieter Wuille <pieter.wuille@gmail.com> wrote:
> On Sun, Jul 03, 2011 at 12:44:17PM +0200, Pieter Wuille wrote:
>> I have no preference for any particular project build system. If a system
>> * is easy enough to set up (included in standard repositories, eg.)
>> * allows building of the bitcoin codebase on several linux distro's
>> * does cross-compilation to windows
>> * supports osx
>> * is easy to maintain
>> * it is not too hard to adapt other GUI's to use it (bitcoin-qt,
>> maybe others as well, i hear about a cocoabitcoin?)
>> * gets implemented and tested to support all of the above
>> .. i have no problem with choosing that system for future versions.
>
> Other opinions? Someone actually interested in writing a cmake configuration
> for bitcoin?
autotools is indeed "the devil we know" which works automatically on
all supported platforms save VC++ It is also the easiest to package,
as all distros already have macros and scripts specifically designed
to integrate autotools packages into their package build systems.
cmake simply does not have that level of uptake.
--
Jeff Garzik
exMULTI, Inc.
jgarzik@exmulti.com
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Bitcoin-development] Reconsider build system change?
2011-07-07 8:49 ` Pieter Wuille
2011-07-07 16:51 ` Jeff Garzik
@ 2011-07-07 17:40 ` John Smith
1 sibling, 0 replies; 16+ messages in thread
From: John Smith @ 2011-07-07 17:40 UTC (permalink / raw)
To: Pieter Wuille; +Cc: Bitcoin Dev
[-- Attachment #1: Type: text/plain, Size: 355 bytes --]
Hello Pieter,
Other opinions? Someone actually interested in writing a cmake configuration
> for bitcoin?
>
I'm willing to do it, but the priority is not that high.
I'm currently sticking with qmake, as apart from boost library name
auto-detection, I had no problems with it and it works well enough for a
relatively small project such as bitcoin.
JS
[-- Attachment #2: Type: text/html, Size: 560 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2011-07-07 17:40 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-02 7:29 [Bitcoin-development] Reconsider build system change? John Smith
2011-07-02 8:13 ` John Smith
2011-07-02 11:30 ` Matt Corallo
2011-07-02 11:49 ` John Smith
2011-07-02 14:50 ` Luke-Jr
2011-07-02 16:50 ` John Smith
2011-07-02 16:55 ` Luke-Jr
2011-07-02 17:05 ` Douglas Huff
[not found] ` <CAJNQ0su0jtaFz6abS+H24d7dqKoWkugct1yQLeVyXTgr0rkXXA@mail.gmail.com>
2011-07-02 17:31 ` John Smith
2011-07-02 17:45 ` Douglas Huff
2011-07-02 18:03 ` John Smith
2011-07-02 18:12 ` Luke-Jr
2011-07-03 10:44 ` Pieter Wuille
2011-07-07 8:49 ` Pieter Wuille
2011-07-07 16:51 ` Jeff Garzik
2011-07-07 17:40 ` John Smith
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox