This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
[gui] makefile to help with cairo
- From: graydon hoare <graydon at redhat dot com>
- To: classpath at gnu dot org
- Cc: java at gcc dot gnu dot org
- Date: Mon, 24 Jan 2005 20:23:07 -0500
- Subject: [gui] makefile to help with cairo
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