Code

Make curvature work again by fixing a minor omission
[inkscape.git] / build.xml
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.47+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}"/>
98     
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"/>
103           
104     <!--makefile file="${src}/inkscape-version.cpp">
105         namespace Inkscape {
106             char const *version_string = "${version} ${svn.revision}";
107         }
108     </makefile-->
109     <makefile file="${src}/inkscape-version.cpp">
110         namespace Inkscape {
111             char const *version_string = "${version}";
112         }
113     </makefile>
114     <makefile file="config.h">
115         #ifndef _CONFIG_H_
116         #define _CONFIG_H_
118         #ifndef WIN32
119         #define WIN32
120         #endif
122         /*######################################
123         ## This is for require-config.h, whose
124         ## purpose I cannot fathom.
125         ######################################*/
126         
127         #define PACKAGE_TARNAME
129         /*######################################
130         #### RESOURCE DIRECTORIES
131         ######################################*/
133         #define INKSCAPE_DATADIR       "."
134         #define PACKAGE_LOCALE_DIR     "locale"
137         /*######################################
138         #### OTHER DEFINITIONS
139         ######################################*/
141         #define GETTEXT_PACKAGE "inkscape"
143         #define PACKAGE_STRING                VERSION
145         #define HAVE_GETOPT_H                 1
146         #define HAVE_STRING_H                 1
147         #define HAVE_LIBINTL_H                1
148         #define HAVE_MALLOC_H                 1
149         #define HAVE_STDLIB_H                 1
150         #define HAVE_SYS_STAT_H               1
151         #define HAVE_INTTYPES_H               1
152         #define HAVE_OPENMP                   1
154         #define ENABLE_LCMS                   1
156         #define ENABLE_NLS                    1
157         #define HAVE_BIND_TEXTDOMAIN_CODESET  1
159         /* keep binreloc off */
160         #define BR_PTHREADS 0
161         #undef ENABLE_BINRELOC
163         /* CairoPDF options */
164         #define HAVE_CAIRO_PDF                1
165         #define PANGO_ENABLE_ENGINE           1
166         #define RENDER_WITH_PANGO_CAIRO       1
168         #define HAVE_GTK_WINDOW_FULLSCREEN    1
169         
170         /* internal interpreter */
171         #define WITH_PYTHON                   1
173         /* shared whiteboard */
174         #undef WITH_INKBOARD
175         #undef HAVE_SSL
176         
177         /* use poppler for pdf import? */
178         #define HAVE_POPPLER                  1
179         #define HAVE_POPPLER_CAIRO            1
181         /* do we want bitmap manipulation? */
182         #define WITH_IMAGE_MAGICK             1
184         /* Allow reading WordPerfect? */
185         #define WITH_LIBWPG                   1
187         /* Do we support SVG Fonts? */
188         #define ENABLE_SVG_FONTS              1
190         /* Do we want experimental, unsupported, unguaranteed, etc., LivePathEffects enabled? */
191         #define LPE_ENABLE_TEST_EFFECTS    1
193         #define HAVE_ASPELL                   1
195         #endif /* _CONFIG_H_ */
196     </makefile>
197   </target>
199   <!--
200   ########################################################################
201   ## T A R G E T    :    C X X T E S T
202   ########################################################################
203   -->
204   <target name="cxxtest" depends="init"
205         description="generate test files" >
207     <!-- Generate CxxTest files -->
208     <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
209                  out="${src}/test-src.cpp">
210         <fileset dir="${src}">
211             <include name="attributes-test.h"/>
212             <include name="color-profile-test.h"/>
213             <include name="dir-util-test.h"/>
214             <include name="extract-uri-test.h"/>
215             <include name="mod360-test.h"/>
216             <include name="preferences-test.h"/>
217             <include name="round-test.h"/>
218             <include name="sp-gradient-test.h"/>
219             <include name="sp-style-elem-test.h"/>
220             <include name="syle-test.h"/>
221             <include name="test-helpers.h"/>
222             <include name="verbs-test.h"/>
223         </fileset>
224     </cxxtestpart>
225     <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
226                  out="${src}/display/test-display.cpp">
227         <fileset dir="${src}/display">
228             <include name="curve-test.h"/>
229         </fileset>
230     </cxxtestpart>
231     <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
232                  out="${src}/helper/test-helper.cpp">
233         <fileset dir="${src}/helper">
234             <include name="units-test.h"/>
235         </fileset>
236     </cxxtestpart>
237     <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
238                  out="${src}/libnr/test-nr.cpp">
239         <fileset dir="${src}/libnr">
240             <include name="nr-compose-test.h"/>
241             <include name="nr-types-test.h"/>
242             <include name="nr-translate-test.h"/>
243             <include name="nr-rotate-test.h"/>
244             <include name="nr-scale-test.h"/>
245             <include name="nr-point-fns-test.h"/>
246             <include name="nr-rotate-fns-test.h"/>
247             <include name="in-svg-plane-test.h"/>
248             <include name="nr-matrix-test.h"/>
249         </fileset>
250     </cxxtestpart>
251     <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
252                  out="${src}/svg/test-svg.cpp">
253         <fileset dir="${src}/svg">
254             <include name="css-ostringstream-test.h"/>
255             <include name="stringstream-test.h"/>
256             <include name="svg-affine-test.h"/>
257             <include name="svg-color-test.h"/>
258             <include name="svg-length-test.h"/>
259             <include name="svg-path-geom-test.h"/>
260         </fileset>
261     </cxxtestpart>
262     <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
263                  out="${src}/util/test-util.cpp">
264         <fileset dir="${src}/util">
265             <include name="list-container-test.h"/>
266         </fileset>
267     </cxxtestpart>
268     <cxxtestpart command="${python} ${cxxtest}/cxxtestgen.py --have-eh"
269                  out="${src}/xml/test-xml.cpp">
270         <fileset dir="${src}/xml">
271             <include name="repr-action-test.h"/>
272             <include name="quote-test.h"/>
273         </fileset>
274     </cxxtestpart>
275     <cxxtestroot command="${python} ${cxxtest}/cxxtestgen.py" 
276                  out="${src}/test-main.cpp"
277                  template="${src}/cxxtest-template.tpl">
278         <fileset dir="${src}">
279             <include name="MultiPrinter.h"/>
280             <include name="PylogFormatter.h"/>
281             <include name="TRPIFormatter.h"/>
282         </fileset>
283     </cxxtestroot>
284   </target>
287   <!--
288   ########################################################################
289   ## T A R G E T    :    C O M P I L E
290   ########################################################################
291   -->
292   <target name="compile" depends="cxxtest"
293         description="compile the source to .o" >
295     <!-- Compile from source to build -->
296     <cc cc="${arch}gcc" cxx="${arch}g++"
297              destdir="${build}/obj"
298              continueOnError="true"
299              refreshCache="${refresh}">
300         <fileset dir="${src}">
301             <!-- THINGS TO EXCLUDE -->
302             <exclude name="2geom/chebyshev.cpp"/>
303             <exclude name="ast/.*"/>
304             <exclude name="bonobo/.*"/>
305             <exclude name="deptool.cpp"/>
306             <exclude name="cxxtests.cpp"/>
307             <!--<exclude name="test-main.cpp"/>-->
308             <!--<exclude name="test-src.cpp"/>-->
309             <exclude name="display/test-display.cpp"/>
310             <exclude name="display/testnr.cpp"/>
311             <exclude name="dom/work/.*"/>
312             <exclude name="dom/odf/SvgOdg.cpp"/>
313             <exclude name="extension/api.cpp"/>
314             <exclude name="extension/dxf2svg/.*"/>
315             <exclude name="extension/implementation/plugin.cpp"/>
316             <exclude name="extension/script/bindtest.cpp"/>
317             <exclude name="extension/script/cpptest.cpp"/>
318             <exclude name="extension/plugin/.*"/>
319             <exclude name="extract-uri-test.cpp"/>
320             <exclude name="helper/units-test.cpp"/>
321             <!-- exclude name="inkview.cpp"/-->
322             <!--<exclude name="libnr/test-nr.cpp"/>-->
323             <exclude name="libnr/test-nr-main.cpp"/>
324             <exclude name="libnr/testnr.cpp"/>
325             <exclude name="libnr/in-svg-plane-test.cpp"/>
326             <exclude name="libnr/nr-matrix-test.cpp"/>
327             <exclude name="libnr/nr-point-fns-test.cpp"/>
328             <exclude name="libnr/nr-rotate-fns-test.cpp"/>
329             <exclude name="libnr/nr-rotate-test.cpp"/>
330             <exclude name="libnr/nr-scale-test.cpp"/>
331             <exclude name="libnr/nr-translate-test.cpp"/>
332             <exclude name="libnr/nr-types-test.cpp"/>
333             <exclude name="livarot/Path-test.cpp"/>
334             <exclude name="mod360-test.cpp"/>
335             <exclude name="trace/potrace/potest.cpp"/>
336             <exclude name="round-test.cpp"/>
337             <exclude name="sp-gradient-test.cpp"/>
338             <exclude name="style-test.cpp"/>
339             <exclude name="svg/ftos.cpp"/>
340             <!--<exclude name="svg/test-svg.cpp"/>-->
341             <exclude name="svg/test-svg-main.cpp"/>
342             <exclude name="util/list-container-test.cpp"/>
343             <exclude name="widgets/test-widgets.cpp"/>
344             <exclude name="xml/quote-test.cpp"/>
345             <exclude name="xml/repr-action-test.cpp"/>
346             <exclude name="xml/test-xml.cpp"/>
347             <!--<exclude name="xml/test-xml-main.cpp"/>-->
348             <exclude name="io/streamtest.cpp"/>
349             <!--JABBER-->
350             <exclude name="pedro/pedrogui.cpp"/>
351             <exclude name="pedro/pedrogui.h"/>
352             <exclude name="pedro/work/.*"/>
353             <!--WHITEBOARD-->
354             <exclude name="ui/dialog/session-player.cpp"/>
355             <exclude name="ui/dialog/whiteboard-connect.cpp"/>
356             <exclude name="ui/dialog/whiteboard-sharewithchat.cpp"/>
357             <exclude name="ui/dialog/whiteboard-sharewithuser.cpp"/>
358             <exclude name="dialogs/whiteboard-connect-dialog.cpp"/>
359             <exclude name="dialogs/whiteboard-common-dialog.cpp"/>
360             <exclude name="dialogs/whiteboard-sharewithchat-dialog.cpp"/>
361             <exclude name="dialogs/whiteboard-sharewithuser-dialog.cpp"/>
362             <exclude name="jabber_whiteboard/node-tracker.cpp"/>
363             <exclude name="jabber_whiteboard/node-utilities.cpp"/>
364             <!--OVERLAP-->
365             <exclude name="removeoverlap/placement_SolveVPSC.cpp"/>
366             <exclude name="removeoverlap/placement_SolveVPSC.h"/>
367             <exclude name="removeoverlap/test.cpp"/>
368             <exclude name="removeoverlap/remove_rectangle_overlap-test.cpp"/>
369             <exclude name="removeoverlap/remove_rectangle_overlap-test.h"/>
370         </fileset>
371         <excludeinc dir="${src}">
372             <file name="extension/param"/>
373         </excludeinc>
374         <flags>
375             -Wall -Wformat -Werror=format-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch
376             -O2
377             -mms-bitfields
378             -fopenmp
379         </flags>
380         <defines>
381             -DVERSION=\"${version}\"
382             -DHAVE_CONFIG_H
383             -D_INTL_REDIRECT_INLINE
384             -DHAVE_SSL
385             -DRELAYTOOL_SSL="static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }" <!-- inkboard -->
386             -DPOPPLER_NEW_GFXFONT <!-- poppler changed the api for 0.8.3 -->
387         </defines>
388         <includes>
389             -I${devlibs}/include
390             <!-- GTK / GTKMM -->
391             ${pcc.gtkmm-2.4}
392             <!-- OTHER -->
393             -I${devlibs}/include/libxml2 
394             ${pcc.freetype2}
395             ${pcc.cairo}
396             ${pcc.poppler}
397             -I${devlibs}/include/gc
398             ${pcc.libwpg-0.1} ${pcc.libwpg-stream-0.1}
399             -I${cxxtest}
400             <!-- PERL -->
401             <!-- -Wno-comment -I${devlibs}/perl/lib/CORE -->
402             <!-- PYTHON -->
403             -I${devlibs}/python/include
404             <!-- JAVA -->
405             -I${src}/bind/javainc -I${src}/bind/javainc/win32
406         </includes>
407     </cc>
408   </target>
409   
411   <!--
412   ########################################################################
413   ## T A R G E T    :    L I B
414   ########################################################################
415   -->
416   <target name="lib" depends="compile"
417       description="create a static library">
418     <staticlib command="${archutil}ar crsv"
419            file="${build}/libinkscape.a">
420        <fileset dir="${build}/obj">
421            <exclude name="main.o"/>
422            <exclude name="winmain.o"/>
423            <exclude name="inkview.o"/>
424            <!-- CxxTest -->
425            <exclude name="test-main.o"/>
426            <exclude name="test-src.o"/>
427            <exclude name="display/test-display.o"/>
428            <exclude name="helper/test-helper.o"/>
429            <exclude name="libnr/nr-compose-reference.o"/>
430            <exclude name="libnr/test-nr.o"/>
431            <exclude name="svg/test-svg.o"/>
432            <exclude name="util/test-util.o"/>
433            <exclude name="xml/test-xml.o"/>
434        </fileset>
435     </staticlib>
436   </target>
440   <!--
441   ########################################################################
442   ## T A R G E T    :    I 1 8 N
443   ########################################################################
444   -->
445   <target name="i18n" depends="compile"
446       description="compile gettext .po files to .mo">
448     <msgfmt todir="${build}/locale" owndir="true"
449          out="LC_MESSAGES/inkscape.mo">
450        <fileset dir="po">
451        </fileset>
452     </msgfmt>
453   </target>
459   <!--
460   ########################################################################
461   ## T A R G E T    :    L I N K
462   ########################################################################
463   -->
464   <target name="link" depends="lib"
465       description="link objects and library to create executable">
467     <rc command="${archutil}windres" 
468         file="${src}/inkscape.rc"
469         out="${build}/inkres.o">
470         <flags>
471         --include-dir=${src}
472         </flags>
473     </rc>
474     <link command="${arch}g++" out="${build}/inkscape.exe"
475               strip="true" symfile="${build}/inkscape.dbg"
476               stripcommand="${archutil}strip"
477               objcopycommand="${archutil}objcopy">
478        <flags>
479            -mconsole
480            -mthreads
481        </flags>
482        <fileset dir="${build}">
483            <include name="inkres.o"/>
484            <include name="obj/main.o"/>
485            <include name="obj/winmain.o"/>
486            <include name="libinkscape.a"/>
487        </fileset>
488        <!-- WARNING: If you change these libraries, don't forget to change them for inkview and cxxtests below as well! -->
489        <libs>
490            -L${devlibs}/lib
491            ${pcl.poppler-cairo} ${pcl.poppler-glib} ${pcl.poppler} 
492            ${pcl.gtkmm-2.4}  ${pcl.pangoft2} ${pcl.gthread-2.0}
493            ${devlibs}/bin/libxml2.dll
494            ${devlibs}/bin/libxslt.dll
495            ${pcl.cairo} ${pcl.cairomm-1.0}
496            ${pcl.libwpg-0.1} ${pcl.libwpg-stream-0.1}
497            ${devlibs}/lib/iconv.lib
498            ${pcl.ImageMagick++}
499            ${pcl.fontconfig} ${pcl.freetype2}
500            -lssl -lcrypto
501            ${pcl.lcms}
502            ${pcl.gsl}
503            -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
504            -lgc
505            -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
506            -lgomp -lpthreadGC2 -laspell
507            -lmscms  <!-- required for color profiles -->
508        </libs>
509     </link>
510   </target>
511   
516   <!--
517   ########################################################################
518   ## T A R G E T    :    L I N K I N K V I E W
519   ########################################################################
520   -->
521   <target name="linkinkview" depends="lib"
522         description="link objects and library to create Inkview executable">
524     <rc command="${archutil}windres" 
525         file="${src}/inkview.rc"
526         out="${build}/inkviewres.o">
527         <flags>
528         --include-dir=${src}
529         </flags>
530     </rc>
531     <link command="${arch}g++" out="${build}/inkview.exe"
532               strip="true" symfile="${build}/inkview.dbg"
533               stripcommand="${archutil}strip"
534               objcopycommand="${archutil}objcopy">
535        <flags>
536            -mconsole
537            -mthreads
538        </flags>
539        <fileset dir="${build}">
540            <include name="inkviewres.o"/>
541            <include name="obj/inkview.o"/>
542            <include name="libinkscape.a"/>
543        </fileset>
544        <libs>
545            -L${devlibs}/lib
546            ${pcl.poppler-cairo} ${pcl.poppler-glib} ${pcl.poppler} 
547            ${pcl.gtkmm-2.4}  ${pcl.pangoft2} ${pcl.gthread-2.0}
548            ${devlibs}/bin/libxml2.dll
549            ${devlibs}/bin/libxslt.dll
550            ${pcl.cairo} ${pcl.cairomm-1.0}
551            ${pcl.libwpg-0.1} ${pcl.libwpg-stream-0.1}
552            ${devlibs}/lib/iconv.lib
553            ${pcl.ImageMagick++}
554            ${pcl.fontconfig} ${pcl.freetype2}
555            -lssl -lcrypto
556            ${pcl.lcms}
557            ${pcl.gsl}
558            -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
559            -lgc
560            -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
561            -lgomp -lpthreadGC2 -laspell
562            -lmscms  <!-- required for color profiles -->
563        </libs>
564     </link>
565   </target>
569   <!--
570   ########################################################################
571   ## T A R G E T    :    L I N K C X X T E S T S
572   ########################################################################
573   -->
574   <target name="linkcxxtests" depends="lib"
575       description="link objects and library to create executable">
577     <link command="${arch}g++" out="${build}/cxxtests.exe"
578               strip="true" symfile="${build}/cxxtests.dbg"
579               stripcommand="${archutil}strip"
580               objcopycommand="${archutil}objcopy">
581        <flags>
582            -mthreads
583        </flags>
584        <fileset dir="${build}">
585            <include name="obj/test-main.o"/>
586            <include name="obj/test-src.o"/>
587            <include name="obj/display/test-display.o"/>
588            <include name="obj/helper/test-helper.o"/>
589            <include name="obj/libnr/nr-compose-reference.o"/>
590            <include name="obj/libnr/test-nr.o"/>
591            <include name="obj/svg/test-svg.o"/>
592            <include name="obj/util/test-util.o"/>
593            <include name="obj/xml/test-xml.o"/>
594            <include name="libinkscape.a"/>
595        </fileset>
596        <libs>
597            -L${devlibs}/lib
598            ${pcl.poppler-cairo} ${pcl.poppler-glib} ${pcl.poppler} 
599            ${pcl.gtkmm-2.4}  ${pcl.pangoft2} ${pcl.gthread-2.0}
600            ${devlibs}/bin/libxml2.dll
601            ${devlibs}/bin/libxslt.dll
602            ${pcl.cairo} ${pcl.cairomm-1.0}
603            ${pcl.libwpg-0.1} ${pcl.libwpg-stream-0.1}
604            ${devlibs}/lib/iconv.lib
605            ${pcl.ImageMagick++}
606            ${pcl.fontconfig} ${pcl.freetype2}
607            -lssl -lcrypto
608            ${pcl.lcms}
609            ${pcl.gsl}
610            -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
611            -lgc
612            -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
613            -lgomp -lpthreadGC2 -laspell
614            -lmscms  <!-- required for color profiles -->
615        </libs>
616     </link>
617   </target>
620   <!--
621   ########################################################################
622   ## T A R G E T    :    D I S T B A S E
623   ########################################################################
624   -->
625   <target name="distbase" depends="i18n"
626       description="generate the distribution directory with all needed files">
628     <!-- Create the distribution directory -->
629     <copy todir="${dist}" file="AUTHORS"/>
630     <copy todir="${dist}" file="COPYING"/>
631     <copy todir="${dist}" file="COPYING.LIB"/>
632     <copy todir="${dist}" file="NEWS"/>
633     <copy todir="${dist}" file="README"/>
634     <copy todir="${dist}" file="TRANSLATORS"/>
635     <copy todir="${dist}" file="${devlibs}/bin/libatkmm-1.6-1.dll"/>
636     <copy todir="${dist}" file="${devlibs}/bin/libglibmm-2.4-1.dll"/>
637     <copy todir="${dist}" file="${devlibs}/bin/libgtkmm-2.4-1.dll"/>
638     <copy todir="${dist}" file="${devlibs}/bin/libgdkmm-2.4-1.dll"/>
639     <copy todir="${dist}" file="${devlibs}/bin/libpangomm-1.4-1.dll"/>
640     <copy todir="${dist}" file="${devlibs}/bin/libcairomm-1.0-1.dll"/>
641     <copy todir="${dist}" file="${devlibs}/bin/libsigc-2.0-0.dll"/>
642     <copy todir="${dist}" file="${devlibs}/bin/freetype6.dll"/>
643     <copy todir="${dist}" file="${devlibs}/bin/libatk-1.0-0.dll"/>
644     <copy todir="${dist}" file="${devlibs}/bin/libgdk-win32-2.0-0.dll"/>
645     <copy todir="${dist}" file="${devlibs}/bin/libgdk_pixbuf-2.0-0.dll"/>
646     <copy todir="${dist}" file="${devlibs}/bin/libglib-2.0-0.dll"/>
647     <copy todir="${dist}" file="${devlibs}/bin/libgmodule-2.0-0.dll"/>
648     <copy todir="${dist}" file="${devlibs}/bin/libgobject-2.0-0.dll"/>
649     <copy todir="${dist}" file="${devlibs}/bin/libgtk-win32-2.0-0.dll"/>
650     <copy todir="${dist}" file="${devlibs}/bin/libgthread-2.0-0.dll"/>
651     <copy todir="${dist}" file="${devlibs}/bin/libgio-2.0-0.dll"/>
652     <copy todir="${dist}" file="${devlibs}/bin/libcairo-2.dll"/>
653     <copy todir="${dist}" file="${devlibs}/bin/libpoppler-3.dll"/>
654     <copy todir="${dist}" file="${devlibs}/bin/libpangocairo-1.0-0.dll"/>
655     <copy todir="${dist}" file="${devlibs}/bin/libpango-1.0-0.dll"/>
656     <copy todir="${dist}" file="${devlibs}/bin/libpangoft2-1.0-0.dll"/>
657     <copy todir="${dist}" file="${devlibs}/bin/libpangowin32-1.0-0.dll"/>
658     <copy todir="${dist}" file="${devlibs}/bin/freetype6.dll"/>
659     <copy todir="${dist}" file="${devlibs}/bin/libfontconfig-1.dll"/>
660     <copy todir="${dist}" file="${devlibs}/bin/libxml2.dll"/>
661     <copy todir="${dist}" file="${devlibs}/bin/libxslt.dll"/>
662     <copy todir="${dist}" file="${devlibs}/bin/libexpat.dll"/>
663     <!--<copy file="${devlibs}/bin/libexpat.dll" tofile="${dist}/xmlparse.dll"/>-->
664     <copy todir="${dist}" file="${devlibs}/bin/libwpg-0.1.dll"/>
665     <copy todir="${dist}" file="${devlibs}/bin/libwpg-stream-0.1.dll"/>
666     <copy todir="${dist}" file="${devlibs}/bin/libwpd-0.8.dll"/>
667     <copy todir="${dist}" file="${devlibs}/bin/libwpd-stream-0.8.dll"/>
668     <copy todir="${dist}" file="${devlibs}/bin/jpeg62.dll"/>
669     <copy todir="${dist}" file="${devlibs}/bin/libpng13.dll"/>
670     <!-- GTK changed their dep file name for PNG!   :-(  -->
671     <copy todir="${dist}" file="${devlibs}/bin/libpng12-0.dll"/>
672     <copy todir="${dist}" file="${devlibs}/bin/libtiff3.dll"/>
673     <copy todir="${dist}" file="${devlibs}/bin/msvcr70.dll"/>
674     <copy todir="${dist}" file="${devlibs}/bin/msvcr71.dll"/>
675     <copy todir="${dist}" file="${devlibs}/bin/zlib1.dll"/>
676     <copy todir="${dist}" file="${devlibs}/bin/iconv.dll"/>
677     <copy todir="${dist}" file="${devlibs}/bin/libpopt-0.dll"/>
678     <copy todir="${dist}" file="${devlibs}/bin/liblcms-1.dll"/>
679     <copy todir="${dist}" file="${devlibs}/bin/intl.dll"/>
680     <copy todir="${dist}" file="${devlibs}/bin/pthreadGC2.dll"/>
681     <copy file="${devlibs}/bin/intl.dll" tofile="${dist}/libintl-2.dll"/>
682     <!-- MINGW dll needed, I think for openmp support  -->
683     <copy todir="${dist}" file="${mingw_bin}/mingwm10.dll"/>
685     <!-- MSGFMT files -->
686     <copy todir="${dist}">
687         <fileset dir="${build}/locale">
688           <exclude name=".*\.am"/>
689         </fileset>
690     </copy>
692     <mkdir dir="${dist}/data"/>
693     <mkdir dir="${dist}/locale"/>
694     <mkdir dir="${dist}/modules"/>
695     <mkdir dir="${dist}/plugins"/>
697     <!-- GTK -->
698     <copy todir="${dist}">     <fileset dir="${devlibs}/etc"/> </copy>
699     <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/gtk-2.0"/> </copy>
700     <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/glib-2.0"/> </copy>
701     <copy todir="${dist}">
702         <fileset dir="share">
703           <exclude name=".*\.am"/>
704           <exclude name=".*\.in"/>
705           <exclude name=".*\.sh"/>
706         </fileset>
707     </copy>
708     <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/locale"/> </copy>
709     <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/themes"/> </copy>
710     <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/poppler"/> </copy>
711     <copy todir="${dist}" file="${devlibs}/bin/gdb.exe"/>
713     <!-- Aspell dictionaries -->
714     <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/aspell-0.60"/> </copy>
716     <!-- Necessary to run extensions on windows if it is not in the path -->
717     <copy todir="${dist}" file="${devlibs}/bin/gspawn-win32-helper.exe"/>
718     <copy todir="${dist}" file="${devlibs}/bin/gspawn-win32-helper-console.exe"/>
720     <!-- PERL -->
721     <copy todir="${dist}" file="${devlibs}/perl/bin/perl58.dll"/>
723     <!-- PYTHON -->
724     <copy todir="${dist}" file="${devlibs}/python/python25.dll"/>
725     <copy todir="${dist}/python" file="${devlibs}/python/python.exe" />
726     <copy todir="${dist}/python" file="${devlibs}/python/pythonw.exe"/>
727     <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/Lib"/> </copy>
728     <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/DLLs"/> </copy>
729     <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/Scripts"/> </copy>
731     <!--<copy file="${devlibs}/share/themes/MS-Windows/gtk-2.0/gtkrc" todir="${dist}/etc/gtk-2.0"/>-->
732     <makefile file="${dist}/etc/gtk-2.0/gtkrc">
733     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"
734     gtk-toolbar-icon-size = small-toolbar
736     # disable images in buttons. i've only seen ugly delphi apps use this feature.
737     gtk-button-images = 0
738     
739     # disable the annoying beep in editable controls
740     gtk-error-bell = 0
742     # enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly.
743     # the office apps use them heavily, though.
744     gtk-menu-images = 1
746     # use the win32 button ordering instead of the GNOME HIG one, where applicable
747     gtk-alternative-button-order = 1
749     style "msw-default"
750     {
751       GtkWidget::interior-focus = 1
752       GtkOptionMenu::indicator-size = { 9, 5 }
753       GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
754       GtkSpinButton::shadow-type = in
756       # Owen and I disagree that these should be themable
757       #GtkUIManager::add-tearoffs = 0
758       #GtkComboBox::add-tearoffs = 0
760       GtkComboBox::appears-as-list = 1
761       GtkComboBox::focus-on-click = 0
763       GOComboBox::add_tearoffs = 0
765       GtkTreeView::allow-rules = 0
766       GtkTreeView::expander-size = 12
768       GtkExpander::expander-size = 12
770       GtkScrolledWindow::scrollbar_spacing = 1
772       GtkSeparatorMenuItem::horizontal-padding = 2
774       engine "wimp"
775       {
776       }
777     }
778     class "*" style "msw-default"
779     </makefile>
781   </target>
784   <!--
785   ########################################################################
786   ## T A R G E T    :    D I S T - I N K S C A P E
787   ########################################################################
788   -->
789   <target name="dist-inkscape" depends="link,distbase"
790       description="copy inkscape to the distribution directory">
792     <!-- Create the distribution directory -->
793     <copy todir="${dist}" file="${build}/inkscape.exe"/>
794     <copy todir="${dist}" file="${build}/inkscape.dbg"/>
795   </target>
798   <!--
799   ########################################################################
800   ## T A R G E T    :    D I S T - I N K V I E W
801   ########################################################################
802   -->
803   <target name="dist-inkview" depends="linkinkview,distbase"
804       description="copy inkview to the distribution directory">
806     <!-- Create the distribution directory -->
807     <copy todir="${dist}" file="${build}/inkview.exe"/>
808     <copy todir="${dist}" file="${build}/inkview.dbg"/>
809   </target>
812   <!--
813   ########################################################################
814   ## T A R G E T    :    C H E C K
815   ########################################################################
816   -->
817   <target name="check" depends="linkcxxtests,distbase"
818       description="perform unit tests">
819     <cxxtestrun command="${build}/cxxtests" workingdir="${dist}" />
820   </target>
823   <!--
824   ########################################################################
825   ## T A R G E T    :    JAVAC
826   ########################################################################
827   -->
828   <target name="javac" depends="init"
829       description="compile java binding classes">
830     <javac srcdir="${src}/bind/java" destdir="${build}/java/classes"/>
831   </target>
834   <!--
835   ########################################################################
836   ## T A R G E T    :    JAR
837   ########################################################################
838   -->
839   <target name="jar" depends="javac"
840       description="pack java classes and resources into a jar file">
841     <copy todir="${build}/java/classes"> <fileset dir="${devlibs}/bind/data"/> </copy>
842     <jar basedir="${build}/java/classes" destfile="${build}/java/lib/inkscape.jar"/>
843   </target>
845   <!--
846   ########################################################################
847   ## T A R G E T    :    BINDDIST
848   ########################################################################
849   -->
850   <target name="binddist" depends="jar"
851       description="pack java classes and resources into a jar file">
852     <copy todir="${dist}/share/bind"> <fileset dir="${devlibs}/bind/java"/> </copy>
853     <copy todir="${dist}/share/bind/java"> <fileset dir="${build}/java/lib"/> </copy>
855   </target>
857   <!--
858   ########################################################################
859   ## T A R G E T    :    BINDCLEAN
860   ########################################################################
861   -->
862   <target name="bindclean" depends=""
863       description="clean up java binding classes">
864         <delete dir="${build}/java"/>
865   </target>
870   <!--
871   ########################################################################
872   ## T A R G E T    :    D I S T - A L L
873   ########################################################################
874   -->
875   <target name="dist-all" depends="dist-inkscape,dist-inkview"
876         description="generate the distribution, along with inkview" >
877   </target>
882   <!--
883   ########################################################################
884   ## T A R G E T    :    D I S T - A L L - C H E C K
885   ########################################################################
886   -->
887   <target name="dist-all-check" depends="dist-all,check"
888         description="generate the distribution, along with inkview and run cxxtests" >
889   </target>
895   <!--
896   ########################################################################
897   ## T A R G E T    :    C L E A N
898   ########################################################################
899   -->
900   <target name="clean" depends="bindclean"
901         description="clean up.  deleting build and distro dirs" >
903     <delete dir="${build}"/>
904     <delete dir="${dist}"/>
905     <delete file="build.dep"/>
906     <delete file="config.h"/>
907     <delete file="${src}/inkscape-version.cpp"/>
908     <delete file="${src}/test-main.cpp"/>
909     <delete file="${src}/test-src.cpp"/>
910     <delete file="${src}/display/test-display.cpp"/>
911     <delete file="${src}/helper/test-helper.cpp"/>
912     <delete file="${src}/libnr/test-nr.cpp"/>
913     <delete file="${src}/svg/test-svg.cpp"/>
914     <delete file="${src}/util/test-util.cpp"/>
915     <delete file="${src}/xml/test-xml.cpp"/>
917   </target>
921 </project>
922 <!--
923 ########################################################################
924 ## E N D
925 ########################################################################
926 -->