Browse Source

Merge pull request #3320 from laanwj/2013_11_cli_split

bitcoin-cli: remove unneeded dependencies (only minor code movement)
0.10
Gavin Andresen 11 years ago
parent
commit
cf74e8cb5e
  1. 45
      src/Makefile.am
  2. 4
      src/Makefile.include
  3. 2
      src/bitcoin-cli.cpp
  4. 1
      src/bitcoind.cpp
  5. 21
      src/init.cpp
  6. 3
      src/init.h
  7. 2
      src/qt/Makefile.am
  8. 2
      src/qt/test/Makefile.am
  9. 32
      src/rpcclient.cpp
  10. 8
      src/rpcclient.h
  11. 2
      src/test/Makefile.am
  12. 1
      src/test/test_bitcoin.cpp
  13. 2
      src/util.cpp

45
src/Makefile.am

@ -3,7 +3,7 @@ include Makefile.include @@ -3,7 +3,7 @@ include Makefile.include
AM_CPPFLAGS += -I$(top_srcdir)/src/leveldb/helpers/memenv \
-I$(builddir)
noinst_LIBRARIES = libbitcoin.a
noinst_LIBRARIES = libbitcoin_server.a libbitcoin_common.a libbitcoin_cli.a
bin_PROGRAMS = bitcoind bitcoin-cli
@ -33,23 +33,40 @@ obj/build.h: FORCE @@ -33,23 +33,40 @@ obj/build.h: FORCE
$(abs_top_srcdir)
version.o: obj/build.h
libbitcoin_a_SOURCES = addrman.cpp alert.cpp allocators.cpp \
rpcclient.cpp \
rpcprotocol.cpp \
libbitcoin_server_a_SOURCES = addrman.cpp alert.cpp \
rpcserver.cpp \
bloom.cpp \
chainparams.cpp checkpoints.cpp core.cpp coins.cpp crypter.cpp db.cpp hash.cpp \
init.cpp key.cpp keystore.cpp leveldbwrapper.cpp main.cpp miner.cpp \
netbase.cpp net.cpp noui.cpp protocol.cpp rpcblockchain.cpp rpcdump.cpp \
rpcmining.cpp rpcnet.cpp rpcrawtransaction.cpp rpcwallet.cpp script.cpp \
sync.cpp txdb.cpp txmempool.cpp util.cpp version.cpp wallet.cpp walletdb.cpp $(JSON_H) \
chainparams.cpp checkpoints.cpp coins.cpp crypter.cpp db.cpp \
init.cpp keystore.cpp leveldbwrapper.cpp main.cpp miner.cpp \
net.cpp noui.cpp rpcblockchain.cpp rpcdump.cpp \
rpcmining.cpp rpcnet.cpp rpcrawtransaction.cpp rpcwallet.cpp \
txdb.cpp txmempool.cpp wallet.cpp walletdb.cpp $(JSON_H) \
$(BITCOIN_CORE_H)
libbitcoin_common_a_SOURCES = \
allocators.cpp \
chainparams.cpp \
core.cpp \
hash.cpp \
key.cpp \
netbase.cpp \
protocol.cpp \
rpcprotocol.cpp \
script.cpp \
sync.cpp \
util.cpp \
version.cpp \
$(BITCOIN_CORE_H)
nodist_libbitcoin_a_SOURCES = $(top_srcdir)/src/obj/build.h
libbitcoin_cli_a_SOURCES = \
rpcclient.cpp \
$(BITCOIN_CORE_H)
nodist_libbitcoin_common_a_SOURCES = $(top_srcdir)/src/obj/build.h
#
# bitcoind binary #
bitcoind_LDADD = libbitcoin.a leveldb/libleveldb.a leveldb/libmemenv.a \
bitcoind_LDADD = libbitcoin_server.a libbitcoin_cli.a libbitcoin_common.a leveldb/libleveldb.a leveldb/libmemenv.a \
$(BOOST_LIBS)
bitcoind_SOURCES = bitcoind.cpp
#
@ -62,15 +79,13 @@ AM_CPPFLAGS += $(BDB_CPPFLAGS) @@ -62,15 +79,13 @@ AM_CPPFLAGS += $(BDB_CPPFLAGS)
bitcoind_LDADD += $(BDB_LIBS)
# bitcoin-cli binary #
bitcoin_cli_LDADD = libbitcoin.a leveldb/libleveldb.a leveldb/libmemenv.a \
$(BOOST_LIBS)
bitcoin_cli_LDADD = libbitcoin_cli.a libbitcoin_common.a $(BOOST_LIBS)
bitcoin_cli_SOURCES = bitcoin-cli.cpp
#
if TARGET_WINDOWS
bitcoin_cli_SOURCES += bitcoin-cli-res.rc
endif
bitcoin_cli_LDADD += $(BDB_LIBS)
leveldb/libleveldb.a: leveldb/libmemenv.a
@ -79,7 +94,7 @@ leveldb/%.a: @@ -79,7 +94,7 @@ leveldb/%.a:
CC="$(CC)" PLATFORM=$(TARGET_OS) AR="$(AR)" $(LEVELDB_TARGET_FLAGS) \
OPT="$(CXXFLAGS) $(CPPFLAGS)"
qt/bitcoinstrings.cpp: $(libbitcoin_a_SOURCES)
qt/bitcoinstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_common_a_SOURCES) $(libbitcoin_cli_a_SOURCES)
@test -n $(XGETTEXT) || echo "xgettext is required for updating translations"
@cd $(top_srcdir); XGETTEXT=$(XGETTEXT) share/qt/extract_strings_qt.py

