banshee r4718 - trunk/banshee/build/osx



Author: abock
Date: Wed Oct 22 05:27:20 2008
New Revision: 4718
URL: http://svn.gnome.org/viewvc/banshee?rev=4718&view=rev

Log:
Made the build.env more robust by checking for the framework directories; updated the README

Modified:
   trunk/banshee/build/osx/README
   trunk/banshee/build/osx/autogen.sh
   trunk/banshee/build/osx/build-deps.sh
   trunk/banshee/build/osx/build.env
   trunk/banshee/build/osx/collect-deps.sh

Modified: trunk/banshee/build/osx/README
==============================================================================
--- trunk/banshee/build/osx/README	(original)
+++ trunk/banshee/build/osx/README	Wed Oct 22 05:27:20 2008
@@ -4,9 +4,8 @@
 Dependency Frameworks
 ---------------------
 
-  Before building Banshee, you must first install a few dependency 
-  frameworks, namely Mono, Xcode, and a few small bootstrap libraries
-  from the MacPorts project.
+  Before building Banshee, you must first install the Mac OS X SDK (Xcode),
+  and the Mono 2.0 framework.
 
   When installing these frameworks, it is highly recommended that you
   leave all installation paths to their defaults.
@@ -14,58 +13,35 @@
   Install the frameworks in this order:
 
     * Xcode    (http://developer.apple.com/technology/xcode.html)
-    * Mono 2.0 (http://mono-project.com/Downloads)
-    * MacPorts (http://macports.org/install.php)
-
-
-Working Environment
--------------------
-
-  Ensure that whenever you will be working with MacPorts (i.e.
-  the 'port' command) or building Banshee or any of its dependencies
-  that you have the /opt/local/bin path set in your PATH. It MUST
-  come before Mono's framework!
-
-  It is recommended that as a precaution you add this line to your
-  ~/.bash_profile
-
-    export PATH="/opt/local/bin:$PATH"
-
-  Additionally, there are two helper scripts for actually building
-  Banshee and any native libraries that will be bundled with it. 
-  These scripts will be covered later.
-
-
-MacPorts Dependencies
----------------------
-
-  Install the gettext, intltool, glib2, and libtool ports from 
-  MacPorts, in that order. This can be done like this:
-
-    $ sudo port install gettext intltool glib2 libtool
-
-  After this is done, you should not need to worry about the port
-  command or dealing with MacPorts for building Banshee.
+    * Mono 2.0 (http://mono-project.com/Downloads) 
 
 
 Banshee Bundle Dependencies
 ---------------------------
 
-  A few libraries need to be built manually, outside of the MacPorts
-  context. These are libraries that are bundled within Banshee.app
+  A few libraries need to be built that are not a part of either the
+  Mac or Mono SDKs. These are libraries that are bundled within Banshee.app
   to reduce the runtime dependencies that end users must deal with.
 
-  Once your build environment is set up (as described in the three
-  sections above), building these bundle dependencies is as easy
-  as running the build-deps.sh script in this directory.
+  Building these bundle dependencies is as easy as running the build-deps.sh 
+  script in this directory. It typically takes about 30 minutes to complete
+  the full dependency build, but this only needs to be done once.
 
 
 Building Banshee
 ----------------
 
-  Once the build environment and the bundled dependencies are built,
-  as described in the four sections above, building Banshee is as
-  easy as running the autogen.osx.sh script in the top of the Banshee
-  checkout.
+  Once the bundled dependencies are built, as described above, building 
+  Banshee is as easy as running the autogen.osx.sh script in the top of 
+  the Banshee checkout.
+
+
+Running Banshee
+---------------
+
+  Run the make-app-bundle.sh script in this directory once Banshee is built.
+  This will result in a Banshee.zip file, inside is a Banshee.app folder that
+  is a mostly standalone application - the only runtime dependency is the
+  Mono 2.0 runtime.
 
 

Modified: trunk/banshee/build/osx/autogen.sh
==============================================================================
--- trunk/banshee/build/osx/autogen.sh	(original)
+++ trunk/banshee/build/osx/autogen.sh	Wed Oct 22 05:27:20 2008
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 pushd $(dirname $0) &>/dev/null
-source build.env
+source build.env || exit $?
 
 if [ ! -d $BUILD_PREFIX ]; then
 	echo "Error: Banshee bundle dependencies do not appear to be built."

Modified: trunk/banshee/build/osx/build-deps.sh
==============================================================================
--- trunk/banshee/build/osx/build-deps.sh	(original)
+++ trunk/banshee/build/osx/build-deps.sh	Wed Oct 22 05:27:20 2008
@@ -4,7 +4,7 @@
 BUILD_LOG=`pwd`/build-log
 
 pushd $(dirname $0) &>/dev/null
-source build.env
+source build.env || exit $?
 
 function show_help () {
 	echo "Usage: $0 [options] [targets]"

Modified: trunk/banshee/build/osx/build.env
==============================================================================
--- trunk/banshee/build/osx/build.env	(original)
+++ trunk/banshee/build/osx/build.env	Wed Oct 22 05:27:20 2008
@@ -1,25 +1,31 @@
-# Ensure these paths are set to the correct locations of 
-# the XCode, Mono 2.0, and MacPorts installations
+# Ensure these paths are set to the correct locations of Xcode and Mono 2.0
 MAC_SDK_PATH="/Developer/SDKs/MacOSX10.4u.sdk"
 MONO_SDK_PATH="/Library/Frameworks/Mono.framework/Versions/Current/"
-#MACPORTS_SDK_PATH="/opt/local/bin"
+
+[[ -d $MAC_SDK_PATH ]] || {
+	echo "ERROR: The Mac OSX SDK does not appear to be installed at:"
+	echo "       ${MAC_SDK_PATH}"
+	echo
+	echo "       Please install Xcode (http://developer.apple.com/technology/xcode.html)"
+	return 1
+}
+
+[[ -d $MONO_SDK_PATH ]] || {
+	echo "ERROR: The Mono 2.0 SDK does not appear to be installed at:"
+	echo "       ${MONO_SDK_PATH}"
+	echo
+	echo "       Please install Mono (http://mono-project.com/Downloads)"
+	return 1
+}
 
 # Where GStreamer and other Banshee dependencies that will
 # end up being bundled should be installed for the build.
 # It's generally a good idea to leave this alone.
 BUILD_PREFIX="`pwd`/bundle-deps-build"
 
-# Build configuration. Really, no reason to touch this.
-# TODO: This really needs trimming and verifying. I think we are 
-#       pulling in way too much stuff here, criss crossing environments
-
 export PKG_CONFIG_PATH="$BUILD_PREFIX/lib/pkgconfig:$MONO_SDK_PATH/lib/pkgconfig:$MONO_SDK_PATH/share/pkgconfig"
 export PATH="$BUILD_PREFIX/bin:$MONO_SDK_PATH/bin:/usr/bin:/bin"
 export LDFLAGS="-L$BUILD_PREFIX/lib -L$MONO_SDK_PATH/lib $LDFLAGS"
 export CFLAGS="-I$BUILD_PREFIX/inlcude -I$MONO_SDK_PATH/include -isysroot $MAC_SDK_PATH -mmacosx-version-min=10.4 $CFLAGS"
 export LD_LIBRARY_PATH="$BUILD_PREFIX/lib:$MONO_SDK_PATH/lib:$LD_LIBRARY_PATH"
 export ACLOCAL_FLAGS="-I $BUILD_PREFIX/share/aclocal -I $MONO_SDK_PATH/share/aclocal"
-
-#rm -f /tmp/install
-#ln -s /Library/Frameworks/Mono.framework/Versions/Current /tmp/install
-

Modified: trunk/banshee/build/osx/collect-deps.sh
==============================================================================
--- trunk/banshee/build/osx/collect-deps.sh	(original)
+++ trunk/banshee/build/osx/collect-deps.sh	Wed Oct 22 05:27:20 2008
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 pushd $(dirname $0) &>/dev/null
-source build.env
+source build.env || exit $?
 
 BUNDLE=bundle-deps
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]