From ad4b7741dba45a2be210942c18af6b6e4438f129 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Thu, 19 Nov 2020 13:41:50 +0100 Subject: Build-system: Force C linkage for all DNA type headers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some DNA headers already did this, most did not. Even though many of them would be included in C++ files and thus compiled as C++. This would be confusing and developers may think they have to add `extern "C"` too a whole lot of (indirect) includes to be able to use a C header in C++. However, this is a misconception. `extern "C"` does not cause code to be compiled with C rather than C++! It only causes the linker to not use C++ function name mangling. See https://stackoverflow.com/a/1041880. Because extern DNA headers don't have function declarations, using `extern "C"` actually should not have any effect. On the other hand, adding it causes no harm and avoids confusion. So let's just have it consistently in C header files. Differential Revision: https://developer.blender.org/D9578 Reviewed by: Bastien Montagne, Sybren Stüvel --- source/blender/makesdna/DNA_armature_types.h | 8 ++++++++ source/blender/makesdna/DNA_boid_types.h | 8 ++++++++ source/blender/makesdna/DNA_brush_types.h | 8 ++++++++ source/blender/makesdna/DNA_cloth_types.h | 8 ++++++++ source/blender/makesdna/DNA_collection_types.h | 8 ++++++++ source/blender/makesdna/DNA_color_types.h | 8 ++++++++ source/blender/makesdna/DNA_constraint_types.h | 8 ++++++++ source/blender/makesdna/DNA_curve_types.h | 8 ++++++++ source/blender/makesdna/DNA_curveprofile_types.h | 8 ++++++++ source/blender/makesdna/DNA_dynamicpaint_types.h | 9 +++++++++ source/blender/makesdna/DNA_effect_types.h | 8 ++++++++ source/blender/makesdna/DNA_fileglobal_types.h | 8 ++++++++ source/blender/makesdna/DNA_fluid_types.h | 8 ++++++++ source/blender/makesdna/DNA_gpencil_modifier_types.h | 8 ++++++++ source/blender/makesdna/DNA_gpencil_types.h | 8 ++++++++ source/blender/makesdna/DNA_gpu_types.h | 8 ++++++++ source/blender/makesdna/DNA_hair_types.h | 8 ++++++++ source/blender/makesdna/DNA_image_types.h | 8 ++++++++ source/blender/makesdna/DNA_ipo_types.h | 8 ++++++++ source/blender/makesdna/DNA_key_types.h | 8 ++++++++ source/blender/makesdna/DNA_lattice_types.h | 8 ++++++++ source/blender/makesdna/DNA_light_types.h | 8 ++++++++ source/blender/makesdna/DNA_linestyle_types.h | 8 ++++++++ source/blender/makesdna/DNA_mask_types.h | 8 ++++++++ source/blender/makesdna/DNA_material_types.h | 8 ++++++++ source/blender/makesdna/DNA_meshdata_types.h | 8 ++++++++ source/blender/makesdna/DNA_meta_types.h | 8 ++++++++ source/blender/makesdna/DNA_nla_types.h | 8 ++++++++ source/blender/makesdna/DNA_node_types.h | 8 ++++++++ source/blender/makesdna/DNA_object_enums.h | 8 ++++++++ source/blender/makesdna/DNA_outliner_types.h | 8 ++++++++ source/blender/makesdna/DNA_packedFile_types.h | 8 ++++++++ source/blender/makesdna/DNA_particle_types.h | 8 ++++++++ source/blender/makesdna/DNA_pointcloud_types.h | 8 ++++++++ source/blender/makesdna/DNA_rigidbody_types.h | 8 ++++++++ source/blender/makesdna/DNA_screen_types.h | 8 ++++++++ source/blender/makesdna/DNA_sdna_types.h | 8 ++++++++ source/blender/makesdna/DNA_shader_fx_types.h | 8 ++++++++ source/blender/makesdna/DNA_simulation_types.h | 8 ++++++++ source/blender/makesdna/DNA_sound_types.h | 8 ++++++++ source/blender/makesdna/DNA_space_types.h | 8 ++++++++ source/blender/makesdna/DNA_speaker_types.h | 8 ++++++++ source/blender/makesdna/DNA_text_types.h | 8 ++++++++ source/blender/makesdna/DNA_tracking_types.h | 8 ++++++++ source/blender/makesdna/DNA_vec_types.h | 8 ++++++++ source/blender/makesdna/DNA_vfont_types.h | 8 ++++++++ source/blender/makesdna/DNA_view2d_types.h | 8 ++++++++ source/blender/makesdna/DNA_view3d_enums.h | 8 ++++++++ source/blender/makesdna/DNA_view3d_types.h | 8 ++++++++ source/blender/makesdna/DNA_volume_types.h | 8 ++++++++ source/blender/makesdna/DNA_windowmanager_types.h | 8 ++++++++ source/blender/makesdna/DNA_workspace_types.h | 8 ++++++++ source/blender/makesdna/DNA_world_types.h | 8 ++++++++ source/blender/makesdna/DNA_xr_types.h | 8 ++++++++ source/blender/makesdna/intern/dna_utils.h | 8 ++++++++ 55 files changed, 441 insertions(+) (limited to 'source') diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h index 2e029d041ec..de2d56bb264 100644 --- a/source/blender/makesdna/DNA_armature_types.h +++ b/source/blender/makesdna/DNA_armature_types.h @@ -27,6 +27,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; /* this system works on different transformation space levels; @@ -280,3 +284,7 @@ typedef enum eBone_BBoneHandleType { } eBone_BBoneHandleType; #define MAXBONENAME 64 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_boid_types.h b/source/blender/makesdna/DNA_boid_types.h index d5aa87fc8ae..7e010f27ce6 100644 --- a/source/blender/makesdna/DNA_boid_types.h +++ b/source/blender/makesdna/DNA_boid_types.h @@ -25,6 +25,10 @@ #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef enum eBoidRuleType { eBoidRuleType_None = 0, /** go to goal assigned object or loudest assigned signal source */ @@ -222,3 +226,7 @@ typedef struct BoidSettings { //#define BOID_RULE_LAND (1 << 3) /* goal */ //#define BOID_RULE_WITH_BOIDS (1 << 4) /* avoid collision */ //#define BOID_RULE_WITH_DEFLECTORS (1 << 5) /* avoid collision */ + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index 3524cb7e7b5..756f21321f4 100644 --- a/source/blender/makesdna/DNA_brush_types.h +++ b/source/blender/makesdna/DNA_brush_types.h @@ -27,6 +27,10 @@ #include "DNA_curve_types.h" #include "DNA_texture_types.h" /* for MTex */ +#ifdef __cplusplus +extern "C" { +#endif + struct CurveMapping; struct Image; struct MTex; @@ -980,3 +984,7 @@ enum { #define MAX_BRUSH_PIXEL_RADIUS 500 #define GP_MAX_BRUSH_PIXEL_RADIUS 1000 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_cloth_types.h b/source/blender/makesdna/DNA_cloth_types.h index 3d11b3cd7a3..11993d95c2c 100644 --- a/source/blender/makesdna/DNA_cloth_types.h +++ b/source/blender/makesdna/DNA_cloth_types.h @@ -25,6 +25,10 @@ #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + /** * This struct contains all the global data required to run a simulation. * At the time of this writing, this structure contains data appropriate @@ -250,3 +254,7 @@ typedef enum { CLOTH_COLLSETTINGS_FLAG_ENABLED = (1 << 1), /* enables cloth - object collisions */ CLOTH_COLLSETTINGS_FLAG_SELF = (1 << 2), /* enables selfcollisions */ } CLOTH_COLLISIONSETTINGS_FLAGS; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_collection_types.h b/source/blender/makesdna/DNA_collection_types.h index e188426fdda..0a80e00d456 100644 --- a/source/blender/makesdna/DNA_collection_types.h +++ b/source/blender/makesdna/DNA_collection_types.h @@ -29,6 +29,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct Collection; struct Object; @@ -109,3 +113,7 @@ typedef enum CollectionColorTag { COLLECTION_COLOR_TOT, } CollectionColorTag; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_color_types.h b/source/blender/makesdna/DNA_color_types.h index ff419e1794e..bcebbf32ebd 100644 --- a/source/blender/makesdna/DNA_color_types.h +++ b/source/blender/makesdna/DNA_color_types.h @@ -26,6 +26,10 @@ #include "DNA_defs.h" #include "DNA_vec_types.h" +#ifdef __cplusplus +extern "C" { +#endif + /* general defines for kernel functions */ #define CM_RESOL 32 #define CM_TABLE 256 @@ -214,3 +218,7 @@ typedef struct ColorManagedColorspaceSettings { enum { COLORMANAGE_VIEW_USE_CURVES = (1 << 0), }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h index 93a67602047..70d33d9ff94 100644 --- a/source/blender/makesdna/DNA_constraint_types.h +++ b/source/blender/makesdna/DNA_constraint_types.h @@ -28,6 +28,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct Action; struct Ipo; struct Text; @@ -1172,3 +1176,7 @@ typedef enum eStretchTo_Flags { #define CONSTRAINT_RB_CONETWIST 4 #define CONSTRAINT_RB_VEHICLE 11 #define CONSTRAINT_RB_GENERIC6DOF 12 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h index 4eca81c27cc..372cfb225fa 100644 --- a/source/blender/makesdna/DNA_curve_types.h +++ b/source/blender/makesdna/DNA_curve_types.h @@ -28,6 +28,10 @@ #include "DNA_listBase.h" #include "DNA_vec_types.h" +#ifdef __cplusplus +extern "C" { +#endif + #define MAXTEXTBOX 256 /* used in readfile.c and editfont.c */ struct AnimData; @@ -606,3 +610,7 @@ enum { /* indicates point has been seen during surface duplication */ #define SURF_SEEN 4 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_curveprofile_types.h b/source/blender/makesdna/DNA_curveprofile_types.h index 5b425741df2..450155a32e1 100644 --- a/source/blender/makesdna/DNA_curveprofile_types.h +++ b/source/blender/makesdna/DNA_curveprofile_types.h @@ -25,6 +25,10 @@ #include "DNA_vec_types.h" +#ifdef __cplusplus +extern "C" { +#endif + /** Number of points in high resolution table is dynamic up to a maximum. */ #define PROF_TABLE_MAX 512 /** Number of table points per control point. */ @@ -98,3 +102,7 @@ typedef enum eCurveProfilePresets { PROF_PRESET_CROWN = 3, /* Second molding example. */ PROF_PRESET_STEPS = 4, /* Dynamic number of steps defined by segments_len. */ } eCurveProfilePresets; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_dynamicpaint_types.h b/source/blender/makesdna/DNA_dynamicpaint_types.h index 94f54a0d200..24dc90d6c21 100644 --- a/source/blender/makesdna/DNA_dynamicpaint_types.h +++ b/source/blender/makesdna/DNA_dynamicpaint_types.h @@ -21,6 +21,11 @@ #pragma once #include "DNA_listBase.h" + +#ifdef __cplusplus +extern "C" { +#endif + struct PaintSurfaceData; /* surface format */ @@ -261,3 +266,7 @@ typedef struct DynamicPaintBrushSettings { float wave_factor, wave_clamp; float max_velocity, smudge_strength; } DynamicPaintBrushSettings; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_effect_types.h b/source/blender/makesdna/DNA_effect_types.h index c25e9d0dded..33f2e1b47c0 100644 --- a/source/blender/makesdna/DNA_effect_types.h +++ b/source/blender/makesdna/DNA_effect_types.h @@ -23,6 +23,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + /* don't forget, new effects also in writefile.c for dna!!! */ #define PAF_MAXMULT 4 @@ -129,3 +133,7 @@ typedef struct WaveEff { float timeoffs, lifetime; } WaveEff; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_fileglobal_types.h b/source/blender/makesdna/DNA_fileglobal_types.h index bb660fb8eaa..dc43524a325 100644 --- a/source/blender/makesdna/DNA_fileglobal_types.h +++ b/source/blender/makesdna/DNA_fileglobal_types.h @@ -23,6 +23,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + /** * FileGlobal stores a part of the current user-interface settings at * the moment of saving, and the file-specific settings. @@ -53,3 +57,7 @@ typedef struct FileGlobal { /* example: if in 2.43 the meshes lose mesh data, minversion is 2.43 then too */ /* or: in 2.42, subversion 1, same as above, minversion then is 2.42, min subversion 1 */ /* (defines for version are in the BKE_blender_version.h file, for historic reasons) */ + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_fluid_types.h b/source/blender/makesdna/DNA_fluid_types.h index 2786d4df868..98007a2b0b1 100644 --- a/source/blender/makesdna/DNA_fluid_types.h +++ b/source/blender/makesdna/DNA_fluid_types.h @@ -25,6 +25,10 @@ #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + /** * #FluidDomainSettings.flags * Domain flags. @@ -860,3 +864,7 @@ typedef struct FluidEffectorSettings { short guide_mode; char _pad2[2]; } FluidEffectorSettings; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h index f84265eea1d..bd5afc457ac 100644 --- a/source/blender/makesdna/DNA_gpencil_modifier_types.h +++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h @@ -23,6 +23,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct LatticeDeformData; /* WARNING ALERT! TYPEDEF VALUES ARE WRITTEN IN FILES! SO DO NOT CHANGE! @@ -801,3 +805,7 @@ typedef enum eTextureGpencil_Mode { FILL = 1, STROKE_AND_FILL = 2, } eTextureGpencil_Mode; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index 94b75642fd6..212f0bfa1c9 100644 --- a/source/blender/makesdna/DNA_gpencil_types.h +++ b/source/blender/makesdna/DNA_gpencil_types.h @@ -27,6 +27,10 @@ #include "DNA_brush_types.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; struct MDeformVert; struct Curve; @@ -835,3 +839,7 @@ typedef enum eGP_DrawMode { #define GPENCIL_ANY_VERTEX_MASK(flag) \ ((flag & (GP_VERTEX_MASK_SELECTMODE_POINT | GP_VERTEX_MASK_SELECTMODE_STROKE | \ GP_VERTEX_MASK_SELECTMODE_SEGMENT))) + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_gpu_types.h b/source/blender/makesdna/DNA_gpu_types.h index b1ace1bda49..8cea1451525 100644 --- a/source/blender/makesdna/DNA_gpu_types.h +++ b/source/blender/makesdna/DNA_gpu_types.h @@ -23,6 +23,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + /* Keep for 'Camera' versioning. */ /** Properties for dof effect. */ typedef struct GPUDOFSettings { @@ -36,3 +40,7 @@ typedef struct GPUDOFSettings { int num_blades; int high_quality; } GPUDOFSettings; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_hair_types.h b/source/blender/makesdna/DNA_hair_types.h index 27799560395..2e819b32033 100644 --- a/source/blender/makesdna/DNA_hair_types.h +++ b/source/blender/makesdna/DNA_hair_types.h @@ -23,6 +23,10 @@ #include "DNA_ID.h" #include "DNA_customdata_types.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct HairCurve { /* Index of first point of hair curve. */ int firstpoint; @@ -75,3 +79,7 @@ enum { /* Only one material supported currently. */ #define HAIR_MATERIAL_NR 1 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h index 6e0e3d6d6b7..4edf06f90f7 100644 --- a/source/blender/makesdna/DNA_image_types.h +++ b/source/blender/makesdna/DNA_image_types.h @@ -27,6 +27,10 @@ #include "DNA_color_types.h" /* for color management */ #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + struct GPUTexture; struct MovieCache; struct PackedFile; @@ -267,3 +271,7 @@ enum { IMA_ALPHA_CHANNEL_PACKED = 2, IMA_ALPHA_IGNORE = 3, }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_ipo_types.h b/source/blender/makesdna/DNA_ipo_types.h index dfd06702b72..8bb94976414 100644 --- a/source/blender/makesdna/DNA_ipo_types.h +++ b/source/blender/makesdna/DNA_ipo_types.h @@ -36,6 +36,10 @@ #include "BLI_compiler_attrs.h" +#ifdef __cplusplus +extern "C" { +#endif + /* -------------------------- Type Defines --------------------------- */ /* --- IPO Curve Driver --- */ @@ -516,3 +520,7 @@ typedef struct Ipo { /* driver->flag */ /* invalid flag: currently only used for buggy pydriver expressions */ #define IPO_DRIVER_FLAG_INVALID (1 << 0) + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_key_types.h b/source/blender/makesdna/DNA_key_types.h index 3a613d92e4f..9789d0d3520 100644 --- a/source/blender/makesdna/DNA_key_types.h +++ b/source/blender/makesdna/DNA_key_types.h @@ -30,6 +30,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; struct Ipo; @@ -158,3 +162,7 @@ enum { #define KEYELEM_ELEM_LEN_BEZTRIPLE 4 #define KEYELEM_FLOAT_LEN_BEZTRIPLE (KEYELEM_ELEM_LEN_BEZTRIPLE * KEYELEM_ELEM_SIZE_CURVE) + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_lattice_types.h b/source/blender/makesdna/DNA_lattice_types.h index 797df3bd738..48eb8d90702 100644 --- a/source/blender/makesdna/DNA_lattice_types.h +++ b/source/blender/makesdna/DNA_lattice_types.h @@ -26,6 +26,10 @@ #include "DNA_ID.h" #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; struct BPoint; struct Ipo; @@ -82,3 +86,7 @@ typedef struct Lattice { #define LT_DS_EXPAND 4 #define LT_ACTBP_NONE -1 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_light_types.h b/source/blender/makesdna/DNA_light_types.h index 1616cf949bd..9ca75347d23 100644 --- a/source/blender/makesdna/DNA_light_types.h +++ b/source/blender/makesdna/DNA_light_types.h @@ -26,6 +26,10 @@ #include "DNA_ID.h" #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + #ifndef MAX_MTEX # define MAX_MTEX 18 #endif @@ -154,3 +158,7 @@ typedef struct Light { /* #define LA_AREA_BOX 3 */ /* UNUSED */ #define LA_AREA_DISK 4 #define LA_AREA_ELLIPSE 5 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_linestyle_types.h b/source/blender/makesdna/DNA_linestyle_types.h index 422b99f00a0..b154de4507e 100644 --- a/source/blender/makesdna/DNA_linestyle_types.h +++ b/source/blender/makesdna/DNA_linestyle_types.h @@ -26,6 +26,10 @@ #include "DNA_ID.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + #ifndef MAX_MTEX # define MAX_MTEX 18 #endif @@ -575,3 +579,7 @@ typedef struct FreestyleLineStyle { ListBase thickness_modifiers; ListBase geometry_modifiers; } FreestyleLineStyle; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_mask_types.h b/source/blender/makesdna/DNA_mask_types.h index f877b8f0c51..296f5bceb81 100644 --- a/source/blender/makesdna/DNA_mask_types.h +++ b/source/blender/makesdna/DNA_mask_types.h @@ -31,6 +31,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct Mask { ID id; struct AnimData *adt; @@ -263,3 +267,7 @@ enum { enum { MASK_ANIMF_EXPAND = (1 << 4), }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h index 1d31b876068..919bd18be80 100644 --- a/source/blender/makesdna/DNA_material_types.h +++ b/source/blender/makesdna/DNA_material_types.h @@ -27,6 +27,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + #ifndef MAX_MTEX # define MAX_MTEX 18 #endif @@ -359,3 +363,7 @@ enum { GP_MATERIAL_FOLLOW_OBJ = 1, GP_MATERIAL_FOLLOW_FIXED = 2, }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h index 7cc94a2ad0b..b2f8d845815 100644 --- a/source/blender/makesdna/DNA_meshdata_types.h +++ b/source/blender/makesdna/DNA_meshdata_types.h @@ -26,6 +26,10 @@ #include "DNA_customdata_types.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + /* -------------------------------------------------------------------- */ /** \name Geometry Elements * \{ */ @@ -519,3 +523,7 @@ typedef struct MRecast { } MRecast; /** \} */ + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_meta_types.h b/source/blender/makesdna/DNA_meta_types.h index de7427bc4dd..a827003a9a0 100644 --- a/source/blender/makesdna/DNA_meta_types.h +++ b/source/blender/makesdna/DNA_meta_types.h @@ -27,6 +27,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; struct BoundBox; struct Ipo; @@ -138,3 +142,7 @@ typedef struct MetaBall { #define MB_NEGATIVE 2 #define MB_HIDE 8 #define MB_SCALE_RAD 16 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_nla_types.h b/source/blender/makesdna/DNA_nla_types.h index 1cf93464f6a..7808dd68384 100644 --- a/source/blender/makesdna/DNA_nla_types.h +++ b/source/blender/makesdna/DNA_nla_types.h @@ -25,6 +25,10 @@ #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct Ipo; struct Object; struct bAction; @@ -105,3 +109,7 @@ typedef enum eActStrip_Flag { ACTSTRIP_REVERSE = (1 << 7), ACTSTRIP_AUTO_BLENDS = (1 << 11), } eActStrip_Flag; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 6f6c9029d07..a5869a74ffc 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -29,6 +29,10 @@ #include "DNA_texture_types.h" #include "DNA_vec_types.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; struct ID; struct Image; @@ -1443,3 +1447,7 @@ typedef enum NodeSimInputTimeType { NODE_SIM_INPUT_SIMULATION_TIME = 0, NODE_SIM_INPUT_SCENE_TIME = 1, } NodeSimInputTimeType; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_object_enums.h b/source/blender/makesdna/DNA_object_enums.h index c230cc3c872..ee30be934ca 100644 --- a/source/blender/makesdna/DNA_object_enums.h +++ b/source/blender/makesdna/DNA_object_enums.h @@ -22,6 +22,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + /** #Object.mode */ typedef enum eObjectMode { OB_MODE_OBJECT = 0, @@ -71,3 +75,7 @@ typedef enum eDrawType { (OB_MODE_EDIT | OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_SCULPT | OB_MODE_POSE | \ OB_MODE_PAINT_GPENCIL | OB_MODE_EDIT_GPENCIL | OB_MODE_SCULPT_GPENCIL | \ OB_MODE_WEIGHT_GPENCIL | OB_MODE_VERTEX_GPENCIL) + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_outliner_types.h b/source/blender/makesdna/DNA_outliner_types.h index 52d466fdbdd..cc376c0cebf 100644 --- a/source/blender/makesdna/DNA_outliner_types.h +++ b/source/blender/makesdna/DNA_outliner_types.h @@ -25,6 +25,10 @@ #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + struct ID; typedef struct TreeStoreElem { @@ -128,3 +132,7 @@ enum { TSE_KEYMAP_ITEM, \ TSE_ID_BASE, \ TSE_GP_LAYER)) + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_packedFile_types.h b/source/blender/makesdna/DNA_packedFile_types.h index b74368f767b..91c7de6bf3e 100644 --- a/source/blender/makesdna/DNA_packedFile_types.h +++ b/source/blender/makesdna/DNA_packedFile_types.h @@ -23,8 +23,16 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + typedef struct PackedFile { int size; int seek; void *data; } PackedFile; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h index bd19498eba7..d48144f90e8 100644 --- a/source/blender/makesdna/DNA_particle_types.h +++ b/source/blender/makesdna/DNA_particle_types.h @@ -27,6 +27,10 @@ #include "DNA_boid_types.h" #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; typedef struct HairKey { @@ -690,3 +694,7 @@ typedef enum eParticleTextureInfluence { PAMAP_CHILD = (PAMAP_CLUMP | PAMAP_KINK_FREQ | PAMAP_KINK_AMP | PAMAP_ROUGH | PAMAP_LENGTH | PAMAP_TWIST), } eParticleTextureInfluence; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_pointcloud_types.h b/source/blender/makesdna/DNA_pointcloud_types.h index 86cff098096..26f1db3324b 100644 --- a/source/blender/makesdna/DNA_pointcloud_types.h +++ b/source/blender/makesdna/DNA_pointcloud_types.h @@ -23,6 +23,10 @@ #include "DNA_ID.h" #include "DNA_customdata_types.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct PointCloud { ID id; struct AnimData *adt; /* animation data (must be immediately after id) */ @@ -57,3 +61,7 @@ enum { /* Only one material supported currently. */ #define POINTCLOUD_MATERIAL_NR 1 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_rigidbody_types.h b/source/blender/makesdna/DNA_rigidbody_types.h index cd11c18578a..48f183e1e28 100644 --- a/source/blender/makesdna/DNA_rigidbody_types.h +++ b/source/blender/makesdna/DNA_rigidbody_types.h @@ -27,6 +27,10 @@ #include "DNA_listBase.h" #include "DNA_object_force_types.h" +#ifdef __cplusplus +extern "C" { +#endif + struct Collection; struct EffectorWeights; @@ -368,3 +372,7 @@ typedef enum eRigidBodyCon_Flag { } eRigidBodyCon_Flag; /* ******************************** */ + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h index e42ff2a6e58..3a99a6f4ee8 100644 --- a/source/blender/makesdna/DNA_screen_types.h +++ b/source/blender/makesdna/DNA_screen_types.h @@ -30,6 +30,10 @@ #include "DNA_ID.h" +#ifdef __cplusplus +extern "C" { +#endif + struct ARegion; struct ARegionType; struct PanelType; @@ -723,3 +727,7 @@ enum { /* Only editor overlays (currently gizmos only!) should be redrawn. */ RGN_DRAW_EDITOR_OVERLAYS = 32, }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_sdna_types.h b/source/blender/makesdna/DNA_sdna_types.h index 4505eed3208..39ec8fcecb6 100644 --- a/source/blender/makesdna/DNA_sdna_types.h +++ b/source/blender/makesdna/DNA_sdna_types.h @@ -22,6 +22,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + struct MemArena; # @@ -118,3 +122,7 @@ typedef struct BHead8 { uint64_t old; int SDNAnr, nr; } BHead8; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_shader_fx_types.h b/source/blender/makesdna/DNA_shader_fx_types.h index 07ccac5ba29..84b80310918 100644 --- a/source/blender/makesdna/DNA_shader_fx_types.h +++ b/source/blender/makesdna/DNA_shader_fx_types.h @@ -23,6 +23,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + struct DRWShadingGroup; /* WARNING ALERT! TYPEDEF VALUES ARE WRITTEN IN FILES! SO DO NOT CHANGE! @@ -251,3 +255,7 @@ typedef struct WaveShaderFxData { char _pad[4]; ShaderFxData_Runtime runtime; } WaveShaderFxData; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_simulation_types.h b/source/blender/makesdna/DNA_simulation_types.h index 4ff694b29cc..a700c9fe2f8 100644 --- a/source/blender/makesdna/DNA_simulation_types.h +++ b/source/blender/makesdna/DNA_simulation_types.h @@ -23,6 +23,10 @@ #include "DNA_ID.h" #include "DNA_customdata_types.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct Simulation { ID id; struct AnimData *adt; /* animation data (must be immediately after id) */ @@ -38,3 +42,7 @@ typedef struct Simulation { enum { SIM_DS_EXPAND = (1 << 0), }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_sound_types.h b/source/blender/makesdna/DNA_sound_types.h index 39e1c730f10..b2bb50c56a2 100644 --- a/source/blender/makesdna/DNA_sound_types.h +++ b/source/blender/makesdna/DNA_sound_types.h @@ -25,6 +25,10 @@ #include "DNA_ID.h" #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + struct Ipo; struct PackedFile; @@ -116,3 +120,7 @@ enum { SOUND_TAGS_WAVEFORM_NO_RELOAD = 1 << 0, SOUND_TAGS_WAVEFORM_LOADING = (1 << 6), }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index a3aa79d29e8..3b805c6edec 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -36,6 +36,10 @@ /* Hum ... Not really nice... but needed for spacebuts. */ #include "DNA_view2d_types.h" +#ifdef __cplusplus +extern "C" { +#endif + struct BLI_mempool; struct FileLayout; struct FileList; @@ -1761,3 +1765,7 @@ typedef enum eSpace_Type { #define IMG_SIZE_FALLBACK 256 /** \} */ + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_speaker_types.h b/source/blender/makesdna/DNA_speaker_types.h index 82693689d68..29cccd1ef3a 100644 --- a/source/blender/makesdna/DNA_speaker_types.h +++ b/source/blender/makesdna/DNA_speaker_types.h @@ -22,6 +22,10 @@ #include "DNA_ID.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; struct bSound; @@ -57,3 +61,7 @@ typedef struct Speaker { #define SPK_DS_EXPAND (1 << 0) #define SPK_MUTED (1 << 1) // #define SPK_RELATIVE (1 << 2) /* UNUSED */ + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_text_types.h b/source/blender/makesdna/DNA_text_types.h index 2dcb19d19b8..f63389bccf9 100644 --- a/source/blender/makesdna/DNA_text_types.h +++ b/source/blender/makesdna/DNA_text_types.h @@ -28,6 +28,10 @@ #include "DNA_ID.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct TextLine { struct TextLine *next, *prev; @@ -84,3 +88,7 @@ enum { /** Use space instead of tabs. */ TXT_TABSTOSPACES = 1 << 10, }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_tracking_types.h b/source/blender/makesdna/DNA_tracking_types.h index 0bbeabf130f..5db523dfad1 100644 --- a/source/blender/makesdna/DNA_tracking_types.h +++ b/source/blender/makesdna/DNA_tracking_types.h @@ -28,6 +28,10 @@ #include "DNA_defs.h" #include "DNA_listBase.h" +#ifdef __cplusplus +extern "C" { +#endif + /* match-moving data */ struct Image; @@ -624,3 +628,7 @@ enum { PLANE_TRACK_LOCKED = (1 << 2), PLANE_TRACK_AUTOKEY = (1 << 3), }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_vec_types.h b/source/blender/makesdna/DNA_vec_types.h index b8cbf85b683..0e3117c7f58 100644 --- a/source/blender/makesdna/DNA_vec_types.h +++ b/source/blender/makesdna/DNA_vec_types.h @@ -23,6 +23,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + /* types */ /** vector of two shorts. */ @@ -90,3 +94,7 @@ typedef struct DualQuat { float scale[4][4]; float scale_weight; } DualQuat; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_vfont_types.h b/source/blender/makesdna/DNA_vfont_types.h index 4e2a6eba1f5..6f0820ff62c 100644 --- a/source/blender/makesdna/DNA_vfont_types.h +++ b/source/blender/makesdna/DNA_vfont_types.h @@ -28,6 +28,10 @@ #include "DNA_ID.h" +#ifdef __cplusplus +extern "C" { +#endif + struct PackedFile; struct VFontData; @@ -59,3 +63,7 @@ typedef struct VFont { #define FO_CURS_IS_MOTION(mode) (ELEM(mode, FO_CURSUP, FO_CURSDOWN, FO_PAGEUP, FO_PAGEDOWN)) #define FO_BUILTIN_NAME "" + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_view2d_types.h b/source/blender/makesdna/DNA_view2d_types.h index 085f463a1cc..131772d49b4 100644 --- a/source/blender/makesdna/DNA_view2d_types.h +++ b/source/blender/makesdna/DNA_view2d_types.h @@ -25,6 +25,10 @@ #include "DNA_vec_types.h" +#ifdef __cplusplus +extern "C" { +#endif + /* ---------------------------------- */ /* View 2D data - stored per region */ @@ -173,3 +177,7 @@ enum { V2D_ALIGN_NO_POS_Y = (1 << 2), V2D_ALIGN_NO_NEG_Y = (1 << 3), }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_view3d_enums.h b/source/blender/makesdna/DNA_view3d_enums.h index fdeebf20808..3de430e1177 100644 --- a/source/blender/makesdna/DNA_view3d_enums.h +++ b/source/blender/makesdna/DNA_view3d_enums.h @@ -20,6 +20,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + /** Settings for offscreen rendering */ typedef enum eV3DOffscreenDrawFlag { V3D_OFSDRAW_NONE = (0), @@ -51,3 +55,7 @@ typedef enum eV3DShadingBackgroundType { V3D_SHADING_BACKGROUND_WORLD = 1, V3D_SHADING_BACKGROUND_VIEWPORT = 2, } eV3DShadingBackgroundType; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 7e80fc1bd6d..9a233878840 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -39,6 +39,10 @@ struct wmTimer; #include "DNA_object_types.h" #include "DNA_view3d_enums.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct RegionView3D { /** GL_PROJECTION matrix. */ @@ -635,3 +639,7 @@ enum { /** #BKE_screen_view3d_zoom_to_fac() values above */ #define RV3D_CAMZOOM_MIN_FACTOR 0.1657359312880714853f #define RV3D_CAMZOOM_MAX_FACTOR 44.9852813742385702928f + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_volume_types.h b/source/blender/makesdna/DNA_volume_types.h index d6a3cdf04bf..1344f295ea9 100644 --- a/source/blender/makesdna/DNA_volume_types.h +++ b/source/blender/makesdna/DNA_volume_types.h @@ -22,6 +22,10 @@ #include "DNA_ID.h" +#ifdef __cplusplus +extern "C" { +#endif + struct PackedFile; struct VolumeGridVector; @@ -148,3 +152,7 @@ typedef enum SliceAxis { /* Only one material supported currently. */ #define VOLUME_MATERIAL_NR 1 + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index 4b4e17b38bd..a7ad18d7cf3 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -31,6 +31,10 @@ #include "DNA_ID.h" +#ifdef __cplusplus +extern "C" { +#endif + /* defined here: */ struct wmWindow; struct wmWindowManager; @@ -569,3 +573,7 @@ enum { * (the regiontype is maintained to prevent errors) */ OP_IS_MODAL_CURSOR_REGION = (1 << 3), }; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_workspace_types.h b/source/blender/makesdna/DNA_workspace_types.h index b9ca2598ff3..edca887639e 100644 --- a/source/blender/makesdna/DNA_workspace_types.h +++ b/source/blender/makesdna/DNA_workspace_types.h @@ -24,6 +24,10 @@ #include "DNA_scene_types.h" +#ifdef __cplusplus +extern "C" { +#endif + # # typedef struct bToolRef_Runtime { @@ -188,3 +192,7 @@ typedef struct WorkSpaceInstanceHook { typedef enum eWorkSpaceFlags { WORKSPACE_USE_FILTER_BY_ORIGIN = (1 << 1), } eWorkSpaceFlags; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h index b1ecf4abf85..d1132efc7a9 100644 --- a/source/blender/makesdna/DNA_world_types.h +++ b/source/blender/makesdna/DNA_world_types.h @@ -26,6 +26,10 @@ #include "DNA_ID.h" #include "DNA_defs.h" +#ifdef __cplusplus +extern "C" { +#endif + struct AnimData; struct Ipo; struct bNodeTree; @@ -110,3 +114,7 @@ enum { * otherwise anim-editors will not read correctly */ #define WO_DS_SHOW_TEXS (1 << 2) + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/DNA_xr_types.h b/source/blender/makesdna/DNA_xr_types.h index caa5232788a..2ce32a723a7 100644 --- a/source/blender/makesdna/DNA_xr_types.h +++ b/source/blender/makesdna/DNA_xr_types.h @@ -22,6 +22,10 @@ #include "DNA_view3d_types.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct XrSessionSettings { /** Shading settings, struct shared with 3D-View so settings are the same. */ struct View3DShading shading; @@ -53,3 +57,7 @@ typedef enum eXRSessionBasePoseType { XR_BASE_POSE_OBJECT = 1, XR_BASE_POSE_CUSTOM = 2, } eXRSessionBasePoseType; + +#ifdef __cplusplus +} +#endif diff --git a/source/blender/makesdna/intern/dna_utils.h b/source/blender/makesdna/intern/dna_utils.h index a5c9d2a79a0..f711056c575 100644 --- a/source/blender/makesdna/intern/dna_utils.h +++ b/source/blender/makesdna/intern/dna_utils.h @@ -20,6 +20,10 @@ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + struct GHash; struct MemArena; @@ -53,3 +57,7 @@ void DNA_alias_maps(enum eDNA_RenameDir version_dir, const char *DNA_struct_rename_legacy_hack_alias_from_static(const char *name); const char *DNA_struct_rename_legacy_hack_static_from_alias(const char *name); + +#ifdef __cplusplus +} +#endif -- cgit v1.2.3