Code

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