This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]