Libmv: move platform-specific defines into own file
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 9 Oct 2013 20:02:02 +0000 (20:02 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 9 Oct 2013 20:02:02 +0000 (20:02 +0000)
extern/libmv/CMakeLists.txt
extern/libmv/bundle.sh
extern/libmv/libmv-capi.cc
extern/libmv/libmv-capi_intern.h [new file with mode: 0644]

index ae5cfd0cb1d558109f31f373e64ee490672d1763..80a212b64f8092d7fe9aa7908cdd0f3548fdfddb 100644 (file)
@@ -32,6 +32,7 @@ set(INC
 
 set(SRC
        libmv-capi.h
+       libmv-capi_intern.h
 )
 
 if(WITH_LIBMV)
index f51af8ee32e7a7d7fe610c65835de33c1fd2665f..33abc30c0fd01fd76fb98fd9abf07f9828976343 100755 (executable)
@@ -128,6 +128,7 @@ set(INC
 
 set(SRC
        libmv-capi.h
+       libmv-capi_intern.h
 )
 
 if(WITH_LIBMV)
index 717c54acd85a312c30af85a53412367bed610bc6..11608318a40ccbfdc8117f52cf8060f092a0ecf2 100644 (file)
 #  include <png.h>
 #endif
 
-#if defined(_MSC_VER)
-#  define __func__ __FUNCTION__
-#endif
-
-#ifdef WITH_LIBMV_GUARDED_ALLOC
-#  include "MEM_guardedalloc.h"
-#  define LIBMV_OBJECT_NEW OBJECT_GUARDED_NEW
-#  define LIBMV_OBJECT_DELETE OBJECT_GUARDED_DELETE
-#  define LIBMV_OBJECT_DELETE OBJECT_GUARDED_DELETE
-#  define LIBMV_STRUCT_NEW(type, count) (type*)MEM_mallocN(sizeof(type) * count, __func__)
-#  define LIBMV_STRUCT_DELETE(what) MEM_freeN(what)
-#else
-// Need this to keep libmv-capi potentially standalone.
-#  if defined __GNUC__ || defined __sun
-#    define LIBMV_OBJECT_NEW(type, args ...) \
-       new(malloc(sizeof(type))) type(args)
-#  else
-#    define LIBMV_OBJECT_NEW(type, ...) \
-       new(malloc(sizeof(type))) type(__VA_ARGS__)
-#endif
-#  define LIBMV_OBJECT_DELETE(what, type) \
-       { if(what) { \
-                       ((type*)(what))->~type(); \
-                       free(what); \
-       } } (void)0
-#  define LIBMV_STRUCT_NEW(type, count) (type*)malloc(sizeof(type) * count)
-#  define LIBMV_STRUCT_DELETE(what) { if (what) free(what); } (void)0
-#endif
-
+#include "libmv-capi_intern.h"
 #include "libmv/logging/logging.h"
 #include "libmv/multiview/homography.h"
 #include "libmv/tracking/track_region.h"
 #include "libmv/simple_pipeline/reconstruction_scale.h"
 #include "libmv/simple_pipeline/keyframe_selection.h"
 
-#ifdef _MSC_VER
-#  define snprintf _snprintf
-#endif
-
 struct libmv_Reconstruction {
        libmv::EuclideanReconstruction reconstruction;
 
diff --git a/extern/libmv/libmv-capi_intern.h b/extern/libmv/libmv-capi_intern.h
new file mode 100644 (file)
index 0000000..90087c5
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2013 Blender Foundation.
+ * All rights reserved.
+ *
+ * Contributor(s): Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef LIBMV_C_API_INTERN_H
+#define LIBMV_C_API_INTERN_H
+
+#if defined(_MSC_VER)
+#  define __func__ __FUNCTION__
+#  define snprintf _snprintf
+#endif
+
+#ifdef WITH_LIBMV_GUARDED_ALLOC
+#  include "MEM_guardedalloc.h"
+#  define LIBMV_OBJECT_NEW OBJECT_GUARDED_NEW
+#  define LIBMV_OBJECT_DELETE OBJECT_GUARDED_DELETE
+#  define LIBMV_OBJECT_DELETE OBJECT_GUARDED_DELETE
+#  define LIBMV_STRUCT_NEW(type, count) (type*)MEM_mallocN(sizeof(type) * count, __func__)
+#  define LIBMV_STRUCT_DELETE(what) MEM_freeN(what)
+#else
+// Need this to keep libmv-capi potentially standalone.
+#  if defined __GNUC__ || defined __sun
+#    define LIBMV_OBJECT_NEW(type, args ...) \
+       new(malloc(sizeof(type))) type(args)
+#  else
+#    define LIBMV_OBJECT_NEW(type, ...) \
+       new(malloc(sizeof(type))) type(__VA_ARGS__)
+#endif
+#  define LIBMV_OBJECT_DELETE(what, type) \
+       { if(what) { \
+                       ((type*)(what))->~type(); \
+                       free(what); \
+       } } (void)0
+#  define LIBMV_STRUCT_NEW(type, count) (type*)malloc(sizeof(type) * count)
+#  define LIBMV_STRUCT_DELETE(what) { if (what) free(what); } (void)0
+#endif
+
+#endif  // LIBMV_C_API_INTERN_H