Monday, October 30, 2006

autoconf fun and games

i need to turn of optimization
discusses the following
http://wiki.inkscape.org/wiki/index.php/CompilingInkscape

Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su && make test; make install (optional). See INSTALL for more on that.

But if you're going to be doing a lot of development, there's some tricks and techniques you should know, to get best results.

1. Turn off optimization
2. Use ccache for faster compilation
3. Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)
4. Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's

Example: Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster compilations on a dual-processor machine, with no optimization, assuming /bin/bash:

mkdir build-gcc build-g++
cvs checkout inkscape
cd inkscape
libtoolize --copy --force
./autogen.sh
cd ../build-gcc
CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure
cd ../build-g++
CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure
cd ../build-gcc && make -j 3
cd ../build-g++ && make -j 3


Turning off just optimization (which can produce strange results in debuggers):

export CXXFLAGS='-g -O0 -Wall'
export CFLAGS='-g -O0 -Wall'
./configure

Retrieved from "http://wiki.inkscape.org/wiki/index.php/CompilingInkscape"

This page has been accessed 7,113 times. This page was last modified 21:45, 20 June 2006.

add to the file Makefile.am

bin_PROGRAMS = testxml
testxml_SOURCES = main.cpp
AM_CXXFLAGS = -g -O0 -Wall
CXXFLAGS=
SUBDIRS = tinyxml
LDADD = tinyxml/libtinyxml.a

No comments: