aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bitcoin-qt.pro6
-rwxr-xr-xcontrib/create_osx_dmg.sh51
-rw-r--r--src/makefile.osx21
3 files changed, 43 insertions, 35 deletions
diff --git a/bitcoin-qt.pro b/bitcoin-qt.pro
index 834e31158d..42d721e940 100644
--- a/bitcoin-qt.pro
+++ b/bitcoin-qt.pro
@@ -199,6 +199,10 @@ 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
}
@@ -217,7 +221,7 @@ windows:RC_FILE = src/qt/res/bitcoin-qt.rc
macx:DEFINES += MAC_OSX MSG_NOSIGNAL=0 BOOST_FILESYSTEM_VERSION=3
macx:ICON = src/qt/res/icons/bitcoin.icns
-macx:TARGET = "Bitcoin Qt"
+macx:TARGET = "Bitcoin-Qt"
# Set libraries and includes at end, to use platform-defined defaults if not overridden
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH
diff --git a/contrib/create_osx_dmg.sh b/contrib/create_osx_dmg.sh
index af164e56cf..d26dcc8242 100755
--- a/contrib/create_osx_dmg.sh
+++ b/contrib/create_osx_dmg.sh
@@ -24,37 +24,24 @@ else
TOP=$1
fi
-CONTRIB=$TOP/contrib
-BUILD_DIR=/tmp/bitcoin_osx_build
-
-# First, compile bitcoin and bitcoind
-cd "$TOP/src"
-if [ ! -e bitcoin ]; then make -f makefile.osx bitcoin; fi
-if [ ! -e bitcoind ]; then make -f makefile.osx bitcoind; fi
-strip bitcoin bitcoind
-
-mkdir -p "$BUILD_DIR"
-cd "$BUILD_DIR"
-
-rm -f Bitcoin.sparseimage
-hdiutil convert "$CONTRIB/BitcoinTemplate.dmg" -format UDSP -o Bitcoin
-hdiutil mount Bitcoin.sparseimage
-
-# Copy over placeholders in /Volumes/Bitcoin
-cp "$TOP/src/bitcoind" /Volumes/Bitcoin/
-cp "$TOP/src/bitcoin" /Volumes/Bitcoin/Bitcoin.app/Contents/MacOS/
-
-# Create source code .zip
+# Create Bitcoin-Qt.app
cd "$TOP"
-git archive -o /Volumes/Bitcoin/bitcoin.zip $(git branch 2>/dev/null|grep -e ^* | cut -d ' ' -f 2)
-
-# Fix permissions
-chmod -Rf go-w /Volumes/Bitcoin
-
-cd "$BUILD_DIR"
-hdiutil eject /Volumes/Bitcoin
-rm -f "$CWD/Bitcoin.dmg"
-hdiutil convert Bitcoin.sparseimage -format UDBZ -o "$CWD/Bitcoin.dmg"
+if [ ! -e Makefile ]; then qmake bitcoin-qt.pro; fi
+make
+macdeployqt Bitcoin-Qt.app
+# Workaround a bug in macdeployqt: https://bugreports.qt.nokia.com/browse/QTBUG-21913
+# (when fixed, this won't be necessary)
+cp /opt/local/lib/db48/libdb_cxx-4.8.dylib Bitcoin-Qt.app/Contents/Frameworks/
+install_name_tool -id @executable_path/../Frameworks/libdb_cxx-4.8.dylib \
+ Bitcoin-Qt.app/Contents/Frameworks/libdb_cxx-4.8.dylib
+install_name_tool -change libqt.3.dylib \
+ @executable_path/../Frameworks/libqt.3.dylib \
+ Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt
+
+# Create a .dmg
+macdeployqt Bitcoin-Qt.app -dmg
+
+# Compile bitcoind
+cd "$TOP/src"
+STATIC=1 make -f makefile.osx
-cd "$CWD"
-rm -rf "$BUILD_DIR"
diff --git a/src/makefile.osx b/src/makefile.osx
index 6269d93bda..7830f3bad5 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -19,7 +19,19 @@ LIBPATHS= \
USE_UPNP:=1
-LIBS= -dead_strip \
+LIBS= -dead_strip
+ifdef STATIC
+# Build STATIC if you are redistributing the bitcoind binary
+LIBS += \
+ $(DEPSDIR)/lib/db48/libdb_cxx-4.8.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/libssl.a \
+ $(DEPSDIR)/lib/libcrypto.a
+else
+LIBS += \
-ldb_cxx-4.8 \
-lboost_system-mt \
-lboost_filesystem-mt \
@@ -27,6 +39,7 @@ LIBS= -dead_strip \
-lboost_thread-mt \
-lssl \
-lcrypto
+endif
DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DUSE_SSL
@@ -70,8 +83,12 @@ OBJS= \
obj/wallet.o
ifdef USE_UPNP
- LIBS += -lminiupnpc
DEFS += -DUSE_UPNP=$(USE_UPNP)
+ifdef STATIC
+ LIBS += $(DEPSDIR)/lib/libminiupnpc.a
+else
+ LIBS += -lminiupnpc
+endif
endif