2 * ***** BEGIN GPL LICENSE BLOCK *****
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.
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.
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.
18 * ***** END GPL LICENSE BLOCK *****
21 #ifndef __CREATOR_INTERN_H__
22 #define __CREATOR_INTERN_H__
24 /** \file creator/creator_intern.h
27 * Functionality for main() initialization.
33 #ifndef WITH_PYTHON_MODULE
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);
40 /* creator_signals.c */
41 void main_signal_setup(void);
42 void main_signal_setup_background(void);
43 void main_signal_setup_fpe(void);
45 #endif /* WITH_PYTHON_MODULE */
48 /* Shared data for argument handlers to store state in */
49 struct ApplicationState {
51 bool use_crash_handler;
52 bool use_abort_handler;
55 /* we may want to set different exit codes for other kinds of errors */
61 extern struct ApplicationState app_state; /* creator.c */
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
71 #ifdef WITH_BUILDINFO_HEADER
75 /* from buildinfo.c */
77 extern char build_date[];
78 extern char build_time[];
79 extern char build_hash[];
80 extern unsigned long build_commit_timestamp;
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];
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[];
95 #endif /* __CREATOR_INTERN_H__ */