Fix build error on Windows 32 bit.
[blender-staging.git] / source / creator / creator_intern.h
1 /*
2  * ***** BEGIN GPL LICENSE BLOCK *****
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  *
18  * ***** END GPL LICENSE BLOCK *****
19  */
20
21 #ifndef __CREATOR_INTERN_H__
22 #define __CREATOR_INTERN_H__
23
24 /** \file creator/creator_intern.h
25  *  \ingroup creator
26  *
27  * Functionality for main() initialization.
28  */
29
30 struct bArgs;
31 struct bContext;
32
33 #ifndef WITH_PYTHON_MODULE
34
35 /* creator_args.c */
36 void main_args_setup(struct bContext *C, struct bArgs *ba, SYS_SystemHandle *syshandle);
37 void main_args_setup_post(struct bContext *C, struct bArgs *ba);
38
39
40 /* creator_signals.c */
41 void main_signal_setup(void);
42 void main_signal_setup_background(void);
43 void main_signal_setup_fpe(void);
44
45 #endif  /* WITH_PYTHON_MODULE */
46
47
48 /* Shared data for argument handlers to store state in */
49 struct ApplicationState {
50         struct {
51                 bool use_crash_handler;
52                 bool use_abort_handler;
53         } signal;
54
55         /* we may want to set different exit codes for other kinds of errors */
56         struct {
57                 unsigned char python;
58         } exit_code_on_error;
59
60 };
61 extern struct ApplicationState app_state;  /* creator.c */
62
63 /* for the callbacks: */
64 #ifndef WITH_PYTHON_MODULE
65 #define BLEND_VERSION_FMT         "Blender %d.%02d (sub %d)"
66 #define BLEND_VERSION_ARG         BLENDER_VERSION / 100, BLENDER_VERSION % 100, BLENDER_SUBVERSION
67 /* pass directly to printf */
68 #define BLEND_VERSION_STRING_FMT  BLEND_VERSION_FMT "\n", BLEND_VERSION_ARG
69 #endif
70
71 #ifdef WITH_BUILDINFO_HEADER
72 #  define BUILD_DATE
73 #endif
74
75 /* from buildinfo.c */
76 #ifdef BUILD_DATE
77  extern char build_date[];
78 extern char build_time[];
79 extern char build_hash[];
80 extern unsigned long build_commit_timestamp;
81
82 /* TODO(sergey): ideally size need to be in sync with buildinfo.c */
83 extern char build_commit_date[16];
84 extern char build_commit_time[16];
85
86 extern char build_branch[];
87 extern char build_platform[];
88 extern char build_type[];
89 extern char build_cflags[];
90 extern char build_cxxflags[];
91 extern char build_linkflags[];
92 extern char build_system[];
93 #endif
94
95 #endif  /* __CREATOR_INTERN_H__ */