mirror of
https://github.com/dogecoin/dogecoin.git
synced 2026-03-02 17:16:00 +00:00
Merge branch 'Mac'
Mac only specific changes.
This commit is contained in:
parent
794627fdc6
commit
6844db1741
109
dogecoin-qt.pro
109
dogecoin-qt.pro
@ -27,11 +27,8 @@ UI_DIR = build
|
||||
|
||||
# use: qmake "RELEASE=1"
|
||||
contains(RELEASE, 1) {
|
||||
# Mac: compile for maximum compatibility (10.5, 32-bit)
|
||||
macx:QMAKE_CXXFLAGS += -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
|
||||
macx:QMAKE_CFLAGS += -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
|
||||
macx:QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
|
||||
|
||||
# Mac: compile for maximum compatibility (10.6, 64-bit)
|
||||
macx:QMAKE_MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
!win32:!macx {
|
||||
# Linux: static link and extra security (see: https://wiki.debian.org/Hardening)
|
||||
LIBS += -Wl,-Bstatic -Wl,-z,relro -Wl,-z,now
|
||||
@ -69,7 +66,6 @@ contains(USE_QRCODE, 1) {
|
||||
contains(USE_UPNP, -) {
|
||||
message(Building without UPNP support)
|
||||
} else {
|
||||
message(Building with UPNP support)
|
||||
count(USE_UPNP, 0) {
|
||||
USE_UPNP=1
|
||||
}
|
||||
@ -103,11 +99,62 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) {
|
||||
QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
|
||||
}
|
||||
|
||||
macx: {
|
||||
|
||||
isEmpty(DEPSDIR) {
|
||||
|
||||
check_dir = /usr/local/Cellar
|
||||
exists($$check_dir) {
|
||||
DEPSDIR = /usr/local
|
||||
}
|
||||
|
||||
!exists($$check_dir) {
|
||||
DEPSDIR = /opt/local
|
||||
}
|
||||
}
|
||||
|
||||
isEmpty(BOOST_LIB_PATH) {
|
||||
BOOST_LIB_PATH = $$DEPSDIR/lib
|
||||
}
|
||||
|
||||
isEmpty(BOOST_INCLUDE_PATH) {
|
||||
BOOST_INCLUDE_PATH = $$DEPSDIR/include
|
||||
}
|
||||
|
||||
isEmpty(BDB_LIB_PATH) {
|
||||
BDB_LIB_PATH = $$DEPSDIR/lib
|
||||
}
|
||||
|
||||
isEmpty(BDB_INCLUDE_PATH) {
|
||||
BDB_INCLUDE_PATH = $$DEPSDIR/include
|
||||
}
|
||||
|
||||
HEADERS += src/qt/macdockiconhandler.h src/qt/macnotificationhandler.h
|
||||
OBJECTIVE_SOURCES += src/qt/macdockiconhandler.mm src/qt/macnotificationhandler.mm
|
||||
LIBS += -framework Foundation -framework ApplicationServices -framework AppKit -framework CoreServices \
|
||||
$$BDB_LIB_PATH/libdb_cxx.a \
|
||||
$$BOOST_LIB_PATH/libboost_system-mt.a \
|
||||
$$BOOST_LIB_PATH/libboost_filesystem-mt.a \
|
||||
$$BOOST_LIB_PATH/libboost_program_options-mt.a \
|
||||
$$BOOST_LIB_PATH/libboost_thread-mt.a \
|
||||
$$BOOST_LIB_PATH/libboost_chrono-mt.a
|
||||
DEFINES += MAC_OSX
|
||||
ICON = src/mac/artwork/Dogecoin.icns
|
||||
QMAKE_INFO_PLIST=src/mac/Info.plist
|
||||
# osx 10.9 has changed the stdlib default to libc++. To prevent some link error, you may need to use libstdc++
|
||||
QMAKE_CXXFLAGS += -stdlib=libstdc++
|
||||
|
||||
#one of these is unnecessary, perhaps all
|
||||
QMAKE_CFLAGS_THREAD += -pthread
|
||||
QMAKE_LFLAGS_THREAD += -pthread
|
||||
QMAKE_CXXFLAGS_THREAD += -pthread
|
||||
}
|
||||
|
||||
INCLUDEPATH += src/leveldb/include src/leveldb/helpers
|
||||
LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a
|
||||
!win32 {
|
||||
# we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences
|
||||
genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a
|
||||
genleveldb.commands = cd $$PWD/src/leveldb && chmod +x build_detect_platform && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a
|
||||
} else {
|
||||
# make an educated guess about what the ranlib command is called
|
||||
isEmpty(QMAKE_RANLIB) {
|
||||
@ -366,11 +413,12 @@ OTHER_FILES += README.md \
|
||||
src/test/*.cpp \
|
||||
src/test/*.h \
|
||||
src/qt/test/*.cpp \
|
||||
src/qt/test/*.h
|
||||
src/qt/test/*.h \
|
||||
src/mac/Info.plist
|
||||
|
||||
# platform specific defaults, if not overridden on command line
|
||||
isEmpty(BOOST_LIB_SUFFIX) {
|
||||
macx:BOOST_LIB_SUFFIX = -mt
|
||||
macx:BOOST_LIB_SUFFIX = -mt.a
|
||||
win32:BOOST_LIB_SUFFIX = -mgw44-mt-s-1_50
|
||||
}
|
||||
|
||||
@ -378,26 +426,6 @@ isEmpty(BOOST_THREAD_LIB_SUFFIX) {
|
||||
BOOST_THREAD_LIB_SUFFIX = $$BOOST_LIB_SUFFIX
|
||||
}
|
||||
|
||||
isEmpty(BDB_LIB_PATH) {
|
||||
macx:BDB_LIB_PATH = /opt/local/lib/db48
|
||||
}
|
||||
|
||||
isEmpty(BDB_LIB_SUFFIX) {
|
||||
macx:BDB_LIB_SUFFIX = -4.8
|
||||
}
|
||||
|
||||
isEmpty(BDB_INCLUDE_PATH) {
|
||||
macx:BDB_INCLUDE_PATH = /opt/local/include/db48
|
||||
}
|
||||
|
||||
isEmpty(BOOST_LIB_PATH) {
|
||||
macx:BOOST_LIB_PATH = /opt/local/lib
|
||||
}
|
||||
|
||||
isEmpty(BOOST_INCLUDE_PATH) {
|
||||
macx:BOOST_INCLUDE_PATH = /opt/local/include
|
||||
}
|
||||
|
||||
win32:DEFINES += WIN32 WIN32_LEAN_AND_MEAN
|
||||
win32:RC_FILE = src/qt/res/bitcoin-qt.rc
|
||||
|
||||
@ -419,25 +447,20 @@ win32:!contains(MINGW_THREAD_BUGFIX, 0) {
|
||||
DEFINES += _FILE_OFFSET_BITS=64
|
||||
}
|
||||
|
||||
macx:HEADERS += src/qt/macdockiconhandler.h src/qt/macnotificationhandler.h
|
||||
macx:OBJECTIVE_SOURCES += src/qt/macdockiconhandler.mm src/qt/macnotificationhandler.mm
|
||||
macx:LIBS += -framework Foundation -framework ApplicationServices -framework AppKit -framework CoreServices
|
||||
macx:DEFINES += MAC_OSX MSG_NOSIGNAL=0
|
||||
macx:ICON = src/qt/res/icons/litecoin.icns
|
||||
macx:QMAKE_CFLAGS_THREAD += -pthread
|
||||
macx:QMAKE_LFLAGS_THREAD += -pthread
|
||||
macx:QMAKE_CXXFLAGS_THREAD += -pthread
|
||||
macx:QMAKE_INFO_PLIST = share/qt/Info.plist
|
||||
|
||||
# Set libraries and includes at end, to use platform-defined defaults if not overridden
|
||||
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH
|
||||
LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,)
|
||||
LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX
|
||||
LIBS += -lssl -lcrypto
|
||||
# -lgdi32 has to happen after -lcrypto (see #681)
|
||||
win32:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32
|
||||
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX
|
||||
win32:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
|
||||
macx:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
|
||||
!macx {
|
||||
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX
|
||||
LIBS += -lboost_thread$$BOOST_THREAD_LIB_SUFFIX -lboost_chrono$$BOOST_LIB_SUFFIX -ldb_cxx$$BDB_LIB_SUFFIX
|
||||
}
|
||||
|
||||
win32: {
|
||||
LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32
|
||||
}
|
||||
|
||||
contains(RELEASE, 1) {
|
||||
!win32:!macx {
|
||||
|
||||
@ -27,6 +27,10 @@
|
||||
#include <ifaddrs.h>
|
||||
#endif
|
||||
|
||||
#if MAC_OSX
|
||||
#define MSG_NOSIGNAL SO_NOSIGPIPE
|
||||
#endif
|
||||
|
||||
typedef u_int SOCKET;
|
||||
#ifdef WIN32
|
||||
#define MSG_NOSIGNAL 0
|
||||
|
||||
26
src/mac/Info.plist
Normal file
26
src/mac/Info.plist
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.5.0.1</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.5 Alpha 1</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Dogecoin.icns</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>© Dogecoin</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>DOGE</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Dogecoin-Qt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.dogecoin.wallet-qt</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Dogecoin-Qt</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
src/mac/artwork/Dogecoin.icns
Normal file
BIN
src/mac/artwork/Dogecoin.icns
Normal file
Binary file not shown.
@ -4,21 +4,27 @@
|
||||
# Distributed under the MIT/X11 software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
# Mac OS X makefile for bitcoin
|
||||
# Mac OS X makefile for Dogecoin
|
||||
# Originally by Laszlo Hanyecz (solar@heliacal.net)
|
||||
|
||||
CXX=llvm-g++
|
||||
DEPSDIR=/opt/local
|
||||
CXX=c++
|
||||
|
||||
CHECKDIR=$(wildcard /usr/local/Cellar)
|
||||
|
||||
ifneq ($(CHECK_DIR),)
|
||||
DEPSDIR=/usr/local
|
||||
else
|
||||
DEPSDIR=/opt/local
|
||||
endif
|
||||
|
||||
|
||||
INCLUDEPATHS= \
|
||||
-I"$(CURDIR)" \
|
||||
-I"$(CURDIR)"/obj \
|
||||
-I"$(DEPSDIR)/include" \
|
||||
-I"$(DEPSDIR)/include/db48"
|
||||
-I"$(DEPSDIR)/include"
|
||||
|
||||
LIBPATHS= \
|
||||
-L"$(DEPSDIR)/lib" \
|
||||
-L"$(DEPSDIR)/lib/db48"
|
||||
-L"$(DEPSDIR)/lib"
|
||||
|
||||
USE_UPNP:=1
|
||||
USE_IPV6:=1
|
||||
@ -32,20 +38,20 @@ ifdef STATIC
|
||||
TESTLIBS += \
|
||||
$(DEPSDIR)/lib/libboost_unit_test_framework-mt.a
|
||||
LIBS += \
|
||||
$(DEPSDIR)/lib/db48/libdb_cxx-4.8.a \
|
||||
$(DEPSDIR)/lib/libdb_cxx.a \
|
||||
$(DEPSDIR)/lib/libboost_system-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_filesystem-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_program_options-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_thread-mt.a \
|
||||
$(DEPSDIR)/lib/libboost_chrono-mt.a \
|
||||
$(DEPSDIR)/lib/libssl.a \
|
||||
$(DEPSDIR)/lib/libcrypto.a \
|
||||
-lssl \
|
||||
-lcrypto \
|
||||
-lz
|
||||
else
|
||||
TESTLIBS += \
|
||||
-lboost_unit_test_framework-mt
|
||||
LIBS += \
|
||||
-ldb_cxx-4.8 \
|
||||
-ldb_cxx \
|
||||
-lboost_system-mt \
|
||||
-lboost_filesystem-mt \
|
||||
-lboost_program_options-mt \
|
||||
@ -57,13 +63,13 @@ LIBS += \
|
||||
TESTDEFS += -DBOOST_TEST_DYN_LINK
|
||||
endif
|
||||
|
||||
DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE
|
||||
DEFS=-DMAC_OSX -DBOOST_SPIRIT_THREADSAFE
|
||||
|
||||
ifdef RELEASE
|
||||
# Compile for maximum compatibility and smallest size.
|
||||
# This requires that dependencies are compiled
|
||||
# the same way.
|
||||
CFLAGS = -mmacosx-version-min=10.5 -arch i386 -O3
|
||||
CFLAGS = -mmacosx-version-min=10.6 -O3
|
||||
else
|
||||
DEBUGFLAGS = -g
|
||||
endif
|
||||
@ -144,7 +150,7 @@ LIBS += $(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a
|
||||
DEFS += $(addprefix -I,$(CURDIR)/leveldb/include)
|
||||
DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers)
|
||||
leveldb/libleveldb.a:
|
||||
@echo "Building LevelDB ..." && cd leveldb && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(CFLAGS)" libleveldb.a libmemenv.a && cd ..
|
||||
@echo "Building LevelDB ..." && cd leveldb && chmod +x build_detect_platform && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(CFLAGS)" libleveldb.a libmemenv.a && cd ..
|
||||
|
||||
# auto-generated dependencies:
|
||||
-include obj/*.P
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user