4
src/Makefile.include

@ -5,7 +5,9 @@ AM_CPPFLAGS = $(INCLUDES) \ @@ -5,7 +5,9 @@ AM_CPPFLAGS = $(INCLUDES) \
$(BOOST_INCLUDES)
AM_LDFLAGS = $(PTHREAD_CFLAGS)
LIBBITCOIN=$(top_builddir)/src/libbitcoin.a
LIBBITCOIN_SERVER=$(top_builddir)/src/libbitcoin_server.a
LIBBITCOIN_COMMON=$(top_builddir)/src/libbitcoin_common.a
LIBBITCOIN_CLI=$(top_builddir)/src/libbitcoin_cli.a
LIBLEVELDB=$(top_builddir)/src/leveldb/libleveldb.a
LIBMEMENV=$(top_builddir)/src/leveldb/libmemenv.a
LIBBITCOINQT=$(top_builddir)/src/qt/libbitcoinqt.a

2
src/bitcoin-cli.cpp

@ -42,7 +42,7 @@ static bool AppInitRPC(int argc, char* argv[]) @@ -42,7 +42,7 @@ static bool AppInitRPC(int argc, char* argv[])
" bitcoin-cli [options] help " + _("List commands") + "\n" +
" bitcoin-cli [options] help <command> " + _("Get help for a command") + "\n";
strUsage += "\n" + HelpMessage(HMM_BITCOIN_CLI);
strUsage += "\n" + HelpMessageCli(true);
fprintf(stdout, "%s", strUsage.c_str());
return false;

1
src/bitcoind.cpp

@ -87,6 +87,7 @@ bool AppInit(int argc, char* argv[]) @@ -87,6 +87,7 @@ bool AppInit(int argc, char* argv[])
" bitcoind [options] help <command> " + _("Get help for a command") + "\n";
strUsage += "\n" + HelpMessage(HMM_BITCOIND);
strUsage += "\n" + HelpMessageCli(false);
fprintf(stdout, "%s", strUsage.c_str());
return false;

21
src/init.cpp

