Build file for the Inkscape SVG editor. This file was written for GTK-2.10 on Win32, but it should work well for other types of builds with only minor adjustments. Note that the default target is 'dist'. You can execute other targets instead, by "btool {target}", like "btool compile", if you want to save time. #define INKSCAPE_VERSION "${version}" #ifndef _CONFIG_H_ #define _CONFIG_H_ #ifndef WIN32 #define WIN32 #endif /*###################################### ## This is for require-config.h, whose ## purpose I cannot fathom. ######################################*/ #define PACKAGE_TARNAME /*###################################### #### RESOURCE DIRECTORIES ######################################*/ #define INKSCAPE_DATADIR "." #define PACKAGE_LOCALE_DIR "locale" /*###################################### #### OTHER DEFINITIONS ######################################*/ #define GETTEXT_PACKAGE "inkscape" #define PACKAGE_STRING VERSION #define HAVE_GETOPT_H 1 #define HAVE_STRING_H 1 #define HAVE_LIBINTL_H 1 #define HAVE_MALLOC_H 1 #define HAVE_STDLIB_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_INTTYPES_H 1 #define ENABLE_LCMS 1 #define ENABLE_NLS 1 #define HAVE_BIND_TEXTDOMAIN_CODESET 1 /* keep binreloc off */ #define BR_PTHREADS 0 #undef ENABLE_BINRELOC /* CairoPDF options */ #define HAVE_CAIRO_PDF 1 #define PANGO_ENABLE_ENGINE 1 #define RENDER_WITH_PANGO_CAIRO 1 #define HAVE_GTK_WINDOW_FULLSCREEN 1 /* internal interpreter */ #define WITH_PYTHON 1 /* shared whiteboard */ #define WITH_INKBOARD 1 #define HAVE_SSL 1 /* use poppler for pdf import? */ #define HAVE_POPPLER 1 #define HAVE_POPPLER_CAIRO 1 /* do we want bitmap manipulation? */ #define WITH_IMAGE_MAGICK 1 /* Allow reading WordPerfect? */ #define WITH_LIBWPG 1 #endif /* _CONFIG_H_ */ -Wall -Wformat -Werror=format-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -O2 -mms-bitfields -DVERSION=\"${version}\" -DHAVE_CONFIG_H -D_INTL_REDIRECT_INLINE -DHAVE_SSL -DRELAYTOOL_SSL="static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }" -I${gtk}/include ${pcc.gtkmm-2.4} -I${gtk}/include/libxml2 -I${gtk}/include/freetype2 -I${gtk}/include/cairo -I${gtk}/include/poppler -I${gtk}/include/gc -I${gtk}/include/libwpg-0.1 -I${gtk}/include/libwpd-0.8 -I${gtk}/python/include -I${src}/bind/javainc -I${src}/bind/javainc/win32 --include-dir=${src} -mwindows -L${gtk}/lib -lpoppler-cairo -lpoppler-glib -lpoppler.dll ${pcl.gtkmm-2.4} ${pcl.pangoft2} ${pcl.gthread-2.0} ${gtk}/bin/libxml2.dll ${gtk}/bin/libxslt.dll -lcairo.dll -lcairomm-1.0.dll -lwpg-0.1.dll -lwpg-stream-0.1.dll -lwpd-0.8.dll -lwpd-stream-0.8.dll ${gtk}/lib/iconv.lib -lMagick++ -lWand -lMagick -lfreetype.dll -lfontconfig.dll -lssl -lcrypto -llcms.dll -lgsl -lpng -ljpeg.dll -ltiff.dll -lpopt ${gtk}/lib/zdll.lib -lgc -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm --include-dir=${src} -L${gtk}/lib -lpoppler-cairo -lpoppler-glib -lpoppler.dll ${pcl.gtkmm-2.4} -L${gtk}/perl/lib/CORE -lperl58 -L${gtk}/python/libs -lpython25 ${gtk}/bin/libxml2.dll ${gtk}/bin/libxslt.dll ${gtk}/lib/iconv.lib -lcairo.dll -lcairomm-1.0.dll -lwpg-0.1.dll -lwpg-stream-0.1.dll -lMagick++ -lWand -lMagick -lfreetype.dll -lfontconfig.dll -llcms.dll -lssl -lcrypto -lpng -ljpeg.dll -ltiff.dll -lpopt ${gtk}/lib/zdll.lib -lgc -mwindows -lws2_32 -lintl -lgdi32 -lcomdlg32 -lm 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" gtk-toolbar-icon-size = small-toolbar # disable images in buttons. i've only seen ugly delphi apps use this feature. gtk-button-images = 0 # enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly. # the office apps use them heavily, though. gtk-menu-images = 1 # use the win32 button ordering instead of the GNOME HIG one, where applicable gtk-alternative-button-order = 1 style "msw-default" { GtkWidget::interior-focus = 1 GtkOptionMenu::indicator-size = { 9, 5 } GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 } GtkSpinButton::shadow-type = in # Owen and I disagree that these should be themable #GtkUIManager::add-tearoffs = 0 #GtkComboBox::add-tearoffs = 0 GtkComboBox::appears-as-list = 1 GtkComboBox::focus-on-click = 0 GOComboBox::add_tearoffs = 0 GtkTreeView::allow-rules = 0 GtkTreeView::expander-size = 12 GtkExpander::expander-size = 12 GtkScrolledWindow::scrollbar_spacing = 1 GtkSeparatorMenuItem::horizontal-padding = 2 engine "wimp" { } } class "*" style "msw-default"