summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <vvaintroub@macbook.local>2010-01-26 18:09:14 +0100
committerVladislav Vaintroub <vvaintroub@macbook.local>2010-01-26 18:09:14 +0100
commite5154ba9c07a41b3c6ab1b6b48e7271245cc4b77 (patch)
tree74cbb3eac94d5d33f98157f5a20fef176db69bb2
parent25d8787a32d0142bf2db869ab97570d730a7ee91 (diff)
downloadmariadb-git-e5154ba9c07a41b3c6ab1b6b48e7271245cc4b77.tar.gz
Move OSX specific checks to cmake/os/Darwin.cmake
-rw-r--r--cmake/Makefile.am5
-rw-r--r--cmake/os/Darwin.cmake34
-rw-r--r--configure.cmake21
3 files changed, 43 insertions, 17 deletions
diff --git a/cmake/Makefile.am b/cmake/Makefile.am
index 2e6563cd92c..623176288b7 100644
--- a/cmake/Makefile.am
+++ b/cmake/Makefile.am
@@ -26,4 +26,7 @@ EXTRA_DIST = \
build_configurations/mysql_release.cmake \
os/Windows.cmake \
os/Linux.cmake \
- os/SunOS.cmake
+ os/SunOS.cmake \
+ os/Darwin.cmake
+
+
diff --git a/cmake/os/Darwin.cmake b/cmake/os/Darwin.cmake
new file mode 100644
index 00000000000..09d82bed7bd
--- /dev/null
+++ b/cmake/os/Darwin.cmake
@@ -0,0 +1,34 @@
+# Copyright (C) 2010 Sun Microsystems, Inc
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+# This file includes OSX specific options and quirks, related to system checks
+
+# Workaround for CMake bug#9051
+# (CMake does not pass CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET when
+# running TRY_COMPILE)
+
+IF(CMAKE_OSX_SYSROOT)
+ SET(ENV{CMAKE_OSX_SYSROOT} ${CMAKE_OSX_SYSROOT})
+ENDIF()
+IF(CMAKE_OSX_SYSROOT)
+ SET(ENV{MACOSX_DEPLOYMENT_TARGET} ${OSX_DEPLOYMENT_TARGET})
+ENDIF()
+
+IF(CMAKE_OSX_DEPLOYMENT_TARGET)
+ # Workaround linker problems on OSX 10.4
+ IF(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.5")
+ ADD_DEFINITIONS(-fno-common)
+ ENDIF()
+ENDIF()
diff --git a/configure.cmake b/configure.cmake
index 31d211256e8..4493fd900bc 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -1,3 +1,4 @@
+
# Copyright (C) 2009 Sun Microsystems,Inc
#
# This program is free software; you can redistribute it and/or modify
@@ -73,12 +74,6 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
SET(HAVE_DLOPEN FALSE CACHE "Disable dlopen due to -static flag" FORCE)
SET(WITHOUT_DYNAMIC_PLUGINS TRUE)
ENDIF()
- IF(APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET)
- # Workaround linker problems on OSX 10.4
- IF(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.5")
- ADD_DEFINITIONS(-fno-common)
- ENDIF()
- ENDIF()
ENDIF()
@@ -189,15 +184,7 @@ IF(UNIX)
ENDIF()
ENDIF()
ENDIF()
-
-# Workaround for CMake bug#9051
-IF(CMAKE_OSX_SYSROOT)
- SET(ENV{CMAKE_OSX_SYSROOT} ${CMAKE_OSX_SYSROOT})
-ENDIF()
-IF(CMAKE_OSX_SYSROOT)
- SET(ENV{MACOSX_DEPLOYMENT_TARGET} ${OSX_DEPLOYMENT_TARGET})
-ENDIF()
-
+s
# System check macros that do nothing on Windows.
# Very often, it is known that some function is not available
@@ -517,7 +504,7 @@ int main() {
#
INCLUDE(TestBigEndian)
IF(APPLE)
- # Cannot run endian test on universal PPC/Intel binaries
+ # Cannot run endian test on universal PPC/Intel binaries
# would return inconsistent result.
# config.h.cmake includes a special #ifdef for Darwin
ELSE()
@@ -550,6 +537,8 @@ IF(HAVE_STDINT_H)
ENDIF(HAVE_STDINT_H)
IF(NOT APPLE)
+ # Prevent some checks on OSX, they return ambigious results
+ # on universal 32/64 bit binariess
CHECK_TYPE_SIZE("char *" SIZEOF_CHARP)
CHECK_TYPE_SIZE(long SIZEOF_LONG)
CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T)