@ -37,7 +37,6 @@ using namespace boost; @@ -37,7 +37,6 @@ using namespace boost;
std::string strWalletFile;
CWallet* pwalletMain;
CClientUIInterface uiInterface;
#ifdef WIN32
// Win32 LevelDB doesn't use filedescriptors, and the ones used for
@ -181,8 +180,6 @@ std::string HelpMessage(HelpMessageMode hmm) @@ -181,8 +180,6 @@ std::string HelpMessage(HelpMessageMode hmm)
strUsage += " -datadir=<dir> " + _("Specify data directory") + "\n";
strUsage += " -testnet " + _("Use the test network") + "\n";
if(hmm == HMM_BITCOIND || hmm == HMM_BITCOIN_QT)
{
strUsage += " -pid=<file> " + _("Specify pid file (default: bitcoind.pid)") + "\n";
strUsage += " -gen " + _("Generate coins (default: 0)") + "\n";
strUsage += " -wallet=<file> " + _("Specify wallet file (within data directory)") + "\n";
@ -236,7 +233,6 @@ std::string HelpMessage(HelpMessageMode hmm) @@ -236,7 +233,6 @@ std::string HelpMessage(HelpMessageMode hmm)
#ifdef WIN32
strUsage += " -printtodebugger " + _("Send trace/debug info to debugger") + "\n";
#endif
}
if (hmm == HMM_BITCOIN_QT)
{
@ -250,23 +246,10 @@ std::string HelpMessage(HelpMessageMode hmm) @@ -250,23 +246,10 @@ std::string HelpMessage(HelpMessageMode hmm)
#endif
}
if (hmm == HMM_BITCOIND || hmm == HMM_BITCOIN_CLI)
{
strUsage += " -rpcconnect=<ip> " + _("Send commands to node running on <ip> (default: 127.0.0.1)") + "\n";
strUsage += " -rpcwait " + _("Wait for RPC server to start") + "\n";
}
strUsage += " -rpcuser=<user> " + _("Username for JSON-RPC connections") + "\n";
strUsage += " -rpcpassword=<pw> " + _("Password for JSON-RPC connections") + "\n";
if (hmm == HMM_BITCOIND || hmm == HMM_BITCOIN_QT)
{
strUsage += " -rpcport=<port> " + _("Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332)") + "\n";
} else {
strUsage += " -rpcport=<port> " + _("Connect to JSON-RPC on <port> (default: 8332 or testnet: 18332)") + "\n";
}
if(hmm == HMM_BITCOIND || hmm == HMM_BITCOIN_QT)
{
strUsage += " -rpcallowip=<ip> " + _("Allow JSON-RPC connections from specified IP address") + "\n";
strUsage += " -rpcthreads=<n> " + _("Set the number of threads to service RPC calls (default: 4)") + "\n";
strUsage += " -blocknotify=<cmd> " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n";
@ -287,16 +270,12 @@ std::string HelpMessage(HelpMessageMode hmm) @@ -287,16 +270,12 @@ std::string HelpMessage(HelpMessageMode hmm)
strUsage += " -blockminsize=<n> " + _("Set minimum block size in bytes (default: 0)") + "\n";
strUsage += " -blockmaxsize=<n> " + _("Set maximum block size in bytes (default: 250000)") + "\n";
strUsage += " -blockprioritysize=<n> " + _("Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)") + "\n";
}
strUsage += "\n" + _("SSL options: (see the Bitcoin Wiki for SSL setup instructions)") + "\n";
strUsage += " -rpcssl " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n";
if (hmm == HMM_BITCOIND || hmm == HMM_BITCOIN_QT)
{
strUsage += " -rpcsslcertificatechainfile=<file.cert> " + _("Server certificate file (default: server.cert)") + "\n";
strUsage += " -rpcsslprivatekeyfile=<file.pem> " + _("Server private key (default: server.pem)") + "\n";
strUsage += " -rpcsslciphers=<ciphers> " + _("Acceptable ciphers (default: TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH)") + "\n";
}
return strUsage;
}

3
src/init.h

@ -26,8 +26,7 @@ bool AppInit2(boost::thread_group& threadGroup, bool fForceServer); @@ -26,8 +26,7 @@ bool AppInit2(boost::thread_group& threadGroup, bool fForceServer);
enum HelpMessageMode
{
HMM_BITCOIND,
HMM_BITCOIN_QT,
HMM_BITCOIN_CLI
HMM_BITCOIN_QT
};
std::string HelpMessage(HelpMessageMode mode);

2
src/qt/Makefile.am

@ -197,7 +197,7 @@ endif @@ -197,7 +197,7 @@ endif
bitcoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(QT_INCLUDES) \
-I$(top_srcdir)/src/qt/forms
bitcoin_qt_SOURCES = bitcoin.cpp
bitcoin_qt_LDADD = libbitcoinqt.a $(LIBBITCOIN) $(LIBLEVELDB) $(LIBMEMENV) \
bitcoin_qt_LDADD = libbitcoinqt.a $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBLEVELDB) $(LIBMEMENV) \
$(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS)
# forms/foo.h -> forms/ui_foo.h

2
src/qt/test/Makefile.am

@ -17,7 +17,7 @@ BUILT_SOURCES = $(TEST_QT_MOC_CPP) @@ -17,7 +17,7 @@ BUILT_SOURCES = $(TEST_QT_MOC_CPP)
test_bitcoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(QT_INCLUDES) $(QT_TEST_INCLUDES)
test_bitcoin_qt_SOURCES = test_main.cpp uritests.cpp paymentservertests.cpp $(TEST_QT_H)
nodist_test_bitcoin_qt_SOURCES = $(TEST_QT_MOC_CPP)
test_bitcoin_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN) $(LIBLEVELDB) \
test_bitcoin_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBLEVELDB) \
$(LIBMEMENV) $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) \
$(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS)

