Code

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