1 <!--
2 * Inkscape build file.
3 *
4 * See buildtool.cpp for use.
5 *
6 * Authors:
7 * Bob Jamison
8 * Others
9 *
10 * Copyright (C) 2006-2008 Inkscape.org
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 -->
29 <!--
30 ########################################################################
31 ## P R O J E C T : I N K S C A P E
32 ########################################################################
33 -->
34 <project name="Inkscape" default="dist-inkscape" basedir=".">
35 <description>
36 Build file for the Inkscape SVG editor. This file
37 was written for GTK-2.10 on Win32, but it should work
38 well for other types of builds with only minor adjustments.
39 Note that the default target is 'dist'. You can execute other
40 targets instead, by "btool {target}", like "btool compile", if
41 you want to save time.
42 </description>
44 <!-- set global properties for this build -->
45 <property name="version" value="0.46+devel"/>
46 <property name="src" location="src"/>
47 <property name="lib" location="lib"/>
48 <property name="build" location="build"/>
49 <property name="dist" location="inkscape"/>
51 <!-- Use these settings for the native compiler -->
52 <!-- -->
53 <property name="arch" value="mingw32-"/>
54 <property name="archutil" value=""/>
55 <property name="devlibs" location="${env.DEVLIBS_PATH}"/>
56 <property name="mingw_bin" location="${env.MINGW_BIN}"/>
57 <property name="cxxtest" location="cxxtest"/>
58 <property name="python" location="${devlibs}/python/python.exe"/>
59 <!-- -->
61 <!-- Use these settings for the cross compiler -->
62 <!--
63 <property name="arch" value="i686-pc-mingw32-"/>
64 <property name="archutil" value="${arch}"/>
65 <property name="devlibs" location="/target"/>
66 <property name="mingw_bin" location="${env.MINGW_BIN}"/>
67 <property name="cxxtest" location="cxxtest"/>
68 <property name="python" location="python"/>
69 -->
71 <!-- Extra properties -->
72 <property name="refresh" value="false"/>
74 <!--
75 This is for package-config. With these two settings, pkg-config
76 queries can be as simple as ${pcc.packageName} for cflags, and
77 ${pcl.packageName} for libs. Dependencies are calculated automatically.
78 -->
79 <property name="pkg-config-path" location="${devlibs}/lib/pkgconfig"/>
80 <property name="pkg-config-prefix" location="${devlibs}"/>
83 <!--
84 ########################################################################
85 ## T A R G E T : I N I T
86 ########################################################################
87 -->
88 <target name="init"
89 description=
90 "Do all preparatory tasks, like make directories and copy files">
93 <mkdir dir="${build}"/>
94 <mkdir dir="${build}/java"/>
95 <mkdir dir="${build}/java/classes"/>
96 <mkdir dir="${build}/java/lib"/>
97 <mkdir dir="${dist}"/>
99 <copy file="${src}/helper/sp-marshal.h.mingw"
100 tofile="${src}/helper/sp-marshal.h"/>
101 <copy file="${src}/helper/sp-marshal.cpp.mingw"
102 tofile="${src}/helper/sp-marshal.cpp"/>
104 <makefile file="${src}/inkscape-version.cpp">
105 namespace Inkscape {
106 char const *version_string = "${version} ${svn.revision}";
107 }
108 </makefile>
109 <makefile file="config.h">
110 #ifndef _CONFIG_H_
111 #define _CONFIG_H_
113 #ifndef WIN32
114 #define WIN32
115 #endif
117 /*######################################
118 ## This is for require-config.h, whose
119 ## purpose I cannot fathom.
120 ######################################*/
122 #define PACKAGE_TARNAME
124 /*######################################
125 #### RESOURCE DIRECTORIES
126 ######################################*/
128 #define INKSCAPE_DATADIR "."
129 #define PACKAGE_LOCALE_DIR "locale"
132 /*######################################
133 #### OTHER DEFINITIONS
134 ######################################*/
136 #define GETTEXT_PACKAGE "inkscape"
138 #define PACKAGE_STRING VERSION
140 #define HAVE_GETOPT_H 1
141 #define HAVE_STRING_H 1
142 #define HAVE_LIBINTL_H 1
143 #define HAVE_MALLOC_H 1
144 #define HAVE_STDLIB_H 1
145 #define HAVE_SYS_STAT_H 1
146 #define HAVE_INTTYPES_H 1
147 #define HAVE_OPENMP 1
149 #define ENABLE_LCMS 1
151 #define ENABLE_NLS 1
152 #define HAVE_BIND_TEXTDOMAIN_CODESET 1
154 /* keep binreloc off */
155 #define BR_PTHREADS 0
156 #undef ENABLE_BINRELOC
158 /* CairoPDF options */
159 #define HAVE_CAIRO_PDF 1
160 #define PANGO_ENABLE_ENGINE 1
161 #define RENDER_WITH_PANGO_CAIRO 1
163 #define HAVE_GTK_WINDOW_FULLSCREEN 1
165 /* internal interpreter */
166 #define WITH_PYTHON 1
168 /* shared whiteboard */
169 #undef WITH_INKBOARD
170 #undef HAVE_SSL
172 /* use poppler for pdf import? */
173 #define HAVE_POPPLER 1
174 #define HAVE_POPPLER_CAIRO 1
176 /* do we want bitmap manipulation? */
177 #define WITH_IMAGE_MAGICK 1
179 /* Allow reading WordPerfect? */
180 #define WITH_LIBWPG 1
182 /* Do we support SVG Fonts? */
183 #define ENABLE_SVG_FONTS 1
185 /* Do we want experimental, unsupported, unguaranteed, etc., LivePathEffects enabled? */
186 // #define LPE_ENABLE_TEST_EFFECTS 1
188 #define HAVE_ASPELL 1
190 #endif /* _CONFIG_H_ */
191 </makefile>
192 </target>
194 <!--
195 ########################################################################
196 ## T A R G E T : C X X T E S T
197 ########################################################################
198 -->
199 <target name="cxxtest" depends="init"
200 description="generate test files" >
202 <!-- Generate CxxTest files -->
203 <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
204 out="${src}/test-src.cpp">
205 <fileset dir="${src}">
206 <include name="attributes-test.h"/>
207 <include name="color-profile-test.h"/>
208 <include name="dir-util-test.h"/>
209 <include name="extract-uri-test.h"/>
210 <include name="mod360-test.h"/>
211 <include name="preferences-test.h"/>
212 <include name="round-test.h"/>
213 <include name="sp-gradient-test.h"/>
214 <include name="sp-style-elem-test.h"/>
215 <include name="syle-test.h"/>
216 <include name="test-helpers.h"/>
217 <include name="verbs-test.h"/>
218 </fileset>
219 </cxxtestpart>
220 <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
221 out="${src}/display/test-display.cpp">
222 <fileset dir="${src}/display">
223 <include name="curve-test.h"/>
224 </fileset>
225 </cxxtestpart>
226 <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
227 out="${src}/helper/test-helper.cpp">
228 <fileset dir="${src}/helper">
229 <include name="units-test.h"/>
230 </fileset>
231 </cxxtestpart>
232 <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
233 out="${src}/libnr/test-nr.cpp">
234 <fileset dir="${src}/libnr">
235 <include name="nr-compose-test.h"/>
236 <include name="nr-types-test.h"/>
237 <include name="nr-translate-test.h"/>
238 <include name="nr-rotate-test.h"/>
239 <include name="nr-scale-test.h"/>
240 <include name="nr-point-fns-test.h"/>
241 <include name="nr-rotate-fns-test.h"/>
242 <include name="in-svg-plane-test.h"/>
243 <include name="nr-matrix-test.h"/>
244 </fileset>
245 </cxxtestpart>
246 <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
247 out="${src}/svg/test-svg.cpp">
248 <fileset dir="${src}/svg">
249 <include name="css-ostringstream-test.h"/>
250 <include name="stringstream-test.h"/>
251 <include name="svg-affine-test.h"/>
252 <include name="svg-color-test.h"/>
253 <include name="svg-length-test.h"/>
254 <include name="svg-path-geom-test.h"/>
255 </fileset>
256 </cxxtestpart>
257 <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
258 out="${src}/util/test-util.cpp">
259 <fileset dir="${src}/util">
260 <include name="list-container-test.h"/>
261 </fileset>
262 </cxxtestpart>
263 <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
264 out="${src}/xml/test-xml.cpp">
265 <fileset dir="${src}/xml">
266 <include name="repr-action-test.h"/>
267 <include name="quote-test.h"/>
268 </fileset>
269 </cxxtestpart>
270 <cxxtestroot command="${python} ${cxxtest}/cxxtestgen.py"
271 out="${src}/test-main.cpp"
272 template="${src}/cxxtest-template.tpl">
273 <fileset dir="${src}">
274 <include name="MultiPrinter.h"/>
275 <include name="PylogFormatter.h"/>
276 <include name="TRPIFormatter.h"/>
277 </fileset>
278 </cxxtestroot>
279 </target>
282 <!--
283 ########################################################################
284 ## T A R G E T : C O M P I L E
285 ########################################################################
286 -->
287 <target name="compile" depends="cxxtest"
288 description="compile the source to .o" >
290 <!-- Compile from source to build -->
291 <cc cc="${arch}gcc" cxx="${arch}g++"
292 destdir="${build}/obj"
293 continueOnError="true"
294 refreshCache="${refresh}">
295 <fileset dir="${src}">
296 <!-- THINGS TO EXCLUDE -->
297 <exclude name="2geom/chebyshev.cpp"/>
298 <exclude name="ast/.*"/>
299 <exclude name="bonobo/.*"/>
300 <exclude name="deptool.cpp"/>
301 <exclude name="cxxtests.cpp"/>
302 <!--<exclude name="test-main.cpp"/>-->
303 <!--<exclude name="test-src.cpp"/>-->
304 <exclude name="display/test-display.cpp"/>
305 <exclude name="display/testnr.cpp"/>
306 <exclude name="dom/work/.*"/>
307 <exclude name="dom/odf/SvgOdg.cpp"/>
308 <exclude name="extension/api.cpp"/>
309 <exclude name="extension/dxf2svg/.*"/>
310 <exclude name="extension/implementation/plugin.cpp"/>
311 <exclude name="extension/script/bindtest.cpp"/>
312 <exclude name="extension/script/cpptest.cpp"/>
313 <exclude name="extension/plugin/.*"/>
314 <exclude name="extract-uri-test.cpp"/>
315 <exclude name="helper/units-test.cpp"/>
316 <!-- exclude name="inkview.cpp"/-->
317 <!--<exclude name="libnr/test-nr.cpp"/>-->
318 <exclude name="libnr/test-nr-main.cpp"/>
319 <exclude name="libnr/testnr.cpp"/>
320 <exclude name="libnr/in-svg-plane-test.cpp"/>
321 <exclude name="libnr/nr-matrix-test.cpp"/>
322 <exclude name="libnr/nr-point-fns-test.cpp"/>
323 <exclude name="libnr/nr-rotate-fns-test.cpp"/>
324 <exclude name="libnr/nr-rotate-test.cpp"/>
325 <exclude name="libnr/nr-scale-test.cpp"/>
326 <exclude name="libnr/nr-translate-test.cpp"/>
327 <exclude name="libnr/nr-types-test.cpp"/>
328 <exclude name="livarot/Path-test.cpp"/>
329 <exclude name="mod360-test.cpp"/>
330 <exclude name="trace/potrace/potest.cpp"/>
331 <exclude name="round-test.cpp"/>
332 <exclude name="sp-gradient-test.cpp"/>
333 <exclude name="style-test.cpp"/>
334 <exclude name="svg/ftos.cpp"/>
335 <!--<exclude name="svg/test-svg.cpp"/>-->
336 <exclude name="svg/test-svg-main.cpp"/>
337 <exclude name="util/list-container-test.cpp"/>
338 <exclude name="widgets/test-widgets.cpp"/>
339 <exclude name="xml/quote-test.cpp"/>
340 <exclude name="xml/repr-action-test.cpp"/>
341 <exclude name="xml/test-xml.cpp"/>
342 <!--<exclude name="xml/test-xml-main.cpp"/>-->
343 <exclude name="io/streamtest.cpp"/>
344 <!--JABBER-->
345 <exclude name="pedro/pedrogui.cpp"/>
346 <exclude name="pedro/pedrogui.h"/>
347 <exclude name="pedro/work/.*"/>
348 <!--WHITEBOARD-->
349 <exclude name="ui/dialog/session-player.cpp"/>
350 <exclude name="ui/dialog/whiteboard-connect.cpp"/>
351 <exclude name="ui/dialog/whiteboard-sharewithchat.cpp"/>
352 <exclude name="ui/dialog/whiteboard-sharewithuser.cpp"/>
353 <exclude name="dialogs/whiteboard-connect-dialog.cpp"/>
354 <exclude name="dialogs/whiteboard-common-dialog.cpp"/>
355 <exclude name="dialogs/whiteboard-sharewithchat-dialog.cpp"/>
356 <exclude name="dialogs/whiteboard-sharewithuser-dialog.cpp"/>
357 <exclude name="jabber_whiteboard/node-tracker.cpp"/>
358 <exclude name="jabber_whiteboard/node-utilities.cpp"/>
359 <!--OVERLAP-->
360 <exclude name="removeoverlap/placement_SolveVPSC.cpp"/>
361 <exclude name="removeoverlap/placement_SolveVPSC.h"/>
362 <exclude name="removeoverlap/test.cpp"/>
363 <exclude name="removeoverlap/remove_rectangle_overlap-test.cpp"/>
364 <exclude name="removeoverlap/remove_rectangle_overlap-test.h"/>
365 </fileset>
366 <excludeinc dir="${src}">
367 <file name="extension/param"/>
368 </excludeinc>
369 <flags>
370 -Wall -Wformat -Werror=format-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch
371 -O2
372 -mms-bitfields
373 -fopenmp
374 </flags>
375 <defines>
376 -DVERSION=\"${version}\"
377 -DHAVE_CONFIG_H
378 -D_INTL_REDIRECT_INLINE
379 -DHAVE_SSL
380 -DRELAYTOOL_SSL="static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }" <!-- inkboard -->
381 -DPOPPLER_NEW_GFXFONT <!-- poppler changed the api for 0.8.3 -->
382 </defines>
383 <includes>
384 -I${devlibs}/include
385 <!-- GTK / GTKMM -->
386 ${pcc.gtkmm-2.4}
387 <!-- OTHER -->
388 -I${devlibs}/include/libxml2
389 ${pcc.freetype2}
390 ${pcc.cairo}
391 ${pcc.poppler}
392 -I${devlibs}/include/gc
393 ${pcc.libwpg-0.1} ${pcc.libwpg-stream-0.1}
394 -I${cxxtest}
395 <!-- PERL -->
396 <!-- -Wno-comment -I${devlibs}/perl/lib/CORE -->
397 <!-- PYTHON -->
398 -I${devlibs}/python/include
399 <!-- JAVA -->
400 -I${src}/bind/javainc -I${src}/bind/javainc/win32
401 </includes>
402 </cc>
403 </target>
406 <!--
407 ########################################################################
408 ## T A R G E T : L I B
409 ########################################################################
410 -->
411 <target name="lib" depends="compile"
412 description="create a static library">
413 <staticlib command="${archutil}ar crsv"
414 file="${build}/libinkscape.a">
415 <fileset dir="${build}/obj">
416 <exclude name="main.o"/>
417 <exclude name="winmain.o"/>
418 <exclude name="inkview.o"/>
419 <!-- CxxTest -->
420 <exclude name="test-main.o"/>
421 <exclude name="test-src.o"/>
422 <exclude name="display/test-display.o"/>
423 <exclude name="helper/test-helper.o"/>
424 <exclude name="libnr/nr-compose-reference.o"/>
425 <exclude name="libnr/test-nr.o"/>
426 <exclude name="svg/test-svg.o"/>
427 <exclude name="util/test-util.o"/>
428 <exclude name="xml/test-xml.o"/>
429 </fileset>
430 </staticlib>
431 </target>
435 <!--
436 ########################################################################
437 ## T A R G E T : I 1 8 N
438 ########################################################################
439 -->
440 <target name="i18n" depends="compile"
441 description="compile gettext .po files to .mo">
443 <msgfmt todir="${build}/locale" owndir="true"
444 out="LC_MESSAGES/inkscape.mo">
445 <fileset dir="po">
446 </fileset>
447 </msgfmt>
448 </target>
454 <!--
455 ########################################################################
456 ## T A R G E T : L I N K
457 ########################################################################
458 -->
459 <target name="link" depends="lib"
460 description="link objects and library to create executable">
462 <rc command="${archutil}windres"
463 file="${src}/inkscape.rc"
464 out="${build}/inkres.o">
465 <flags>
466 --include-dir=${src}
467 </flags>
468 </rc>
469 <link command="${arch}g++" out="${build}/inkscape.exe"
470 strip="true" symfile="${build}/inkscape.dbg"
471 stripcommand="${archutil}strip"
472 objcopycommand="${archutil}objcopy">
473 <flags>
474 -mwindows
475 -mthreads
476 </flags>
477 <fileset dir="${build}">
478 <include name="inkres.o"/>
479 <include name="obj/main.o"/>
480 <include name="obj/winmain.o"/>
481 <include name="libinkscape.a"/>
482 </fileset>
483 <!-- WARNING: If you change these libraries, don't forget to change them for inkview and cxxtests below as well! -->
484 <libs>
485 -L${devlibs}/lib
486 ${pcl.poppler-cairo} ${pcl.poppler-glib} ${pcl.poppler}
487 ${pcl.gtkmm-2.4} ${pcl.pangoft2} ${pcl.gthread-2.0}
488 ${devlibs}/bin/libxml2.dll
489 ${devlibs}/bin/libxslt.dll
490 ${pcl.cairo} ${pcl.cairomm-1.0}
491 ${pcl.libwpg-0.1} ${pcl.libwpg-stream-0.1}
492 ${devlibs}/lib/iconv.lib
493 ${pcl.ImageMagick++}
494 ${pcl.fontconfig} ${pcl.freetype2}
495 -lssl -lcrypto
496 ${pcl.lcms}
497 ${pcl.gsl}
498 -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
499 -lgc
500 -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
501 -lgomp -lpthreadGC2 -laspell
502 -lmscms <!-- required for color profiles -->
503 </libs>
504 </link>
505 </target>
511 <!--
512 ########################################################################
513 ## T A R G E T : L I N K I N K V I E W
514 ########################################################################
515 -->
516 <target name="linkinkview" depends="lib"
517 description="link objects and library to create Inkview executable">
519 <rc command="${archutil}windres"
520 file="${src}/inkview.rc"
521 out="${build}/inkviewres.o">
522 <flags>
523 --include-dir=${src}
524 </flags>
525 </rc>
526 <link command="${arch}g++" out="${build}/inkview.exe"
527 strip="true" symfile="${build}/inkview.dbg"
528 stripcommand="${archutil}strip"
529 objcopycommand="${archutil}objcopy">
530 <flags>
531 -mwindows
532 -mthreads
533 </flags>
534 <fileset dir="${build}">
535 <include name="inkviewres.o"/>
536 <include name="obj/inkview.o"/>
537 <include name="libinkscape.a"/>
538 </fileset>
539 <libs>
540 -L${devlibs}/lib
541 ${pcl.poppler-cairo} ${pcl.poppler-glib} ${pcl.poppler}
542 ${pcl.gtkmm-2.4} ${pcl.pangoft2} ${pcl.gthread-2.0}
543 ${devlibs}/bin/libxml2.dll
544 ${devlibs}/bin/libxslt.dll
545 ${pcl.cairo} ${pcl.cairomm-1.0}
546 ${pcl.libwpg-0.1} ${pcl.libwpg-stream-0.1}
547 ${devlibs}/lib/iconv.lib
548 ${pcl.ImageMagick++}
549 ${pcl.fontconfig} ${pcl.freetype2}
550 -lssl -lcrypto
551 ${pcl.lcms}
552 ${pcl.gsl}
553 -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
554 -lgc
555 -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
556 -lgomp -lpthreadGC2 -laspell
557 -lmscms <!-- required for color profiles -->
558 </libs>
559 </link>
560 </target>
564 <!--
565 ########################################################################
566 ## T A R G E T : L I N K C X X T E S T S
567 ########################################################################
568 -->
569 <target name="linkcxxtests" depends="lib"
570 description="link objects and library to create executable">
572 <link command="${arch}g++" out="${build}/cxxtests.exe"
573 strip="true" symfile="${build}/cxxtests.dbg"
574 stripcommand="${archutil}strip"
575 objcopycommand="${archutil}objcopy">
576 <flags>
577 -mthreads
578 </flags>
579 <fileset dir="${build}">
580 <include name="obj/test-main.o"/>
581 <include name="obj/test-src.o"/>
582 <include name="obj/display/test-display.o"/>
583 <include name="obj/helper/test-helper.o"/>
584 <include name="obj/libnr/nr-compose-reference.o"/>
585 <include name="obj/libnr/test-nr.o"/>
586 <include name="obj/svg/test-svg.o"/>
587 <include name="obj/util/test-util.o"/>
588 <include name="obj/xml/test-xml.o"/>
589 <include name="libinkscape.a"/>
590 </fileset>
591 <libs>
592 -L${devlibs}/lib
593 ${pcl.poppler-cairo} ${pcl.poppler-glib} ${pcl.poppler}
594 ${pcl.gtkmm-2.4} ${pcl.pangoft2} ${pcl.gthread-2.0}
595 ${devlibs}/bin/libxml2.dll
596 ${devlibs}/bin/libxslt.dll
597 ${pcl.cairo} ${pcl.cairomm-1.0}
598 ${pcl.libwpg-0.1} ${pcl.libwpg-stream-0.1}
599 ${devlibs}/lib/iconv.lib
600 ${pcl.ImageMagick++}
601 ${pcl.fontconfig} ${pcl.freetype2}
602 -lssl -lcrypto
603 ${pcl.lcms}
604 ${pcl.gsl}
605 -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
606 -lgc
607 -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
608 -lgomp -lpthreadGC2 -laspell
609 -lmscms <!-- required for color profiles -->
610 </libs>
611 </link>
612 </target>
615 <!--
616 ########################################################################
617 ## T A R G E T : D I S T B A S E
618 ########################################################################
619 -->
620 <target name="distbase" depends="i18n"
621 description="generate the distribution directory with all needed files">
623 <!-- Create the distribution directory -->
624 <copy todir="${dist}" file="AUTHORS"/>
625 <copy todir="${dist}" file="COPYING"/>
626 <copy todir="${dist}" file="COPYING.LIB"/>
627 <copy todir="${dist}" file="NEWS"/>
628 <copy todir="${dist}" file="README"/>
629 <copy todir="${dist}" file="TRANSLATORS"/>
630 <copy todir="${dist}" file="${devlibs}/bin/libatkmm-1.6-1.dll"/>
631 <copy todir="${dist}" file="${devlibs}/bin/libglibmm-2.4-1.dll"/>
632 <copy todir="${dist}" file="${devlibs}/bin/libgtkmm-2.4-1.dll"/>
633 <copy todir="${dist}" file="${devlibs}/bin/libgdkmm-2.4-1.dll"/>
634 <copy todir="${dist}" file="${devlibs}/bin/libpangomm-1.4-1.dll"/>
635 <copy todir="${dist}" file="${devlibs}/bin/libcairomm-1.0-1.dll"/>
636 <copy todir="${dist}" file="${devlibs}/bin/libsigc-2.0-0.dll"/>
637 <copy todir="${dist}" file="${devlibs}/bin/freetype6.dll"/>
638 <copy todir="${dist}" file="${devlibs}/bin/libatk-1.0-0.dll"/>
639 <copy todir="${dist}" file="${devlibs}/bin/libgdk-win32-2.0-0.dll"/>
640 <copy todir="${dist}" file="${devlibs}/bin/libgdk_pixbuf-2.0-0.dll"/>
641 <copy todir="${dist}" file="${devlibs}/bin/libglib-2.0-0.dll"/>
642 <copy todir="${dist}" file="${devlibs}/bin/libgmodule-2.0-0.dll"/>
643 <copy todir="${dist}" file="${devlibs}/bin/libgobject-2.0-0.dll"/>
644 <copy todir="${dist}" file="${devlibs}/bin/libgtk-win32-2.0-0.dll"/>
645 <copy todir="${dist}" file="${devlibs}/bin/libgthread-2.0-0.dll"/>
646 <copy todir="${dist}" file="${devlibs}/bin/libgio-2.0-0.dll"/>
647 <copy todir="${dist}" file="${devlibs}/bin/libcairo-2.dll"/>
648 <copy todir="${dist}" file="${devlibs}/bin/libpoppler-3.dll"/>
649 <copy todir="${dist}" file="${devlibs}/bin/libpangocairo-1.0-0.dll"/>
650 <copy todir="${dist}" file="${devlibs}/bin/libpango-1.0-0.dll"/>
651 <copy todir="${dist}" file="${devlibs}/bin/libpangoft2-1.0-0.dll"/>
652 <copy todir="${dist}" file="${devlibs}/bin/libpangowin32-1.0-0.dll"/>
653 <copy todir="${dist}" file="${devlibs}/bin/freetype6.dll"/>
654 <copy todir="${dist}" file="${devlibs}/bin/libfontconfig-1.dll"/>
655 <copy todir="${dist}" file="${devlibs}/bin/libxml2.dll"/>
656 <copy todir="${dist}" file="${devlibs}/bin/libxslt.dll"/>
657 <copy todir="${dist}" file="${devlibs}/bin/libexpat.dll"/>
658 <!--<copy file="${devlibs}/bin/libexpat.dll" tofile="${dist}/xmlparse.dll"/>-->
659 <copy todir="${dist}" file="${devlibs}/bin/libwpg-0.1.dll"/>
660 <copy todir="${dist}" file="${devlibs}/bin/libwpg-stream-0.1.dll"/>
661 <copy todir="${dist}" file="${devlibs}/bin/libwpd-0.8.dll"/>
662 <copy todir="${dist}" file="${devlibs}/bin/libwpd-stream-0.8.dll"/>
663 <copy todir="${dist}" file="${devlibs}/bin/jpeg62.dll"/>
664 <copy todir="${dist}" file="${devlibs}/bin/libpng13.dll"/>
665 <!-- GTK changed their dep file name for PNG! :-( -->
666 <copy todir="${dist}" file="${devlibs}/bin/libpng12-0.dll"/>
667 <copy todir="${dist}" file="${devlibs}/bin/libtiff3.dll"/>
668 <copy todir="${dist}" file="${devlibs}/bin/msvcr70.dll"/>
669 <copy todir="${dist}" file="${devlibs}/bin/msvcr71.dll"/>
670 <copy todir="${dist}" file="${devlibs}/bin/zlib1.dll"/>
671 <copy todir="${dist}" file="${devlibs}/bin/iconv.dll"/>
672 <copy todir="${dist}" file="${devlibs}/bin/libpopt-0.dll"/>
673 <copy todir="${dist}" file="${devlibs}/bin/liblcms-1.dll"/>
674 <copy todir="${dist}" file="${devlibs}/bin/intl.dll"/>
675 <copy todir="${dist}" file="${devlibs}/bin/pthreadGC2.dll"/>
676 <copy file="${devlibs}/bin/intl.dll" tofile="${dist}/libintl-2.dll"/>
677 <!-- MINGW dll needed, I think for openmp support -->
678 <copy todir="${dist}" file="${mingw_bin}/mingwm10.dll"/>
680 <!-- MSGFMT files -->
681 <copy todir="${dist}">
682 <fileset dir="${build}/locale">
683 <exclude name=".*\.am"/>
684 </fileset>
685 </copy>
687 <mkdir dir="${dist}/data"/>
688 <mkdir dir="${dist}/locale"/>
689 <mkdir dir="${dist}/modules"/>
690 <mkdir dir="${dist}/plugins"/>
692 <!-- GTK -->
693 <copy todir="${dist}"> <fileset dir="${devlibs}/etc"/> </copy>
694 <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/gtk-2.0"/> </copy>
695 <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/glib-2.0"/> </copy>
696 <copy todir="${dist}">
697 <fileset dir="share">
698 <exclude name=".*\.am"/>
699 <exclude name=".*\.in"/>
700 <exclude name=".*\.sh"/>
701 </fileset>
702 </copy>
703 <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/locale"/> </copy>
704 <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/themes"/> </copy>
705 <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/poppler"/> </copy>
706 <copy todir="${dist}" file="${devlibs}/bin/gdb.exe"/>
708 <!-- Aspell dictionaries -->
709 <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/aspell-0.60"/> </copy>
711 <!-- Necessary to run extensions on windows if it is not in the path -->
712 <copy todir="${dist}" file="${devlibs}/bin/gspawn-win32-helper.exe"/>
713 <copy todir="${dist}" file="${devlibs}/bin/gspawn-win32-helper-console.exe"/>
715 <!-- PERL -->
716 <copy todir="${dist}" file="${devlibs}/perl/bin/perl58.dll"/>
718 <!-- PYTHON -->
719 <copy todir="${dist}" file="${devlibs}/python/python25.dll"/>
720 <copy todir="${dist}/python" file="${devlibs}/python/python.exe" />
721 <copy todir="${dist}/python" file="${devlibs}/python/pythonw.exe"/>
722 <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/Lib"/> </copy>
723 <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/DLLs"/> </copy>
724 <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/Scripts"/> </copy>
726 <!--<copy file="${devlibs}/share/themes/MS-Windows/gtk-2.0/gtkrc" todir="${dist}/etc/gtk-2.0"/>-->
727 <makefile file="${dist}/etc/gtk-2.0/gtkrc">
728 gtk-icon-sizes = "gtk-menu=16,16:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32:inkscape-decoration=16,16"
729 gtk-toolbar-icon-size = small-toolbar
731 # disable images in buttons. i've only seen ugly delphi apps use this feature.
732 gtk-button-images = 0
734 # disable the annoying beep in editable controls
735 gtk-error-bell = 0
737 # enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly.
738 # the office apps use them heavily, though.
739 gtk-menu-images = 1
741 # use the win32 button ordering instead of the GNOME HIG one, where applicable
742 gtk-alternative-button-order = 1
744 style "msw-default"
745 {
746 GtkWidget::interior-focus = 1
747 GtkOptionMenu::indicator-size = { 9, 5 }
748 GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
749 GtkSpinButton::shadow-type = in
751 # Owen and I disagree that these should be themable
752 #GtkUIManager::add-tearoffs = 0
753 #GtkComboBox::add-tearoffs = 0
755 GtkComboBox::appears-as-list = 1
756 GtkComboBox::focus-on-click = 0
758 GOComboBox::add_tearoffs = 0
760 GtkTreeView::allow-rules = 0
761 GtkTreeView::expander-size = 12
763 GtkExpander::expander-size = 12
765 GtkScrolledWindow::scrollbar_spacing = 1
767 GtkSeparatorMenuItem::horizontal-padding = 2
769 engine "wimp"
770 {
771 }
772 }
773 class "*" style "msw-default"
774 </makefile>
776 </target>
779 <!--
780 ########################################################################
781 ## T A R G E T : D I S T - I N K S C A P E
782 ########################################################################
783 -->
784 <target name="dist-inkscape" depends="link,distbase"
785 description="copy inkscape to the distribution directory">
787 <!-- Create the distribution directory -->
788 <copy todir="${dist}" file="${build}/inkscape.exe"/>
789 <copy todir="${dist}" file="${build}/inkscape.dbg"/>
790 </target>
793 <!--
794 ########################################################################
795 ## T A R G E T : D I S T - I N K V I E W
796 ########################################################################
797 -->
798 <target name="dist-inkview" depends="linkinkview,distbase"
799 description="copy inkview to the distribution directory">
801 <!-- Create the distribution directory -->
802 <copy todir="${dist}" file="${build}/inkview.exe"/>
803 <copy todir="${dist}" file="${build}/inkview.dbg"/>
804 </target>
807 <!--
808 ########################################################################
809 ## T A R G E T : C H E C K
810 ########################################################################
811 -->
812 <target name="check" depends="linkcxxtests,distbase"
813 description="perform unit tests">
814 <cxxtestrun command="${build}/cxxtests" workingdir="${dist}" />
815 </target>
818 <!--
819 ########################################################################
820 ## T A R G E T : JAVAC
821 ########################################################################
822 -->
823 <target name="javac" depends="init"
824 description="compile java binding classes">
825 <javac srcdir="${src}/bind/java" destdir="${build}/java/classes"/>
826 </target>
829 <!--
830 ########################################################################
831 ## T A R G E T : JAR
832 ########################################################################
833 -->
834 <target name="jar" depends="javac"
835 description="pack java classes and resources into a jar file">
836 <copy todir="${build}/java/classes"> <fileset dir="${devlibs}/bind/data"/> </copy>
837 <jar basedir="${build}/java/classes" destfile="${build}/java/lib/inkscape.jar"/>
838 </target>
840 <!--
841 ########################################################################
842 ## T A R G E T : BINDDIST
843 ########################################################################
844 -->
845 <target name="binddist" depends="jar"
846 description="pack java classes and resources into a jar file">
847 <copy todir="${dist}/share/bind"> <fileset dir="${devlibs}/bind/java"/> </copy>
848 <copy todir="${dist}/share/bind/java"> <fileset dir="${build}/java/lib"/> </copy>
850 </target>
852 <!--
853 ########################################################################
854 ## T A R G E T : BINDCLEAN
855 ########################################################################
856 -->
857 <target name="bindclean" depends=""
858 description="clean up java binding classes">
859 <delete dir="${build}/java"/>
860 </target>
865 <!--
866 ########################################################################
867 ## T A R G E T : D I S T - A L L
868 ########################################################################
869 -->
870 <target name="dist-all" depends="dist-inkscape,dist-inkview"
871 description="generate the distribution, along with inkview" >
872 </target>
877 <!--
878 ########################################################################
879 ## T A R G E T : D I S T - A L L - C H E C K
880 ########################################################################
881 -->
882 <target name="dist-all-check" depends="dist-all,check"
883 description="generate the distribution, along with inkview and run cxxtests" >
884 </target>
890 <!--
891 ########################################################################
892 ## T A R G E T : C L E A N
893 ########################################################################
894 -->
895 <target name="clean" depends="bindclean"
896 description="clean up. deleting build and distro dirs" >
898 <delete dir="${build}"/>
899 <delete dir="${dist}"/>
900 <delete file="build.dep"/>
901 <delete file="config.h"/>
902 <delete file="${src}/inkscape-version.cpp"/>
903 <delete file="${src}/test-main.cpp"/>
904 <delete file="${src}/test-src.cpp"/>
905 <delete file="${src}/display/test-display.cpp"/>
906 <delete file="${src}/helper/test-helper.cpp"/>
907 <delete file="${src}/libnr/test-nr.cpp"/>
908 <delete file="${src}/svg/test-svg.cpp"/>
909 <delete file="${src}/util/test-util.cpp"/>
910 <delete file="${src}/xml/test-xml.cpp"/>
912 </target>
916 </project>
917 <!--
918 ########################################################################
919 ## E N D
920 ########################################################################
921 -->