From f247fd9e12941e4e343611f7a2e24aa72f02e81a Mon Sep 17 00:00:00 2001 From: ishmal Date: Fri, 6 Jun 2008 21:11:07 +0000 Subject: [PATCH] rollup of buildtool/unix work. compiles and links inkscape --- build-lx.xml | 681 ++++++++++++++++++++++++++++++++++++++++++++++++++ buildtool.cpp | 10 +- 2 files changed, 688 insertions(+), 3 deletions(-) create mode 100644 build-lx.xml diff --git a/build-lx.xml b/build-lx.xml new file mode 100644 index 000000000..6e0f7918e --- /dev/null +++ b/build-lx.xml @@ -0,0 +1,681 @@ + + + + + + + + Build file for the Inkscape SVG editor. This version + is configured for Unix/Linux, but hopefully we can merge + in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #define INKSCAPE_VERSION "${version}" + + + #ifndef _CONFIG_H_ + #define _CONFIG_H_ + + /*###################################### + ## 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 HAVE_ZLIB_H 1 + + #define ENABLE_LCMS 1 + + #define ENABLE_NLS 1 + #define HAVE_BIND_TEXTDOMAIN_CODESET 1 + + /* make us relocatable */ + #define BR_PTHREADS 1 + #define ENABLE_BINRELOC 1 + + /* 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${devlibs}/include + + ${pcc.gtkmm-2.4} + + -I${devlibs}/include/libxml2 + -I${devlibs}/include/freetype2 + -I${devlibs}/include/cairo + -I${devlibs}/include/poppler + -I${devlibs}/include/gc + -I${devlibs}/include/libwpg-0.1 + -I${devlibs}/include/libwpd-0.8 + + + + -I${devlibs}/python/include + + -I${src}/bind/javainc -I${src}/bind/javainc/linux + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -L${devlibs}/lib + ${pcl.poppler} ${pcl.poppler-cairo} ${pcl.poppler-glib} + ${pcl.gtkmm-2.4} + ${pcl.cairo} ${pcl.cairomm-1.0} + ${pcl.gthread-2.0} + -lxml2 -lxslt + -lwpg-0.1 -lwpg-stream-0.1 + ${pcl.ImageMagick++} + ${pcl.fontconfig} ${pcl.freetype2} + ${pcl.lcms} + ${pcl.gsl} + -lssl -lcrypto + -lpng -ljpeg -ltiff -lpopt -lz + -lgc + -lm + + + + + + + + + + + + + + + + + + + + + + -L${devlibs}/lib + ${pcl.poppler} + ${pcl.gtkmm-2.4} + ${pcl.cairo} ${pcl.cairomm-1.0} + + -L${devlibs}/perl/lib/CORE -lperl58 + + -L${devlibs}/python/libs -lpython25 + -lxml2 -lxslt + -lwpg-0.1 -lwpg-stream-0.1 + ${pcl.ImageMagick++} + ${pcl.fontconfig} ${pcl.freetype2} + ${pcl.lcms} + -lssl -lcrypto + -lpng -ljpeg -ltiff -lpopt -lz + -lgc + -lintl -liconv -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" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildtool.cpp b/buildtool.cpp index 53f3fc957..bc6da92d3 100644 --- a/buildtool.cpp +++ b/buildtool.cpp @@ -4130,7 +4130,7 @@ bool MakeBase::executeCommand(const String &command, bool outOpen = true; bool errOpen = true; - while (outOpen && errOpen) + while (outOpen || errOpen) { char ch; fd_set fdset; @@ -4144,14 +4144,18 @@ bool MakeBase::executeCommand(const String &command, break; if (FD_ISSET(outRead, &fdset)) { - if (read(outRead, &ch, 1) <= 0 || ch <= 0) + if (read(outRead, &ch, 1) <= 0) + outOpen = false; + else if (ch <= 0) outOpen = false; else outb.push_back(ch); } if (FD_ISSET(errRead, &fdset)) { - if (read(errRead, &ch, 1) <= 0 || ch <= 0) + if (read(errRead, &ch, 1) <= 0) + errOpen = false; + else if (ch <= 0) errOpen = false; else errb.push_back(ch); -- 2.30.2