Some small fixes to get things compiling on solaris with cmake.
authorKent Mein <mein@cs.umn.edu>
Thu, 12 Jan 2012 16:31:27 +0000 (16:31 +0000)
committerKent Mein <mein@cs.umn.edu>
Thu, 12 Jan 2012 16:31:27 +0000 (16:31 +0000)
There are also some changes that need to be done to libmv but I'm
leaving those out so I can get it patched upstream first.

(Only works with gcc/g++ if we want to use sun's compiler we would need
to get rid of all of our annonymous structs which I don't think
we want to do at this point, example:

typedef struct wmNDOFMotionData {
        union {
                float tvec[3]; // translation
                struct { float tx, ty, tz; };   // this would need to be fixed
// something like this or something similar:
                struct { float x, y, z; } t;
                };
...
)

Kent

CMakeLists.txt
source/blender/blenlib/BLI_fnmatch.h
source/blender/blenlib/intern/path_util.c
source/blender/editors/space_outliner/outliner_tree.c
source/blender/makesrna/RNA_access.h
source/gameengine/Ketsji/KX_PythonInit.cpp

index 0fa6ed26bc7ba85873eafeb4a6879cff8a8a692c..61a1bd3a0805bce644bd30009d7cc67268f57dc2 100644 (file)
@@ -620,6 +620,10 @@ if(UNIX AND NOT APPLE)
        # CLang is the same as GCC for now.
        elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
                set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
+       # Solaris CC
+       elseif(CMAKE_CXX_COMPILER_ID MATCHES "SunPro") 
+               set(PLATFORM_CFLAGS "-pipe -features=extensions -fPIC -D__FUNCTION__=__func__")
+               
        # Intel C++ Compiler
        elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
                # think these next two are broken
index c09a7c7c0d2d5d23b246072d56a92dfcd92e1b4e..ac8960ff9c902e650c142f9e5fa5c44124605620 100644 (file)
@@ -51,7 +51,7 @@ extern "C" {
 #define        FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special chars.  */
 #define        FNM_PERIOD      (1 << 2) /* Leading `.' is matched only explicitly.  */
        
-#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
+#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE) || defined( __SUNPRO_C)
 #define        FNM_FILE_NAME   FNM_PATHNAME /* Preferred GNU name.  */
 #define        FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match.  */
 #define        FNM_CASEFOLD    (1 << 4) /* Compare without regard to case.  */
index 6d63105149664b0350c3d24ecb1a8f45243c3119..bbdb9bc5823589c79a77c8bca878c8e4577e17f2 100644 (file)
@@ -52,7 +52,7 @@
 
 #include "GHOST_Path-api.h"
 
-#if defined WIN32 && !defined _LIBC
+#if defined WIN32 && !defined _LIBC  || defined __sun
 #  include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
 #else
 #  ifndef _GNU_SOURCE
index a45b493ffb31ad69da85285d285e52909bb5f4a0..33e0136b6bbe1b450dc3e824040b1f93739c5e2c 100644 (file)
@@ -57,7 +57,7 @@
 #include "BLI_utildefines.h"
 #include "BLI_math_base.h"
 
-#if defined WIN32 && !defined _LIBC
+#if defined WIN32 && !defined _LIBC  || defined __sun
 # include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
 #else
 #  ifndef _GNU_SOURCE
index 9c8cd831d7282bdef5a51872cf3cb27ae2024f21..6b12fe4b78920a7e31d6310b3d2163e22188b460 100644 (file)
@@ -996,7 +996,9 @@ StructRNA *ID_code_to_RNA_type(short idcode);
 
 
 /* macro which inserts the function name */
-#ifdef __GNUC__
+/*
+*/
+#if defined __GNUC__ || defined __sun
 #  define RNA_warning(format, args...) _RNA_warning("%s: " format "\n", __func__, ##args)
 #else
 #  define RNA_warning(format, ...) _RNA_warning("%s: " format "\n", __FUNCTION__, __VA_ARGS__)
index 9a2c0cb89b149655bcd83b487c9ae0d804163ca8..114ca735265f006089033b047ed725c28853eafd 100644 (file)
 #undef _XOPEN_SOURCE
 #endif
 
+#if defined(__sun) || defined(sun) 
+#if defined(_XPG4) 
+#undef _XPG4 
+#endif 
+#endif 
+
 #include <Python.h>
 
 extern "C" {