1 <project name="Sands" default="dist" basedir=".">\r
2 <description>\r
3 Build file for Sands office data tool\r
4 </description>\r
5 \r
6 <!-- set global properties for this build -->\r
7 <property name="version" location="0.45"/>\r
8 <property name="src" location="src"/>\r
9 <property name="gtk" location="c:/gtk28"/>\r
10 <property name="lib" location="lib"/>\r
11 <property name="build" location="build"/>\r
12 <property name="dist" location="inkscape"/>\r
13 \r
14 <target name="init">\r
15 <!-- Create the build directory structure used by compile -->\r
16 <mkdir dir="${build}"/>\r
17 <copy file="config.h.mingw" tofile="config.h"/>\r
18 </target>\r
19 \r
20 <target name="compile" depends="init"\r
21 description="compile the source " >\r
22 <!-- Compile from source to build -->\r
23 <cc cc="gcc" cxx="g++" destdir="${build}/obj">\r
24 <fileset dir="${src}">\r
25 <!-- THINGS TO EXCLUDE -->\r
26 <exclude name="ast/.*"/>\r
27 <exclude name="bonobo/.*"/>\r
28 <exclude name="deptool.cpp"/>\r
29 <exclude name="dialogs/filedialog-win32.cpp"/>\r
30 <exclude name="display/testnr.cpp"/>\r
31 <exclude name="display/bezier-utils-test.cpp"/>\r
32 <exclude name="dom/jsdombind.cpp"/>\r
33 <exclude name="dom/work/.*"/>\r
34 <exclude name="dom/odf/SvgOdg.cpp"/>\r
35 <exclude name="extension/api.cpp"/>\r
36 <exclude name="extension/dxf2svg/.*"/>\r
37 <exclude name="extension/internal/gnome.cpp"/>\r
38 <exclude name="extension/script/bindtest.cpp"/>\r
39 <exclude name="extension/script/cpptest.cpp"/>\r
40 <exclude name="extension/plugin/.*"/>\r
41 <exclude name="extract-uri-test.cpp"/>\r
42 <exclude name="helper/units-test.cpp"/>\r
43 <exclude name="inkview.cpp"/>\r
44 <exclude name="libnr/in-svg-plane-test.cpp"/>\r
45 <exclude name="libnr/nr-compose-reference.cpp"/>\r
46 <exclude name="libnr/nr-compose-test.cpp"/>\r
47 <exclude name="libnr/nr-matrix-test.cpp"/>\r
48 <exclude name="libnr/nr-point-fns-test.cpp"/>\r
49 <exclude name="libnr/nr-rotate-fns-test.cpp"/>\r
50 <exclude name="libnr/nr-rotate-test.cpp"/>\r
51 <exclude name="libnr/nr-scale-test.cpp"/>\r
52 <exclude name="libnr/nr-translate-test.cpp"/>\r
53 <exclude name="libnr/nr-types-test.cpp"/>\r
54 <exclude name="livarot/Path-test.cpp"/>\r
55 <exclude name="mod360-test.cpp"/>\r
56 <exclude name="trace/potrace/potest.cpp"/>\r
57 <exclude name="round-test.cpp"/>\r
58 <exclude name="sp-gradient-test.cpp"/>\r
59 <exclude name="svg/ftos.cpp"/>\r
60 <exclude name="utest/.*"/>\r
61 <exclude name="widgets/test-widgets.cpp"/>\r
62 <exclude name="xml/quote-test.cpp"/>\r
63 <exclude name="xml/repr-action-test.cpp"/>\r
64 <exclude name="io/streamtest.cpp"/>\r
65 <!--JABBER-->\r
66 <exclude name="pedro/pedrogui.cpp"/>\r
67 <exclude name="pedro/pedrogui.h"/>\r
68 <exclude name="pedro/work/.*"/>\r
69 <!--WHITEBOARD-->\r
70 <exclude name="ui/dialog/session-player.cpp"/>\r
71 <exclude name="ui/dialog/whiteboard-connect.cpp"/>\r
72 <exclude name="ui/dialog/whiteboard-sharewithchat.cpp"/>\r
73 <exclude name="ui/dialog/whiteboard-sharewithuser.cpp"/>\r
74 <exclude name="dialogs/whiteboard-connect-dialog.cpp"/>\r
75 <exclude name="dialogs/whiteboard-common-dialog.cpp"/>\r
76 <exclude name="dialogs/whiteboard-sharewithchat-dialog.cpp"/>\r
77 <exclude name="dialogs/whiteboard-sharewithuser-dialog.cpp"/>\r
78 <exclude name="jabber_whiteboard/node-tracker.cpp"/>\r
79 <exclude name="jabber_whiteboard/node-utilities.cpp"/>\r
80 <!--WHITEBOARD-->\r
81 <exclude name="removeoverlap/placement_SolveVPSC.cpp"/>\r
82 <exclude name="removeoverlap/placement_SolveVPSC.h"/>\r
83 <exclude name="removeoverlap/test.cpp"/>\r
84 <exclude name="removeoverlap/remove_rectangle_overlap-test.cpp"/>\r
85 <exclude name="removeoverlap/remove_rectangle_overlap-test.h"/>\r
86 </fileset>\r
87 <flags>\r
88 -Wall -O3\r
89 -mms-bitfields\r
90 </flags>\r
91 <defines>\r
92 -DVERSION=\"${version}\"\r
93 -DHAVE_CONFIG_H\r
94 -DXP_WIN <!-- for JS -->\r
95 -D_INTL_REDIRECT_INLINE\r
96 -DRELAYTOOL_SSL="static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }" <!-- inkboard -->\r
97 -DWITH_INKBOARD -DHAVE_SSL <!-- inkboard -->\r
98 </defines>\r
99 <includes>\r
100 -I${gtk}/include\r
101 <!-- GTK / GTKMM -->\r
102 -I${gtk}/include/glibmm-2.4\r
103 -I${gtk}/lib/glibmm-2.4/include\r
104 -I${gtk}/include/gtkmm-2.4\r
105 -I${gtk}/lib/gtkmm-2.4/include\r
106 -I${gtk}/include/gdkmm-2.4\r
107 -I${gtk}/lib/gdkmm-2.4/include\r
108 -I${gtk}/include/pangomm-1.4\r
109 -I${gtk}/include/atkmm-1.6\r
110 -I${gtk}/include/sigc++-2.0\r
111 -I${gtk}/lib/sigc++-2.0/include\r
112 -I${gtk}/include/gtk-2.0\r
113 -I${gtk}/lib/gtk-2.0/include\r
114 -I${gtk}/include/atk-1.0\r
115 -I${gtk}/include/pango-1.0\r
116 -I${gtk}/include/glib-2.0\r
117 -I${gtk}/lib/glib-2.0/include\r
118 <!-- OTHER -->\r
119 -I${gtk}/include/libxml2 \r
120 -I${gtk}/include/freetype2\r
121 -I${gtk}/include/cairo\r
122 <!-- PERL -->\r
123 -Wno-comment -I${gtk}/perl/lib/CORE\r
124 <!-- PYTHON -->\r
125 -I${gtk}/python/include\r
126 </includes>\r
127 </cc>\r
128 </target>\r
129 \r
130 <target name="lib" depends="compile">\r
131 <staticlib file="${build}/libinkscape.a">\r
132 <fileset dir="${build}/obj">\r
133 <exclude name="main,o"/>\r
134 <exclude name="winmain,o"/>\r
135 </fileset>\r
136 </staticlib>\r
137 </target>\r
138 \r
139 <target name="i18n" depends="compile">\r
140 <msgfmt todir="${build}/po">\r
141 <fileset dir="po">\r
142 </fileset>\r
143 </msgfmt>\r
144 </target>\r
145 \r
146 <target name="link" depends="lib">\r
147 <rc command="windres -o" \r
148 file="${src}/inkscape.rc"\r
149 out="${build}/inkres.o">\r
150 <flags>\r
151 --include-dir=${src}\r
152 </flags>\r
153 </rc>\r
154 <link command="g++" out="${build}/inkscape.exe">\r
155 <flags>\r
156 </flags>\r
157 <fileset>\r
158 <include name="${build}/inkres.o"/>\r
159 <include name="${build}/obj/main.o"/>\r
160 <include name="${build}/obj/winmain.o"/>\r
161 <include name="${build}/libinkscape.a"/>\r
162 </fileset>\r
163 <libs>\r
164 -L${gtk}/lib\r
165 -lgtkmm-2.4 -lgdkmm-2.4 -lglibmm-2.4\r
166 -latkmm-1.6 -lpangomm-1.4 -lsigc-2.0\r
167 -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0\r
168 -lgdk_pixbuf-2.0\r
169 -lpangocairo-1.0 -lpangoft2-1.0 -lpangowin32-1.0 -lpango-1.0\r
170 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lcairo\r
171 <!-- PERL -->\r
172 -L${gtk}/perl/lib/CORE -lperl58\r
173 <!-- PYTHON -->\r
174 -L${gtk}/python/libs -lpython24\r
175 ${gtk}/bin/libxml2.dll\r
176 ${gtk}/lib/iconv.lib\r
177 -lfreetype.dll -lfontconfig.dll\r
178 -llcms.dll\r
179 -lssl -lcrypto\r
180 -lpng -lpopt ${gtk}/lib/zdll.lib\r
181 -lgc -mwindows -lws2_32 -lintl -lm\r
182 </libs>\r
183 </link>\r
184 <strip file="${build}/inkscape.exe"/>\r
185 </target>\r
186 \r
187 <target name="dist" depends="link,i18n"\r
188 description="generate the distribution" >\r
189 <!-- Create the distribution directory -->\r
190 <copy file="${build}/inkscape.exe" todir="${dist}"/>\r
191 <copy file="AUTHORS" todir="${dist}"/>\r
192 <copy file="COPYING" todir="${dist}"/>\r
193 <copy file="COPYING.LIB" todir="${dist}"/>\r
194 <copy file="NEWS" todir="${dist}"/>\r
195 <copy file="README" todir="${dist}"/>\r
196 <copy file="TRANSLATORS" todir="${dist}"/>\r
197 <copy file="${gtk}/bin/libatkmm-1.6-1.dll" todir="${dist}"/>\r
198 <copy file="${gtk}/bin/libglibmm-2.4-1.dll" todir="${dist}"/>\r
199 <copy file="${gtk}/bin/libgtkmm-2.4-1.dll" todir="${dist}"/>\r
200 <copy file="${gtk}/bin/libgdkmm-2.4-1.dll" todir="${dist}"/>\r
201 <copy file="${gtk}/bin/libpangomm-1.4-1.dll" todir="${dist}"/>\r
202 <copy file="${gtk}/bin/libsigc-2.0-0.dll" todir="${dist}"/>\r
203 <copy file="${gtk}/bin/freetype6.dll" todir="${dist}"/>\r
204 <copy file="${gtk}/bin/libatk-1.0-0.dll" todir="${dist}"/>\r
205 <copy file="${gtk}/bin/libgdk-win32-2.0-0.dll" todir="${dist}"/>\r
206 <copy file="${gtk}/bin/libgdk_pixbuf-2.0-0.dll" todir="${dist}"/>\r
207 <copy file="${gtk}/bin/libglib-2.0-0.dll" todir="${dist}"/>\r
208 <copy file="${gtk}/bin/libgmodule-2.0-0.dll" todir="${dist}"/>\r
209 <copy file="${gtk}/bin/libgobject-2.0-0.dll" todir="${dist}"/>\r
210 <copy file="${gtk}/bin/libgtk-win32-2.0-0.dll" todir="${dist}"/>\r
211 <copy file="${gtk}/bin/libgthread-2.0-0.dll" todir="${dist}"/>\r
212 <copy file="${gtk}/bin/libcairo-2.dll" todir="${dist}"/>\r
213 <copy file="${gtk}/bin/libpangocairo-1.0-0.dll" todir="${dist}"/>\r
214 <copy file="${gtk}/bin/libpango-1.0-0.dll" todir="${dist}"/>\r
215 <copy file="${gtk}/bin/libpangoft2-1.0-0.dll" todir="${dist}"/>\r
216 <copy file="${gtk}/bin/libpangowin32-1.0-0.dll" todir="${dist}"/>\r
217 <copy file="${gtk}/bin/freetype6.dll" todir="${dist}"/>\r
218 <copy file="${gtk}/bin/libfontconfig-1.dll" todir="${dist}"/>\r
219 <copy file="${gtk}/bin/libxml2.dll" todir="${dist}"/>\r
220 <copy file="${gtk}/bin/xmlparse.dll" todir="${dist}"/>\r
221 <copy file="${gtk}/bin/jpeg62.dll" todir="${dist}"/>\r
222 <copy file="${gtk}/bin/libpng13.dll" todir="${dist}"/>\r
223 <copy file="${gtk}/bin/msvcr70.dll" todir="${dist}"/>\r
224 <copy file="${gtk}/bin/msvcr71.dll" todir="${dist}"/>\r
225 <copy file="${gtk}/bin/zlib1.dll" todir="${dist}"/>\r
226 <copy file="${gtk}/bin/iconv.dll" todir="${dist}"/>\r
227 <copy file="${gtk}/bin/popt1.dll" todir="${dist}"/>\r
228 <copy file="${gtk}/bin/liblcms-1.dll" todir="${dist}"/>\r
229 <copy file="${gtk}/bin/intl.dll" todir="${dist}"/>\r
230 <copy file="${gtk}/bin/intl.dll" tofile="${dist}/libintl-2.dll"/>\r
231 \r
232 <!-- MSGFMT files -->\r
233 <copy todir="${dist}"> <fileset dir="${build}/po"/> </copy>\r
234 \r
235 <!-- GTK -->\r
236 <copy todir="${dist}"> <fileset dir="${gtk}/etc"/> </copy>\r
237 <copy file="${gtk}/share/themes/MS-Windows/gtk-2.0/gtkrc" todir="${dist}/etc/gtk-2.0"/>\r
238 <copy todir="${dist}/lib"> <fileset dir="${gtk}/lib/gtk-2.0"/> </copy>\r
239 <copy todir="${dist}/lib"> <fileset dir="${gtk}/lib/glib-2.0"/> </copy>\r
240 <copy todir="${dist}/lib"> <fileset dir="${gtk}/lib/locale"/> </copy>\r
241 <copy todir="${dist}/lib"> <fileset dir="${gtk}/lib/pango"/> </copy>\r
242 <copy todir="${dist}"> <fileset dir="share"/> </copy>\r
243 <copy todir="${dist}/share"> <fileset dir="${gtk}/share/themes"/> </copy>\r
244 <mkdir dir="${dist}/data"/>\r
245 <mkdir dir="${dist}/locale"/>\r
246 <mkdir dir="${dist}/modules"/>\r
247 <mkdir dir="${dist}/plugins"/>\r
248 <copy file="${gtk}/bin/gdb.exe" todir="${dist}"/>\r
249 \r
250 <!-- PERL -->\r
251 <copy file="${gtk}/perl/bin/perl58.dll" todir="${dist}"/>\r
252 \r
253 <!-- PYTHON -->\r
254 <copy file="${gtk}/python/python24.dll" todir="${dist}"/>\r
255 <copy file="${gtk}/python/python.exe" todir="${dist}/python"/>\r
256 <copy todir="${dist}/python"> <fileset dir="${gtk}/python/Lib"/> </copy>\r
257 <copy todir="${dist}/python"> <fileset dir="${gtk}/python/DLLs"/> </copy>\r
258 <copy todir="${dist}/python"> <fileset dir="${gtk}/python/Scripts"/> </copy>\r
259 \r
260 \r
261 </target>\r
262 \r
263 <target name="clean"\r
264 description="clean up" >\r
265 <!-- Delete the ${build} and ${dist} directory trees -->\r
266 <delete dir="${build}"/>\r
267 <delete dir="${dist}"/>\r
268 </target>\r
269 </project>\r
270 \r