aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Smith <alex@alex-smith.me.uk>2012-07-10 19:33:39 +0100
committerAlex Smith <alex@alex-smith.me.uk>2012-07-10 19:33:39 +0100
commit0962132cc60f7f93c696c16776f50ee66e4c65f7 (patch)
tree9ae807f3e453e3d58bfde5bbc6d484db7dc105fc
parentf4eb5cf7e18054ccddc100e43116db37c5227392 (diff)
Fixed Mac OS X 10.7 as a build platform (for GCC 4).hrev44302
* Use gcc and g++ rather than cc and c++, as the latter now point to clang with recent Xcode versions and compilation of the host tools fail for various reasons with it. * Replace the case-sensitive filesystem check with a more basic one, as diskutil no longer supports the behaviour of getting info for the volume that any path is on. * Updated ReadMe with a correct list of prerequisites for OS X. * GCC 2 builds are still broken due to a strange error that only occurs with a GCC 2 built on OS X 10.7
-rw-r--r--ReadMe7
-rw-r--r--build/jam/BuildSetup7
-rwxr-xr-xconfigure19
3 files changed, 25 insertions, 8 deletions
diff --git a/ReadMe b/ReadMe
index 70ad15ed56..77ec0e9211 100644
--- a/ReadMe
+++ b/ReadMe
@@ -75,6 +75,13 @@ The following darwin ports need to be installed:
* libiconv
* gnuregex
* gsed
+ * cdrtools
+ * yasm
+ * wget
+ * less
+ * mpfr
+ * gmp
+ * libmpc
More information about individual distributions of Linux and BSD can be found
at http://haiku-os.org/guides/building/pre-reqs
diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup
index dd4a91d91e..87129f467d 100644
--- a/build/jam/BuildSetup
+++ b/build/jam/BuildSetup
@@ -609,6 +609,13 @@ if $(HOST_PLATFORM) = linux || $(HOST_PLATFORM) = freebsd
}
}
+# On recent versions of OS X cc and c++ point to clang, which fails to
+# compile some of the host tools. As a workaround, force use of GCC.
+if $(HOST_PLATFORM) = darwin {
+ HOST_CC = gcc ;
+ HOST_C++ = g++ ;
+}
+
if $(HOST_PLATFORM) = cygwin {
HOST_LINKFLAGS += -Xlinker --allow-multiple-definition -Xlinker
--enable-auto-import ;
diff --git a/configure b/configure
index 9d6ca5a3da..39d894c3d1 100755
--- a/configure
+++ b/configure
@@ -471,15 +471,18 @@ for sfdiskDir in /sbin /usr/sbin /usr/local/sbin ; do
fi
done
-# check for case-sensitive filesystem if on darwin
-if [ $HOST_PLATFORM = "darwin" ]; then
- diskutil info $(pwd)/.. | grep -i "case-sensitive" > /dev/null
- if [ $? != 0 ]; then
- echo "You need a case-sensitive file-system to build Haiku."
- echo "Please see the following guide on how to set one up:"
- echo "http://haiku-os.org/documents/dev/how_to_build_haiku_on_mac_os_x"
- exit 1
+# check for case-sensitive filesystem
+mkdir haikuCaseTest 2>/dev/null
+mkdir haikucasetest 2>/dev/null
+caseInsensitive=$?
+rm -df haikuCaseTest haikucasetest
+if [ $caseInsensitive != 0 ]; then
+ echo "You need a case-sensitive file-system to build Haiku."
+ if [ $HOST_PLATFORM = "darwin" ]; then
+ echo "You can create a case-sensitive disk image using Disk Utility and use"
+ echo "it to store the Haiku sources on."
fi
+ exit 1
fi
# create output directory