Code

add POPPLER_NEW_GFXFONT for poppler 0.8.3 api change
[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" 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="c:/devlibs"/>
56   <!-- -->
58   <!-- Use these settings for the cross compiler -->  
59   <!--
60   <property name="arch"          value="i686-pc-mingw32-"/>
61   <property name="archutil"      value="${arch}"/>
62   <property name="devlibs"       location="/target"/>
63   -->
65   <!-- Extra properties -->  
66   <property name="refresh"       value="false"/>
68   <!--
69     This is for package-config.  With these two settings, pkg-config
70     queries can be as simple as ${pcc.packageName} for cflags, and
71     ${pcl.packageName} for libs.  Dependencies are calculated automatically.
72   -->
73   <property name="pkg-config-path"   location="${devlibs}/lib/pkgconfig"/>
74   <property name="pkg-config-prefix" location="${devlibs}"/>
77   <!--
78   ########################################################################
79   ## T A R G E T    :    I N I T
80   ########################################################################
81   -->
82   <target name="init"
83       description=
84       "Do all preparatory tasks, like make directories and copy files">
87     <mkdir dir="${build}"/>
88     <mkdir dir="${build}/java"/>
89     <mkdir dir="${build}/java/classes"/>
90     <mkdir dir="${build}/java/lib"/>
92     <mkdir dir="${build}"/>
93     <mkdir dir="${dist}"/>
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     <makefile file="inkscape_version.h">
99         #define INKSCAPE_VERSION "${version}"
100     </makefile>
101     <makefile file="config.h">
102         #ifndef _CONFIG_H_
103         #define _CONFIG_H_
105         #ifndef WIN32
106         #define WIN32
107         #endif
109         /*######################################
110         ## This is for require-config.h, whose
111         ## purpose I cannot fathom.
112         ######################################*/
113         
114         #define PACKAGE_TARNAME
116         /*######################################
117         #### RESOURCE DIRECTORIES
118         ######################################*/
120         #define INKSCAPE_DATADIR       "."
121         #define PACKAGE_LOCALE_DIR     "locale"
124         /*######################################
125         #### OTHER DEFINITIONS
126         ######################################*/
128         #define GETTEXT_PACKAGE "inkscape"
130         #define PACKAGE_STRING                VERSION
132         #define HAVE_GETOPT_H                 1
133         #define HAVE_STRING_H                 1
134         #define HAVE_LIBINTL_H                1
135         #define HAVE_MALLOC_H                 1
136         #define HAVE_STDLIB_H                 1
137         #define HAVE_SYS_STAT_H               1
138         #define HAVE_INTTYPES_H               1
140         #define ENABLE_LCMS                   1
142         #define ENABLE_NLS                    1
143         #define HAVE_BIND_TEXTDOMAIN_CODESET  1
145         /* keep binreloc off */
146         #define BR_PTHREADS 0
147         #undef ENABLE_BINRELOC
149         /* CairoPDF options */
150         #define HAVE_CAIRO_PDF                1
151         #define PANGO_ENABLE_ENGINE           1
152         #define RENDER_WITH_PANGO_CAIRO       1
154         #define HAVE_GTK_WINDOW_FULLSCREEN    1
155         
156         /* internal interpreter */
157         #define WITH_PYTHON                   1
159         /* shared whiteboard */
160         #define WITH_INKBOARD                 1
161         #define HAVE_SSL                      1
162         
163         /* use poppler for pdf import? */
164         #define HAVE_POPPLER                  1
165         #define HAVE_POPPLER_CAIRO            1
167         /* do we want bitmap manipulation? */
168         #define WITH_IMAGE_MAGICK             1
170         /* Allow reading WordPerfect? */
171         #define WITH_LIBWPG                   1
173         #endif /* _CONFIG_H_ */
174     </makefile>
175   </target>
179   <!--
180   ########################################################################
181   ## T A R G E T    :    T O U C H A B O U T
182   ########################################################################
183   -->
184   <target name="touchabout"
185       description="update the modification time of aboutdialog.cpp">
186     <!-- not good <touch file="${src}/ui/dialog/aboutdialog.cpp"/> -->
187     <!-- better -->
188     <delete file="${build}/obj/ui/dialog/aboutdialog.o"/>
189   </target>
192   <!--
193   ########################################################################
194   ## T A R G E T    :    C O M P I L E
195   ########################################################################
196   -->
197   <target name="compile" depends="init"
198         description="compile the source to .o" >
200     <!-- Compile from source to build -->
201     <cc cc="${arch}gcc" cxx="${arch}g++"
202              destdir="${build}/obj"
203                          continueOnError="true"
204                          refreshCache="${refresh}">
205         <fileset dir="${src}">
206             <!-- THINGS TO EXCLUDE -->
207             <exclude name="2geom/chebyshev.cpp"/>
208             <exclude name="ast/.*"/>
209             <exclude name="bonobo/.*"/>
210             <exclude name="deptool.cpp"/>
211             <exclude name="test-all.cpp"/>
212             <exclude name="display/testnr.cpp"/>
213             <exclude name="display/bezier-utils-test.cpp"/>
214             <exclude name="dom/work/.*"/>
215             <exclude name="dom/odf/SvgOdg.cpp"/>
216             <exclude name="extension/api.cpp"/>
217             <exclude name="extension/dxf2svg/.*"/>
218             <exclude name="extension/implementation/plugin.cpp"/>
219             <exclude name="extension/script/bindtest.cpp"/>
220             <exclude name="extension/script/cpptest.cpp"/>
221             <exclude name="extension/plugin/.*"/>
222             <exclude name="extract-uri-test.cpp"/>
223             <exclude name="helper/units-test.cpp"/>
224             <!-- exclude name="inkview.cpp"/-->
225             <exclude name="libnr/test-nr.cpp"/>
226             <exclude name="libnr/test-nr-main.cpp"/>
227             <exclude name="libnr/testnr.cpp"/>
228             <exclude name="libnr/in-svg-plane-test.cpp"/>
229             <exclude name="libnr/nr-compose-reference.cpp"/>
230             <exclude name="libnr/nr-compose-test.cpp"/>
231             <exclude name="libnr/nr-matrix-test.cpp"/>
232             <exclude name="libnr/nr-point-fns-test.cpp"/>
233             <exclude name="libnr/nr-rotate-fns-test.cpp"/>
234             <exclude name="libnr/nr-rotate-test.cpp"/>
235             <exclude name="libnr/nr-scale-test.cpp"/>
236             <exclude name="libnr/nr-translate-test.cpp"/>
237             <exclude name="libnr/nr-types-test.cpp"/>
238             <exclude name="livarot/Path-test.cpp"/>
239             <exclude name="mod360-test.cpp"/>
240             <exclude name="trace/potrace/potest.cpp"/>
241             <exclude name="round-test.cpp"/>
242             <exclude name="sp-gradient-test.cpp"/>
243             <exclude name="svg/ftos.cpp"/>
244             <exclude name="svg/test-svg.cpp"/>
245             <exclude name="svg/test-svg-main.cpp"/>
246             <exclude name="utest/.*"/>
247             <exclude name="widgets/test-widgets.cpp"/>
248             <exclude name="xml/quote-test.cpp"/>
249             <exclude name="xml/repr-action-test.cpp"/>
250             <exclude name="xml/test-xml.cpp"/>
251             <exclude name="xml/test-xml-main.cpp"/>
252             <exclude name="io/streamtest.cpp"/>
253             <!--JABBER-->
254             <exclude name="pedro/pedrogui.cpp"/>
255             <exclude name="pedro/pedrogui.h"/>
256             <exclude name="pedro/work/.*"/>
257             <!--WHITEBOARD-->
258             <exclude name="ui/dialog/session-player.cpp"/>
259             <exclude name="ui/dialog/whiteboard-connect.cpp"/>
260             <exclude name="ui/dialog/whiteboard-sharewithchat.cpp"/>
261             <exclude name="ui/dialog/whiteboard-sharewithuser.cpp"/>
262             <exclude name="dialogs/whiteboard-connect-dialog.cpp"/>
263             <exclude name="dialogs/whiteboard-common-dialog.cpp"/>
264             <exclude name="dialogs/whiteboard-sharewithchat-dialog.cpp"/>
265             <exclude name="dialogs/whiteboard-sharewithuser-dialog.cpp"/>
266             <exclude name="jabber_whiteboard/node-tracker.cpp"/>
267             <exclude name="jabber_whiteboard/node-utilities.cpp"/>
268             <!--OVERLAP-->
269             <exclude name="removeoverlap/placement_SolveVPSC.cpp"/>
270             <exclude name="removeoverlap/placement_SolveVPSC.h"/>
271             <exclude name="removeoverlap/test.cpp"/>
272             <exclude name="removeoverlap/remove_rectangle_overlap-test.cpp"/>
273             <exclude name="removeoverlap/remove_rectangle_overlap-test.h"/>
274         </fileset>
275         <excludeinc dir="${src}">
276             <file name="extension/param"/>
277         </excludeinc>
278         <flags>
279             -Wall -Wformat -Werror=format-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch
280             -O2
281             -mms-bitfields
282         </flags>
283         <defines>
284             -DVERSION=\"${version}\"
285             -DHAVE_CONFIG_H
286             -D_INTL_REDIRECT_INLINE
287             -DHAVE_SSL
288             -DRELAYTOOL_SSL="static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }" <!-- inkboard -->
289             -DPOPPLER_NEW_GFXFONT <!-- poppler changed the api for 0.8.3 -->
290         </defines>
291         <includes>
292             -I${devlibs}/include
293             <!-- GTK / GTKMM -->
294             ${pcc.gtkmm-2.4}
295             <!-- OTHER -->
296             -I${devlibs}/include/libxml2 
297             ${pcc.freetype2}
298             ${pcc.cairo}
299             ${pcc.poppler}
300             -I${devlibs}/include/gc
301             ${pcc.libwpg-0.1} ${pcc.libwpg-stream-0.1}
302             <!-- PERL -->
303             <!-- -Wno-comment -I${devlibs}/perl/lib/CORE -->
304             <!-- PYTHON -->
305             -I${devlibs}/python/include
306             <!-- JAVA -->
307             -I${src}/bind/javainc -I${src}/bind/javainc/win32
308         </includes>
309     </cc>
310   </target>
311   
313   <!--
314   ########################################################################
315   ## T A R G E T    :    L I B
316   ########################################################################
317   -->
318   <target name="lib" depends="compile"
319       description="create a static library">
320     <staticlib command="${archutil}ar crsv"
321            file="${build}/libinkscape.a">
322        <fileset dir="${build}/obj">
323            <exclude name="main.o"/>
324            <exclude name="winmain.o"/>
325            <exclude name="inkview.o"/>
326        </fileset>
327     </staticlib>
328   </target>
332   <!--
333   ########################################################################
334   ## T A R G E T    :    I 1 8 N
335   ########################################################################
336   -->
337   <target name="i18n" depends="compile"
338       description="compile gettext .po files to .mo">
340     <msgfmt todir="${build}/locale" owndir="true"
341          out="LC_MESSAGES/inkscape.mo">
342        <fileset dir="po">
343        </fileset>
344     </msgfmt>
345   </target>
351   <!--
352   ########################################################################
353   ## T A R G E T    :    L I N K
354   ########################################################################
355   -->
356   <target name="link" depends="lib"
357       description="link objects and library to create executable">
359     <rc command="${archutil}windres" 
360         file="${src}/inkscape.rc"
361         out="${build}/inkres.o">
362         <flags>
363         --include-dir=${src}
364         </flags>
365     </rc>
366     <link command="${arch}g++" out="${build}/inkscape.exe"
367               strip="true" symfile="${build}/inkscape.dbg"
368               stripcommand="${archutil}strip"
369               objcopycommand="${archutil}objcopy">
370        <flags>
371            -mwindows
372        </flags>
373        <fileset dir="${build}">
374            <include name="inkres.o"/>
375            <include name="obj/main.o"/>
376            <include name="obj/winmain.o"/>
377            <include name="libinkscape.a"/>
378        </fileset>
379        <libs>
380            -L${devlibs}/lib
381            ${pcl.poppler-cairo} ${pcl.poppler-glib} ${pcl.poppler} 
382            ${pcl.gtkmm-2.4}  ${pcl.pangoft2} ${pcl.gthread-2.0}
383            ${devlibs}/bin/libxml2.dll
384            ${devlibs}/bin/libxslt.dll
385            ${pcl.cairo} ${pcl.cairomm-1.0}
386            ${pcl.libwpg-0.1} ${pcl.libwpg-stream-0.1}
387            ${devlibs}/lib/iconv.lib
388            ${pcl.ImageMagick++}
389            ${pcl.fontconfig} ${pcl.freetype2}
390            -lssl -lcrypto
391            ${pcl.lcms}
392            ${pcl.gsl}
393            -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
394            -lgc
395            -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
396        </libs>
397     </link>
398   </target>
399   
404   <!--
405   ########################################################################
406   ## T A R G E T    :    L I N K I N K V I E W
407   ########################################################################
408   -->
409   <target name="linkinkview" depends="lib"
410         description="link objects and library to create Inkview executable">
412     <rc command="${archutil}windres" 
413         file="${src}/inkview.rc"
414         out="${build}/inkviewres.o">
415         <flags>
416         --include-dir=${src}
417         </flags>
418     </rc>
419     <link command="${arch}g++" out="${build}/inkview.exe"
420               strip="true" symfile="${build}/inkview.dbg"
421               stripcommand="${archutil}strip"
422               objcopycommand="${archutil}objcopy">
423        <flags>
424        </flags>
425        <fileset dir="${build}">
426            <include name="inkviewres.o"/>
427            <include name="obj/inkview.o"/>
428            <include name="libinkscape.a"/>
429        </fileset>
430        <libs>
431            -L${devlibs}/lib
432            -lpoppler-cairo -lpoppler-glib -lpoppler.dll 
433            ${pcl.gtkmm-2.4}
434            <!-- PERL -->
435            -L${devlibs}/perl/lib/CORE -lperl58
436            <!-- PYTHON -->
437            -L${devlibs}/python/libs -lpython25
438            ${devlibs}/bin/libxml2.dll
439            ${devlibs}/bin/libxslt.dll
440            ${devlibs}/lib/iconv.lib
441            -lcairo.dll -lcairomm-1.0.dll
442            -lwpg-0.1.dll -lwpg-stream-0.1.dll
443            -lMagick++ -lWand -lMagick
444            -lfreetype.dll -lfontconfig.dll
445            -llcms.dll
446            -lssl -lcrypto
447            -lpng -ljpeg.dll -ltiff.dll -lpopt ${devlibs}/lib/zdll.lib
448            -lgc -mwindows
449            -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm
450        </libs>
451     </link>
452   </target>
456   <!--
457   ########################################################################
458   ## T A R G E T    :    D I S T
459   ########################################################################
460   -->
461   <target name="dist" depends="link,i18n"
462       description="generate the distribution directory with all needed files">
464     <!-- Create the distribution directory -->
465     <copy todir="${dist}" file="${build}/inkscape.exe"/>
466     <copy todir="${dist}" file="${build}/inkscape.dbg"/>
467     <copy todir="${dist}" file="AUTHORS"/>
468     <copy todir="${dist}" file="COPYING"/>
469     <copy todir="${dist}" file="COPYING.LIB"/>
470     <copy todir="${dist}" file="NEWS"/>
471     <copy todir="${dist}" file="README"/>
472     <copy todir="${dist}" file="TRANSLATORS"/>
473     <copy todir="${dist}" file="${devlibs}/bin/libatkmm-1.6-1.dll"/>
474     <copy todir="${dist}" file="${devlibs}/bin/libglibmm-2.4-1.dll"/>
475     <copy todir="${dist}" file="${devlibs}/bin/libgtkmm-2.4-1.dll"/>
476     <copy todir="${dist}" file="${devlibs}/bin/libgdkmm-2.4-1.dll"/>
477     <copy todir="${dist}" file="${devlibs}/bin/libpangomm-1.4-1.dll"/>
478     <copy todir="${dist}" file="${devlibs}/bin/libcairomm-1.0-1.dll"/>
479     <copy todir="${dist}" file="${devlibs}/bin/libsigc-2.0-0.dll"/>
480     <copy todir="${dist}" file="${devlibs}/bin/freetype6.dll"/>
481     <copy todir="${dist}" file="${devlibs}/bin/libatk-1.0-0.dll"/>
482     <copy todir="${dist}" file="${devlibs}/bin/libgdk-win32-2.0-0.dll"/>
483     <copy todir="${dist}" file="${devlibs}/bin/libgdk_pixbuf-2.0-0.dll"/>
484     <copy todir="${dist}" file="${devlibs}/bin/libglib-2.0-0.dll"/>
485     <copy todir="${dist}" file="${devlibs}/bin/libgmodule-2.0-0.dll"/>
486     <copy todir="${dist}" file="${devlibs}/bin/libgobject-2.0-0.dll"/>
487     <copy todir="${dist}" file="${devlibs}/bin/libgtk-win32-2.0-0.dll"/>
488     <copy todir="${dist}" file="${devlibs}/bin/libgthread-2.0-0.dll"/>
489     <copy todir="${dist}" file="${devlibs}/bin/libcairo-2.dll"/>
490     <copy todir="${dist}" file="${devlibs}/bin/libpoppler-3.dll"/>
491     <copy todir="${dist}" file="${devlibs}/bin/libpangocairo-1.0-0.dll"/>
492     <copy todir="${dist}" file="${devlibs}/bin/libpango-1.0-0.dll"/>
493     <copy todir="${dist}" file="${devlibs}/bin/libpangoft2-1.0-0.dll"/>
494     <copy todir="${dist}" file="${devlibs}/bin/libpangowin32-1.0-0.dll"/>
495     <copy todir="${dist}" file="${devlibs}/bin/freetype6.dll"/>
496     <copy todir="${dist}" file="${devlibs}/bin/libfontconfig-1.dll"/>
497     <copy todir="${dist}" file="${devlibs}/bin/libxml2.dll"/>
498     <copy todir="${dist}" file="${devlibs}/bin/libxslt.dll"/>
499     <copy todir="${dist}" file="${devlibs}/bin/libexpat.dll"/>
500     <!--<copy file="${devlibs}/bin/libexpat.dll" tofile="${dist}/xmlparse.dll"/>-->
501     <copy todir="${dist}" file="${devlibs}/bin/libwpg-0.1.dll"/>
502     <copy todir="${dist}" file="${devlibs}/bin/libwpg-stream-0.1.dll"/>
503     <copy todir="${dist}" file="${devlibs}/bin/libwpd-0.8.dll"/>
504     <copy todir="${dist}" file="${devlibs}/bin/libwpd-stream-0.8.dll"/>
505     <copy todir="${dist}" file="${devlibs}/bin/jpeg62.dll"/>
506     <copy todir="${dist}" file="${devlibs}/bin/libpng13.dll"/>
507     <!-- GTK changed their dep file name for PNG!   :-(  -->
508     <copy todir="${dist}" file="${devlibs}/bin/libpng12-0.dll"/>
509     <copy todir="${dist}" file="${devlibs}/bin/libtiff3.dll"/>
510     <copy todir="${dist}" file="${devlibs}/bin/msvcr70.dll"/>
511     <copy todir="${dist}" file="${devlibs}/bin/msvcr71.dll"/>
512     <copy todir="${dist}" file="${devlibs}/bin/zlib1.dll"/>
513     <copy todir="${dist}" file="${devlibs}/bin/iconv.dll"/>
514     <copy todir="${dist}" file="${devlibs}/bin/libpopt-0.dll"/>
515     <copy todir="${dist}" file="${devlibs}/bin/liblcms-1.dll"/>
516     <copy todir="${dist}" file="${devlibs}/bin/intl.dll"/>
517     <copy file="${devlibs}/bin/intl.dll" tofile="${dist}/libintl-2.dll"/>
519     <!-- MSGFMT files -->
520     <copy todir="${dist}">
521         <fileset dir="${build}/locale">
522           <exclude name=".*\.am"/>
523         </fileset>
524     </copy>
526     <mkdir dir="${dist}/data"/>
527     <mkdir dir="${dist}/locale"/>
528     <mkdir dir="${dist}/modules"/>
529     <mkdir dir="${dist}/plugins"/>
531     <!-- GTK -->
532     <copy todir="${dist}">     <fileset dir="${devlibs}/etc"/> </copy>
533     <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/gtk-2.0"/> </copy>
534     <copy todir="${dist}/lib"> <fileset dir="${devlibs}/lib/glib-2.0"/> </copy>
535     <copy todir="${dist}">
536         <fileset dir="share">
537           <exclude name=".*\.am"/>
538         </fileset>
539     </copy>
540     <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/locale"/> </copy>
541     <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/themes"/> </copy>
542     <copy todir="${dist}/share"> <fileset dir="${devlibs}/share/poppler"/> </copy>
543     <copy todir="${dist}" file="${devlibs}/bin/gdb.exe"/>
545     <!-- Necessary to run extensions on windows if it is not in the path -->
546     <copy todir="${dist}" file="${devlibs}/bin/gspawn-win32-helper.exe"/>
547     <copy todir="${dist}" file="${devlibs}/bin/gspawn-win32-helper-console.exe"/>
549     <!-- PERL -->
550     <copy todir="${dist}" file="${devlibs}/perl/bin/perl58.dll"/>
552     <!-- PYTHON -->
553     <copy todir="${dist}" file="${devlibs}/python/python25.dll"/>
554     <copy todir="${dist}/python" file="${devlibs}/python/python.exe" />
555     <copy todir="${dist}/python" file="${devlibs}/python/pythonw.exe"/>
556     <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/Lib"/> </copy>
557     <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/DLLs"/> </copy>
558     <copy todir="${dist}/python"> <fileset dir="${devlibs}/python/Scripts"/> </copy>
560     <!--<copy file="${devlibs}/share/themes/MS-Windows/gtk-2.0/gtkrc" todir="${dist}/etc/gtk-2.0"/>-->
561     <makefile file="${dist}/etc/gtk-2.0/gtkrc">
562     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"
563     gtk-toolbar-icon-size = small-toolbar
565     # disable images in buttons. i've only seen ugly delphi apps use this feature.
566     gtk-button-images = 0
568     # enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly.
569     # the office apps use them heavily, though.
570     gtk-menu-images = 1
572     # use the win32 button ordering instead of the GNOME HIG one, where applicable
573     gtk-alternative-button-order = 1
575     style "msw-default"
576     {
577       GtkWidget::interior-focus = 1
578       GtkOptionMenu::indicator-size = { 9, 5 }
579       GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
580       GtkSpinButton::shadow-type = in
582       # Owen and I disagree that these should be themable
583       #GtkUIManager::add-tearoffs = 0
584       #GtkComboBox::add-tearoffs = 0
586       GtkComboBox::appears-as-list = 1
587       GtkComboBox::focus-on-click = 0
589       GOComboBox::add_tearoffs = 0
591       GtkTreeView::allow-rules = 0
592       GtkTreeView::expander-size = 12
594       GtkExpander::expander-size = 12
596       GtkScrolledWindow::scrollbar_spacing = 1
598       GtkSeparatorMenuItem::horizontal-padding = 2
600       engine "wimp"
601       {
602       }
603     }
604     class "*" style "msw-default"
605     </makefile>
607   </target>
610   <!--
611   ########################################################################
612   ## T A R G E T    :    JAVAC
613   ########################################################################
614   -->
615   <target name="javac" depends="init"
616       description="compile java binding classes">
617     <javac srcdir="${src}/bind/java" destdir="${build}/java/classes"/>
618   </target>
621   <!--
622   ########################################################################
623   ## T A R G E T    :    JAR
624   ########################################################################
625   -->
626   <target name="jar" depends="javac"
627       description="pack java classes and resources into a jar file">
628     <copy todir="${build}/java/classes"> <fileset dir="${devlibs}/bind/data"/> </copy>
629     <jar basedir="${build}/java/classes" destfile="${build}/java/lib/inkscape.jar"/>
630   </target>
632   <!--
633   ########################################################################
634   ## T A R G E T    :    BINDDIST
635   ########################################################################
636   -->
637   <target name="binddist" depends="jar"
638       description="pack java classes and resources into a jar file">
639     <copy todir="${dist}/share/bind"> <fileset dir="${devlibs}/bind/java"/> </copy>
640     <copy todir="${dist}/share/bind/java"> <fileset dir="${build}/java/lib"/> </copy>
642   </target>
644   <!--
645   ########################################################################
646   ## T A R G E T    :    BINDCLEAN
647   ########################################################################
648   -->
649   <target name="bindclean" depends=""
650       description="clean up java binding classes">
651         <delete dir="${build}/java"/>
652   </target>
657   <!--
658   ########################################################################
659   ## T A R G E T    :    D I S T - A L L
660   ########################################################################
661   -->
662   <target name="dist-all" depends="dist"
663         description="generate the distribution, along with inkview" >
665     <copy file="${build}/inkview.exe" todir="${dist}"/>
666     <copy file="${build}/inkview.dbg" todir="${dist}"/>
667   </target>
673   <!--
674   ########################################################################
675   ## T A R G E T    :    C L E A N
676   ########################################################################
677   -->
678   <target name="clean" depends="bindclean"
679         description="clean up.  deleting build and distro dirs" >
681     <delete dir="${build}"/>
682     <delete dir="${dist}"/>
683     <delete file="build.dep"/>
684     <delete file="config.h"/>
686   </target>
690 </project>
691 <!--
692 ########################################################################
693 ## E N D
694 ########################################################################
695 -->