32
src/rpcclient.cpp

@ -245,3 +245,35 @@ int CommandLineRPC(int argc, char *argv[]) @@ -245,3 +245,35 @@ int CommandLineRPC(int argc, char *argv[])
}
return nRet;
}
std::string HelpMessageCli(bool mainProgram)
{
string strUsage;
if(mainProgram)
{
strUsage += _("Options:") + "\n";
strUsage += " -? " + _("This help message") + "\n";
strUsage += " -conf=<file> " + _("Specify configuration file (default: bitcoin.conf)") + "\n";
strUsage += " -datadir=<dir> " + _("Specify data directory") + "\n";
strUsage += " -testnet " + _("Use the test network") + "\n";
strUsage += " -regtest " + _("Enter regression test mode, which uses a special chain in which blocks can be "
"solved instantly. This is intended for regression testing tools and app development.") + "\n";
} else {
strUsage += _("RPC client options:") + "\n";
}
strUsage += " -rpcconnect=<ip> " + _("Send commands to node running on <ip> (default: 127.0.0.1)") + "\n";
strUsage += " -rpcport=<port> " + _("Connect to JSON-RPC on <port> (default: 8332 or testnet: 18332)") + "\n";
strUsage += " -rpcwait " + _("Wait for RPC server to start") + "\n";
strUsage += " -rpcuser=<user> " + _("Username for JSON-RPC connections") + "\n";
strUsage += " -rpcpassword=<pw> " + _("Password for JSON-RPC connections") + "\n";
if(mainProgram)
{
strUsage += "\n" + _("SSL options: (see the Bitcoin Wiki for SSL setup instructions)") + "\n";
strUsage += " -rpcssl " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n";
}
return strUsage;
}

8
src/rpcclient.h

@ -14,4 +14,12 @@ int CommandLineRPC(int argc, char *argv[]); @@ -14,4 +14,12 @@ int CommandLineRPC(int argc, char *argv[]);
json_spirit::Array RPCConvertValues(const std::string &strMethod, const std::vector<std::string> &strParams);
/** Show help message for bitcoin-cli.
* The mainProgram argument is used to determine whether to show this message as main program
* (and include some common options) or as sub-header of another help message.
*
* @note the argument can be removed once bitcoin-cli functionality is removed from bitcoind
*/
std::string HelpMessageCli(bool mainProgram);
#endif

2
src/test/Makefile.am

@ -20,7 +20,7 @@ BUILT_SOURCES = $(JSON_TEST_FILES:.json=.json.h) $(RAW_TEST_FILES:.raw=.raw.h) @@ -20,7 +20,7 @@ BUILT_SOURCES = $(JSON_TEST_FILES:.json=.json.h) $(RAW_TEST_FILES:.raw=.raw.h)
# test_bitcoin binary #
test_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(TESTDEFS)
test_bitcoin_LDADD = $(LIBBITCOIN) $(LIBLEVELDB) $(LIBMEMENV) \
test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBLEVELDB) $(LIBMEMENV) \
$(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(BDB_LIBS)
test_bitcoin_SOURCES = accounting_tests.cpp alert_tests.cpp \
allocator_tests.cpp base32_tests.cpp base58_tests.cpp base64_tests.cpp \

1
src/test/test_bitcoin.cpp

@ -14,7 +14,6 @@ @@ -14,7 +14,6 @@
CWallet* pwalletMain;
CClientUIInterface uiInterface;
extern bool fPrintToConsole;
extern void noui_connect();

2
src/util.cpp

@ -95,6 +95,7 @@ string strMiscWarning; @@ -95,6 +95,7 @@ string strMiscWarning;
bool fNoListen = false;
bool fLogTimestamps = false;
volatile bool fReopenDebugLog = false;
CClientUIInterface uiInterface;
// Init OpenSSL library multithreading support
static CCriticalSection** ppmutexOpenSSL;
@ -1511,3 +1512,4 @@ void RenameThread(const char* name) @@ -1511,3 +1512,4 @@ void RenameThread(const char* name)
(void)name;
#endif
}

Loading…
Cancel
Save