]> Pileus Git - ~andy/gtk/blob - build/win32/gengir_gtk.bat
Visual Studio Builds: Support Building Introspection Files
[~andy/gtk] / build / win32 / gengir_gtk.bat
1 @echo off\r
2 \r
3 setlocal EnableDelayedExpansion\r
4 \r
5 rem Needed environmental variables:\r
6 rem PLAT: Windows platform-Win32 (i.e. x86) or x64 (i.e. x86-64)\r
7 rem CONF: Configuration Type, Release or Debug\r
8 rem VSVER: Visual C++ version used [9, 10 or 11]\r
9 rem BASEDIR: Where the dependent libraries/headers are located\r
10 rem PKG_CONFIG_PATH: Where the GLib/ATK/Pango/GDK-Pixbuf and their dependent pkg-config .pc files can be found\r
11 rem MINGWDIR: Installation path of MINGW GCC, so gcc.exe can be found in %MINGWDIR%\bin.\r
12 \r
13 rem Note that the Python executable/installation and all the runtime dependencies of the\r
14 rem library/libraries need to be in your PATH or %BASEBIN%\bin.\r
15 \r
16 rem Check the environemental variables...\r
17 if /i "%PLAT%" == "Win32" goto PLAT_OK\r
18 if /i "%PLAT%" == "x64" goto PLAT_OK\r
19 if /i "%PLAT%" == "x86" (\r
20    set PLAT=Win32\r
21    goto PLAT_OK\r
22 )\r
23 if /i "%PLAT%" == "x86-64" (\r
24    set PLAT=x64\r
25    goto PLAT_OK\r
26 )\r
27 goto ERR_PLAT\r
28 \r
29 :PLAT_OK\r
30 if "%VSVER%" == "9" goto VSVER_OK\r
31 if "%VSVER%" == "10" goto VSVER_OK\r
32 if "%VSVER%" == "11" goto VSVER_OK\r
33 goto ERR_VSVER\r
34 :VSVER_OK\r
35 if /i "%CONF%" == "Release" goto CONF_OK\r
36 if /i "%CONF%" == "Debug" goto CONF_OK\r
37 goto ERR_CONF\r
38 :CONF_OK\r
39 if "%BASEDIR%" == "" goto ERR_BASEDIR\r
40 if not exist %BASEDIR% goto ERR_BASEDIR\r
41 \r
42 if "%PKG_CONFIG_PATH%" == "" goto ERR_PKGCONFIG\r
43 if not exist %PKG_CONFIG_PATH%\gobject-2.0.pc goto ERR_PKGCONFIG\r
44 \r
45 if "%MINGWDIR%" == "" goto ERR_MINGWDIR\r
46 if not exist %MINGWDIR%\bin\gcc.exe goto ERR_MINGWDIR\r
47 \r
48 set CC=cl\r
49 set BINDIR=%CD%\vs%VSVER%\%CONF%\%PLAT%\bin\r
50 set INCLUDE=%BASEDIR%\include\glib-2.0;%BASEDIR%\lib\glib-2.0\include;%INCLUDE%\r
51 set LIB=%BINDIR%;%BASEDIR%\lib;%LIB%\r
52 set PATH=%BINDIR%;%BASEDIR%\bin;%PATH%;%MINGWDIR%\bin\r
53 set PYTHONPATH=%BASEDIR%\lib\gobject-introspection;%BINDIR%\r
54 \r
55 echo Creating filelist files for generating GDK3/GTK3 .gir's...\r
56 call python gen-file-list-gtk.py\r
57 \r
58 echo Setup .bat for generating GDK3/GTK3 .gir's...\r
59 \r
60 rem ===============================================================================\r
61 rem Begin setup of gtk_gir.bat to create Gdk-3.0.gir\r
62 rem (The ^^ is necessary to span the command to multiple lines on Windows cmd.exe!)\r
63 rem ===============================================================================\r
64 \r
65 echo echo Generating Gdk-3.0.gir...> gtk_gir.bat\r
66 echo @echo off>> gtk_gir.bat\r
67 echo.>> gtk_gir.bat\r
68 rem ===============================================================\r
69 rem Setup the command line flags to g-ir-scanner for Gdk-3.0.gir...\r
70 rem ===============================================================\r
71 echo python %BASEDIR%\bin\g-ir-scanner --verbose -I..\.. -I..\..\gdk ^^>> gtk_gir.bat\r
72 echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include ^^>> gtk_gir.bat\r
73 echo -I%BASEDIR%\include\pango-1.0 -I%BASEDIR%\include\atk-1.0 ^^>> gtk_gir.bat\r
74 echo -I%BASEDIR%\include\gdk-pixbuf-2.0 -I%BASEDIR%\include ^^>> gtk_gir.bat\r
75 echo --namespace=Gdk --nsversion=3.0 ^^>> gtk_gir.bat\r
76 echo --include=Gio-2.0 --include=GdkPixbuf-2.0 ^^>> gtk_gir.bat\r
77 echo --include=Pango-1.0 --include=cairo-1.0 ^^>> gtk_gir.bat\r
78 echo --no-libtool --library=gdk-3-vs%VSVER% ^^>> gtk_gir.bat\r
79 echo --reparse-validate --add-include-path=%BASEDIR%\share\gir-1.0 --add-include-path=. ^^>> gtk_gir.bat\r
80 echo --pkg-export gdk-3.0 --warn-all --c-include="gdk/gdk.h" ^^>> gtk_gir.bat\r
81 echo -I..\.. -DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION ^^>> gtk_gir.bat\r
82 echo --filelist=gdk_list ^^>> gtk_gir.bat\r
83 echo -o Gdk-3.0.gir>> gtk_gir.bat\r
84 echo.>> gtk_gir.bat\r
85 \r
86 echo Completed setup of .bat for generating Gdk-3.0.gir.\r
87 echo.>> gtk_gir.bat\r
88 \r
89 rem =================================================\r
90 rem Finish setup of gtk_gir.bat to create Gtk-3.0.gir\r
91 rem =================================================\r
92 \r
93 rem ===============================================================================\r
94 rem Begin setup of gtk_gir.bat to create Gtk-3.0.gir\r
95 rem (The ^^ is necessary to span the command to multiple lines on Windows cmd.exe!)\r
96 rem ===============================================================================\r
97 \r
98 echo echo Generating Gtk-3.0.gir...>> gtk_gir.bat\r
99 echo.>> gtk_gir.bat\r
100 rem ===============================================================\r
101 rem Setup the command line flags to g-ir-scanner for Gtk-3.0.gir...\r
102 rem ===============================================================\r
103 echo python %BASEDIR%\bin\g-ir-scanner --verbose -I..\.. -I..\..\gtk -I..\..\gdk ^^>> gtk_gir.bat\r
104 echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include ^^>> gtk_gir.bat\r
105 echo -I%BASEDIR%\include\pango-1.0 -I%BASEDIR%\include\atk-1.0 ^^>> gtk_gir.bat\r
106 echo -I%BASEDIR%\include\gdk-pixbuf-2.0 -I%BASEDIR%\include ^^>> gtk_gir.bat\r
107 echo --namespace=Gtk --nsversion=3.0 ^^>> gtk_gir.bat\r
108 echo --include=Atk-1.0 ^^>> gtk_gir.bat\r
109 echo --include-uninstalled=./Gdk-3.0.gir ^^>> gtk_gir.bat\r
110 echo --no-libtool --library=gtk-3-vs%VSVER% ^^>> gtk_gir.bat\r
111 echo --reparse-validate --add-include-path=%BASEDIR%\share\gir-1.0 --add-include-path=. ^^>> gtk_gir.bat\r
112 echo --pkg-export gtk+-3.0 --warn-all --c-include="gtk/gtkx.h" ^^>> gtk_gir.bat\r
113 echo -I..\.. -DG_LOG_DOMAIN=\"Gtk\" -DGTK_LIBDIR=\"/dummy/lib\" ^^>> gtk_gir.bat\r
114 echo -DGTK_DATADIR=\"/dummy/share\" -DGTK_DATA_PREFIX=\"/dummy\" ^^>> gtk_gir.bat\r
115 echo -DGTK_SYSCONFDIR=\"/dummy/etc\" -DGTK_VERSION=\"3.6.2\" ^^>> gtk_gir.bat\r
116 echo -DGTK_BINARY_VERSION=\"3.0.0\" -DGTK_HOST=\"i686-pc-vs%VSVER%\" ^^>> gtk_gir.bat\r
117 echo -DGTK_COMPILATION -DGTK_PRINT_BACKENDS=\"file\" ^^>> gtk_gir.bat\r
118 echo -DGTK_PRINT_PREVIEW_COMMAND=\"undefined-gtk-print-preview-command\" ^^>> gtk_gir.bat\r
119 echo -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED ^^>> gtk_gir.bat\r
120 echo -DINCLUDE_IM_am_et -DINCLUDE_IM_cedilla -DINCLUDE_IM_cyrillic_translit ^^>> gtk_gir.bat\r
121 echo -DINCLUDE_IM_ime -DINCLUDE_IM_inuktitut -DINCLUDE_IM_ipa ^^>> gtk_gir.bat\r
122 echo -DINCLUDE_IM_multipress -DINCLUDE_IM_thai -DINCLUDE_IM_ti_er ^^>> gtk_gir.bat\r
123 echo -DINCLUDE_IM_ti_et -DINCLUDE_IM_viqr --filelist=gtk_list ^^>> gtk_gir.bat\r
124 echo -o Gtk-3.0.gir>> gtk_gir.bat\r
125 echo.>> gtk_gir.bat\r
126 \r
127 echo Completed setup of .bat for generating Gtk-3.0.gir.\r
128 echo.>> gtk_gir.bat\r
129 \r
130 rem =================================================\r
131 rem Finish setup of gtk_gir.bat to create Gtk-3.0.gir\r
132 rem =================================================\r
133 \r
134 rem =======================\r
135 rem Now generate the .gir's\r
136 rem =======================\r
137 CALL gtk_gir.bat\r
138 \r
139 rem Clean up the .bat/filelists for generating the .gir files...\r
140 del gtk_gir.bat\r
141 del gdk_list\r
142 del gtk_list\r
143 \r
144 rem Now compile the generated .gir files\r
145 %BASEDIR%\bin\g-ir-compiler --includedir=. --debug --verbose Gdk-3.0.gir -o Gdk-3.0.typelib\r
146 %BASEDIR%\bin\g-ir-compiler --includedir=. --debug --verbose Gtk-3.0.gir -o Gtk-3.0.typelib\r
147 rem Copy the generated .girs and .typelibs to their appropriate places\r
148 \r
149 mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0\r
150 move /y *.gir %BASEDIR%\share\gir-1.0\\r
151 \r
152 mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\lib\girepository-1.0\r
153 move /y *.typelib %BASEDIR%\lib\girepository-1.0\\r
154 \r
155 goto DONE\r
156 \r
157 :ERR_PLAT\r
158 echo You need to specify a valid Platform [set PLAT=Win32 or PLAT=x64]\r
159 goto DONE\r
160 :ERR_VSVER\r
161 echo You need to specify your Visual Studio version [set VSVER=9 or VSVER=10 or VSVER=11]\r
162 goto DONE\r
163 :ERR_CONF\r
164 echo You need to specify a valid Configuration [set CONF=Release or CONF=Debug]\r
165 goto DONE\r
166 :ERR_BASEDIR\r
167 echo You need to specify a valid BASEDIR.\r
168 goto DONE\r
169 :ERR_PKGCONFIG\r
170 echo You need to specify a valid PKG_CONFIG_PATH\r
171 goto DONE\r
172 :ERR_MINGWDIR\r
173 echo You need to specify a valid MINGWDIR, where a valid gcc installation can be found.\r
174 goto DONE\r
175 :DONE\r
176 \r