mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-08 05:38:02 +02:00
[win32] Update win32 build, remove gcc dependency
This commit is contained in:
parent
e1132d434e
commit
924a242f89
3 changed files with 54 additions and 19 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
40
src/cairo-features-win32.h
Normal file
40
src/cairo-features-win32.h
Normal 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
|
||||
|
||||
Loading…
Add table
Reference in a new issue