Code

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