Browse Source

Mac OSX release process changes

Rename App Bundle "Bitcoin-Qt.app" instead of "Bitcoin Qt" for
consistency with Windows/Linux.
Update create_osx_dmg.sh script to use macdeployqt tool.
Add ifdef STATIC to makefile.osx to build bitcoind static or dynamic.
miguelfreitas
Gavin Andresen 13 years ago
parent
commit
b50ac8f73e
  1. 6
      bitcoin-qt.pro
  2. 51
      contrib/create_osx_dmg.sh
  3. 21
      src/makefile.osx

6
bitcoin-qt.pro

@ -199,6 +199,10 @@ isEmpty(BDB_LIB_PATH) {
macx:BDB_LIB_PATH = /opt/local/lib/db48 macx:BDB_LIB_PATH = /opt/local/lib/db48
} }
isEmpty(BDB_LIB_SUFFIX) {
macx:BDB_LIB_SUFFIX = -4.8
}
isEmpty(BDB_INCLUDE_PATH) { isEmpty(BDB_INCLUDE_PATH) {
macx:BDB_INCLUDE_PATH = /opt/local/include/db48 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:DEFINES += MAC_OSX MSG_NOSIGNAL=0 BOOST_FILESYSTEM_VERSION=3
macx:ICON = src/qt/res/icons/bitcoin.icns 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 # Set libraries and includes at end, to use platform-defined defaults if not overridden
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH

51
contrib/create_osx_dmg.sh

@ -24,37 +24,24 @@ else
TOP=$1 TOP=$1
fi fi
CONTRIB=$TOP/contrib # Create Bitcoin-Qt.app
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
cd "$TOP" cd "$TOP"
git archive -o /Volumes/Bitcoin/bitcoin.zip $(git branch 2>/dev/null|grep -e ^* | cut -d ' ' -f 2) if [ ! -e Makefile ]; then qmake bitcoin-qt.pro; fi
make
# Fix permissions macdeployqt Bitcoin-Qt.app
chmod -Rf go-w /Volumes/Bitcoin # Workaround a bug in macdeployqt: https://bugreports.qt.nokia.com/browse/QTBUG-21913
# (when fixed, this won't be necessary)
cd "$BUILD_DIR" cp /opt/local/lib/db48/libdb_cxx-4.8.dylib Bitcoin-Qt.app/Contents/Frameworks/
hdiutil eject /Volumes/Bitcoin install_name_tool -id @executable_path/../Frameworks/libdb_cxx-4.8.dylib \
rm -f "$CWD/Bitcoin.dmg" Bitcoin-Qt.app/Contents/Frameworks/libdb_cxx-4.8.dylib
hdiutil convert Bitcoin.sparseimage -format UDBZ -o "$CWD/Bitcoin.dmg" 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"

21
src/makefile.osx vendored

@ -19,7 +19,19 @@ LIBPATHS= \
USE_UPNP:=1 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 \ -ldb_cxx-4.8 \
-lboost_system-mt \ -lboost_system-mt \
-lboost_filesystem-mt \ -lboost_filesystem-mt \
@ -27,6 +39,7 @@ LIBS= -dead_strip \
-lboost_thread-mt \ -lboost_thread-mt \
-lssl \ -lssl \
-lcrypto -lcrypto
endif
DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DUSE_SSL DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DUSE_SSL
@ -70,8 +83,12 @@ OBJS= \
obj/wallet.o obj/wallet.o
ifdef USE_UPNP ifdef USE_UPNP
LIBS += -lminiupnpc
DEFS += -DUSE_UPNP=$(USE_UPNP) DEFS += -DUSE_UPNP=$(USE_UPNP)
ifdef STATIC
LIBS += $(DEPSDIR)/lib/libminiupnpc.a
else
LIBS += -lminiupnpc
endif
endif endif

Loading…
Cancel
Save