aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Maxwell <greg@xiph.org>2012-08-23 14:17:35 -0700
committerGregory Maxwell <greg@xiph.org>2012-08-23 14:17:35 -0700
commit1bcd3f26c022f7a2fcc1a01df6d9cae0cb13f8d7 (patch)
tree4b58c78a56e1e2481e218cd9f9042620a3839bfc
parent579d011738002b77e3a5f8713461eaa3de492e00 (diff)
parent9655d73f49cd4da189ddb2ed708c26dc4cb3babe (diff)
Merge pull request #1431 from luke-jr/opt_ipv6
Make IPv6 support optional again (defaults to enabled)
-rw-r--r--bitcoin-qt.pro14
-rw-r--r--src/init.cpp6
-rw-r--r--src/makefile.linux-mingw12
-rw-r--r--src/makefile.mingw12
-rw-r--r--src/makefile.osx12
-rw-r--r--src/makefile.unix7
6 files changed, 55 insertions, 8 deletions
diff --git a/bitcoin-qt.pro b/bitcoin-qt.pro
index beb3c5b403..92103f1e39 100644
--- a/bitcoin-qt.pro
+++ b/bitcoin-qt.pro
@@ -2,7 +2,7 @@ TEMPLATE = app
TARGET = bitcoin-qt
VERSION = 0.6.99
INCLUDEPATH += src src/json src/qt
-DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE USE_IPV6
+DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE
CONFIG += no_include_pwd
# for boost 1.37, add -mt to the boost libraries
@@ -71,6 +71,18 @@ contains(FIRST_CLASS_MESSAGING, 1) {
DEFINES += FIRST_CLASS_MESSAGING
}
+# use: qmake "USE_IPV6=1" ( enabled by default; default)
+# or: qmake "USE_IPV6=0" (disabled by default)
+# or: qmake "USE_IPV6=-" (not supported)
+contains(USE_IPV6, -) {
+ message(Building without IPv6 support)
+} else {
+ count(USE_IPV6, 0) {
+ USE_IPV6=1
+ }
+ DEFINES += USE_IPV6=$$USE_IPV6
+}
+
contains(BITCOIN_NEED_QT_PLUGINS, 1) {
DEFINES += BITCOIN_NEED_QT_PLUGINS
QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
diff --git a/src/init.cpp b/src/init.cpp
index 1a1e31c2f3..25756c4e6f 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -500,6 +500,12 @@ bool AppInit2()
SetLimited(net);
}
}
+#if defined(USE_IPV6)
+#if ! USE_IPV6
+ else
+ SetLimited(NET_IPV6);
+#endif
+#endif
CService addrProxy;
bool fProxy = false;
diff --git a/src/makefile.linux-mingw b/src/makefile.linux-mingw
index e22a9f38ea..ad74aa6c91 100644
--- a/src/makefile.linux-mingw
+++ b/src/makefile.linux-mingw
@@ -5,6 +5,7 @@
DEPSDIR:=/usr/i586-mingw32msvc
USE_UPNP:=0
+USE_IPV6:=1
INCLUDEPATHS= \
-I"$(CURDIR)" \
@@ -28,18 +29,25 @@ LIBS= \
-l ssl \
-l crypto
-DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_IPV6
+DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
-ifdef USE_UPNP
+ifndef USE_UPNP
+ override USE_UPNP = -
+endif
+ifneq (${USE_UPNP}, -)
LIBPATHS += -L"$(DEPSDIR)/miniupnpc"
LIBS += -l miniupnpc -l iphlpapi
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
LIBS += -l mingwthrd -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi
# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
diff --git a/src/makefile.mingw b/src/makefile.mingw
index 74897656a9..6102dad613 100644
--- a/src/makefile.mingw
+++ b/src/makefile.mingw
@@ -3,6 +3,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
USE_UPNP:=0
+USE_IPV6:=1
INCLUDEPATHS= \
-I"C:\boost-1.49.0-mgw" \
@@ -23,19 +24,26 @@ LIBS= \
-l ssl \
-l crypto
-DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_IPV6
+DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-mthreads -O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
-ifdef USE_UPNP
+ifndef USE_UPNP
+ override USE_UPNP = -
+endif
+ifneq (${USE_UPNP}, -)
INCLUDEPATHS += -I"C:\miniupnpc-1.6-mgw"
LIBPATHS += -L"C:\miniupnpc-1.6-mgw"
LIBS += -l miniupnpc -l iphlpapi
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi
# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
diff --git a/src/makefile.osx b/src/makefile.osx
index 977878398c..de829b9eb1 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -20,6 +20,7 @@ LIBPATHS= \
-L"$(DEPSDIR)/lib/db48"
USE_UPNP:=1
+USE_IPV6:=1
LIBS= -dead_strip
@@ -53,7 +54,7 @@ LIBS += \
TESTDEFS += -DBOOST_TEST_DYN_LINK
endif
-DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE -DUSE_IPV6
+DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE
ifdef RELEASE
# Compile for maximum compatibility and smallest size.
@@ -96,7 +97,10 @@ OBJS= \
obj/walletdb.o \
obj/noui.o
-ifdef USE_UPNP
+ifndef USE_UPNP
+ override USE_UPNP = -
+endif
+ifneq (${USE_UPNP}, -)
DEFS += -DUSE_UPNP=$(USE_UPNP)
ifdef STATIC
LIBS += $(DEPSDIR)/lib/libminiupnpc.a
@@ -105,6 +109,10 @@ else
endif
endif
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
all: bitcoind
# auto-generated dependencies:
diff --git a/src/makefile.unix b/src/makefile.unix
index c9a09ad020..ac42743d8e 100644
--- a/src/makefile.unix
+++ b/src/makefile.unix
@@ -3,10 +3,11 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
USE_UPNP:=0
+USE_IPV6:=1
LINK:=$(CXX)
-DEFS=-DUSE_IPV6 -DBOOST_SPIRIT_THREADSAFE
+DEFS=-DBOOST_SPIRIT_THREADSAFE
DEFS += $(addprefix -I,$(CURDIR) $(CURDIR)/obj $(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH))
LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH))
@@ -43,6 +44,10 @@ ifneq (${USE_UPNP}, -)
DEFS += -DUSE_UPNP=$(USE_UPNP)
endif
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
LIBS+= \
-Wl,-B$(LMODE2) \
-l z \