Subject: [Bitcoin-development] Change to multiple executables?

From: John Smith <[email-masked]>
Date: Wed, 10 Aug 2011 13:18:38 +0000

> I do agree about splitting off bitcoincl - it's kinda confusing now how
> the client behaves as a rpc daemon or UI when no RPC command-line
> parameters are present, and as a command-line client otherwise.
>
> I am less sure UI and RPC should be split (though being able to select
> both independently from eachother at compile time would be nice). I
> often run the UI and switch to RPC calls to inspect some details.
> Not sure how common this usage pattern is, though.
>

No no no I never stated that the UI should no longer support RPC. If you
want the UI, with RPC, you can still run the UI executable with -server.
There are many usecases in which you want to access the UI bitcoin client
using RPC...

I only meant that it would also build the *headless* daemon by default, as
separate "bitcoind" executable. So you cannot run the UI exectuable as
headless server anymore. The -daemon option would go away. It would make the
setup a lot easier: The UI can connect to  X and display a splash screen
immediately without first looking at the command line arguments, whereas the
headless daemon can ignore all that stuff and get straight to work.

> > If you are suggesting this so that bitcoin-qt can be distributed being
> > built off of bitcoind, I would say go ahead and pull-request bitcoin-qt.
> > I'm of the opinion that it should be merged whether we have autotools or
> > not (we already have 5 makefiles, whats a few more options in those?)
> > and jgarzik seemed to indicate that he would agree (Gavin?, sipa?
> > tcatm?).
>

> That said, it seems bitcoin-qt is mature enough to replace wxbitcoin
> to me, and would definitely like to see it in mainline. How streamlined
> is the process of building bitcoin-qt on windows and osx? Maybe we can
> switch everything to qmake (for now, as long as no maintained autotools
> is present)?
>

It's easy on windows:  just install Qt Creator (comes with the Qt SDK),
install the extra dependencies (build instructions are in README.rst), and
hit build.

On MacOSX I'm not sure.  I think it's similar, as a few people built it for
MacOSX and contributed settings for the .pro file...

It can build the GUI fine for every platform, however it can only build the
GUI, not the headless daemon or the command line client. You'd still need
old fashioned makefiles for those.

Cmake or autotools would be better, especially as those are intelligent
enough to auto-detect the name of libraries such as boost, and detect
presence of optional dependencies (miniupnp).

JS