[win32] Update win32 build, remove gcc dependency

This commit is contained in:
Vladimir Vukicevic 2008-08-05 12:57:51 -07:00 committed by Vladimir Vukicevic
parent e1132d434e
commit 924a242f89
3 changed files with 54 additions and 19 deletions

View file

@ -26,7 +26,7 @@ DEFAULT_CFLAGS += -DCAIRO_NO_MUTEX=1 -DLIBCAIRO_EXPORTS
CFLAGS := $(DEFAULT_CFLAGS)
CAIRO_VERSION_MAJOR = 1
CAIRO_VERSION_MINOR = 5
CAIRO_VERSION_MINOR = 7
CAIRO_VERSION_MICRO = 1
CAIRO_VERSION = $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO)
@ -40,16 +40,23 @@ TEST_SUBDIRS = boilerplate test
all: inform cairo
src/cairo-features.h:
@echo Warning: creating default cairo-features.h
@(cat src/cairo-features-win32.h | \
sed 's,@CAIRO_VERSION_MAJOR@,'$(CAIRO_VERSION_MAJOR)',g' | \
sed 's,@CAIRO_VERSION_MINOR@,'$(CAIRO_VERSION_MINOR)',g' | \
sed 's,@CAIRO_VERSION_MICRO@,'$(CAIRO_VERSION_MICRO)',g' > src/cairo-features.h)
cairo: src/cairo-features.h
@list='$(SUBDIRS)'; for f in $$list ; do \
echo making all in $$f... ; \
(cd $$f ; $(MAKE) -f Makefile.win32 CC="$(CC)" LINK="$(LINK)" OPT="$(OPT)" CFLAGS="$(CFLAGS)" PIXMAN_LIBS="$(PIXMAN_LIBS)") || exit 1 ; \
($(MAKE) -C $$f -f Makefile.win32) || exit 1 ; \
done
test: cairo
@list='$(TEST_SUBDIRS)'; for f in $$list ; do \
echo making all in $$f... ; \
(cd $$f ; $(MAKE) -f Makefile.win32 CC="$(CC)" LINK="$(LINK)" OPT="$(OPT)" CFLAGS="$(CFLAGS)" PIXMAN_LIBS="$(PIXMAN_LIBS)") || exit 1 ; \
($(MAKE) -C $$f -f Makefile.win32) || exit 1 ; \
done
@(cd test ; make -f Makefile.win32 test)

View file

@ -3,7 +3,6 @@ SUBMAKEFILE = 1
include ../Makefile.win32
DEFFILE = cairo.def
srcdir = `pwd`
SOURCES = \
@ -55,12 +54,13 @@ SOURCES = \
cairo-truetype-subset.c \
cairo-type1-fallback.c \
cairo-unicode.c \
cairo-user-font.c \
cairo-type3-glyph-surface.c \
cairo-wideint.c \
cairo-win32-font.c \
cairo.c \
cairo-svg-surface.c \
cairo-ps-surface.c \
cairo-pdf-surface.c \
cairo-scaled-font-subsets.c \
cairo-paginated-surface.c \
cairo-analysis-surface.c \
@ -91,20 +91,8 @@ all: inform $(CFG)/cairo.dll $(CFG)/cairo-static.lib
static: inform $(CFG)/cairo-static.lib
dynamic: inform $(CFG)/cairo.dll
$(DEFFILE):
(echo EXPORTS; \
(cd $(srcdir); cat $(cairo_headers) || echo 'cairo_ERROR ()' ) | \
grep -v -E '^# *include' | \
( gcc -include cairo-features.h -E - || echo 'cairo_ERROR ()' ) | \
grep -E '^_?cairo_.* \(' | \
sed -e 's/[ ].*//' | \
sort; \
echo LIBRARY cairo.dll; \
) >$@
@ ! grep -q cairo_ERROR $@ || ($(RM) $@; false)
$(CFG)/cairo.dll: $(OBJECTS) $(SHARED_OBJECTS) $(DEFFILE)
$(CC) -MD -LD -Fe$@ $(PIXMAN_LIBS) $(OBJECTS) $(SHARED_OBJECTS) -link -DEF:$(DEFFILE) user32.lib gdi32.lib libpng.lib zdll.lib msimg32.lib
$(CFG)/cairo.dll: $(OBJECTS) $(SHARED_OBJECTS)
$(CC) -MD -LD -Fe$@ $(PIXMAN_LIBS) $(OBJECTS) $(SHARED_OBJECTS) -link user32.lib gdi32.lib libpng.lib zdll.lib msimg32.lib
$(CFG)/cairo-static.lib: $(OBJECTS) $(STATIC_OBJECTS)
lib -NOLOGO -OUT:$@ $(PIXMAN_LIBS) $(OBJECTS) $(STATIC_OBJECTS)

View file

@ -0,0 +1,40 @@
#ifndef CAIRO_FEATURES_H
#define CAIRO_FEATURES_H
#if defined(__cplusplus)
# define CAIRO_BEGIN_DECLS extern "C" {
# define CAIRO_END_DECLS }
#else
# define CAIRO_BEGIN_DECLS
# define CAIRO_END_DECLS
#endif
#ifndef cairo_public
#ifdef LIBCAIRO_EXPORTS
#define cairo_public __declspec(dllexport)
#else
#define cairo_public __declspec(dllimport)
#endif
#endif
#define CAIRO_VERSION_MAJOR @CAIRO_VERSION_MAJOR@
#define CAIRO_VERSION_MINOR @CAIRO_VERSION_MINOR@
#define CAIRO_VERSION_MICRO @CAIRO_VERSION_MICRO@
#define CAIRO_VERSION_STRING "@CAIRO_VERSION_MAJOR@.@CAIRO_VERSION_MINOR@.@CAIRO_VERSION_MICRO@"
#define HAVE_WINDOWS_H 1
#define CAIRO_HAS_SVG_SURFACE 1
#define CAIRO_HAS_PDF_SURFACE 1
#define CAIRO_HAS_PS_SURFACE 1
#define CAIRO_HAS_WIN32_SURFACE 1
#define CAIRO_HAS_WIN32_FONT 1
#define CAIRO_HAS_PNG_FUNCTIONS 1
#define PACKAGE_NAME "cairo"
#define PACKAGE_TARNAME "cairo"
#define PACKAGE_STRING "cairo @CAIRO_VERSION_MAJOR@.@CAIRO_VERSION_MINOR@.@CAIRO_VERSION_MICRO@"
#endif