classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gui] makefile to help with cairo


From: graydon hoare
Subject: [gui] makefile to help with cairo
Date: Mon, 24 Jan 2005 20:23:07 -0500
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

hi,

cairo has recently begun shifting under a certain amount of active development, and I expect there will be an increase in the churn rate for the next few months. this is good news, as far as cairo maturing, but makes it harder for us to progress in our work on swing-on-cairo. luckily there has been a snapshot release of cairo (and pixman) recently with a nice API which our code agrees with.

attached is a makefile, for the impatient, which you can use to build and install the snapshot. I'd recommend staying with this snapshot for a while, since it appears to work well, include most recent cairo performance improvements, and there's a fair amount of reorganization going on in cairo CVS after the snapshot.

-graydon
# point this to a directory which you want to confine your cairo
# install to, for example I have .../inst/bin, .../inst/lib, and cairo
# puts itself in .../inst/lib/libcairo.so. 

PREFIX:=/home/graydon/src/java2d/inst

# should not need to edit anything below this line

CAIRO_SNAP_VERSION:=0.3.0
PIXMAN_SNAP_VERSION:=0.1.3

PIXMAN_TARBALL:=libpixman-$(PIXMAN_SNAP_VERSION).tar.gz
CAIRO_TARBALL:=cairo-$(CAIRO_SNAP_VERSION).tar.gz

PIXMAN_DIR:=src/libpixman-$(PIXMAN_SNAP_VERSION)
CAIRO_DIR:=src/cairo-$(CAIRO_SNAP_VERSION)

PIXMAN_CONFIGURE:=$(PIXMAN_DIR)/configure
CAIRO_CONFIGURE:=$(CAIRO_DIR)/configure

PIXMAN_MAKEFILE:=$(PIXMAN_DIR)/Makefile
CAIRO_MAKEFILE:=$(CAIRO_DIR)/Makefile

PIXMAN_LIB:=libpixman.so
CAIRO_LIB:=libcairo.so

PIXMAN_BUILD:=$(PIXMAN_DIR)/src/.libs/$(PIXMAN_LIB)
CAIRO_BUILD:=$(CAIRO_DIR)/src/.libs/$(CAIRO_LIB)

PIXMAN_INST:=$(PREFIX)/lib/$(PIXMAN_LIB)
CAIRO_INST:=$(PREFIX)/lib/$(CAIRO_LIB)

SNAP_BASE_URL:=http://cairographics.org/snapshots/

all: $(PIXMAN_INST) $(CAIRO_INST)


$(PIXMAN_INST): $(PIXMAN_BUILD)
        make -C $(PIXMAN_DIR) install

$(CAIRO_INST): $(CAIRO_BUILD)
        make -C $(CAIRO_DIR) install


$(PIXMAN_BUILD): $(PIXMAN_MAKEFILE)
        make -C $(PIXMAN_DIR)

$(CAIRO_BUILD): $(CAIRO_MAKEFILE)
        make -C $(CAIRO_DIR)


%/Makefile: %/configure
        cd $* && ./configure --prefix=$(PREFIX)

src/%/configure: %.tar.gz
        mkdir -p src
        tar --directory src -xzvf $<

%.tar.gz:
        wget $(SNAP_BASE_URL)/$@

clean:
        rm -Rf src *.tar.gz

reply via email to

[Prev in Thread] Current Thread [Next in Thread]