1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance 9# with the License. You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, 14# software distributed under the License is distributed on an 15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16# KIND, either express or implied. See the License for the 17# specific language governing permissions and limitations 18# under the License. 19# 20#************************************************************** 21 22 23 24PRJ=.. 25 26PRJNAME=cairo 27TARGET=so_pixman 28EXTERNAL_WARNINGS_NOT_ERRORS := TRUE 29 30# --- Settings ----------------------------------------------------- 31 32.INCLUDE : settings.mk 33 34.IF "$(ENABLE_CAIRO)" == "" 35all: 36 @echo "Nothing to do (Cairo not enabled)." 37 38.ELIF "$(BUILD_PIXMAN)" == "" 39all: 40 @echo "Not building pixman." 41 42.ENDIF 43 44# --- Files -------------------------------------------------------- 45 46PIXMANVERSION=0.12.0 47 48TARFILE_NAME=pixman-$(PIXMANVERSION) 49TARFILE_MD5=09357cc74975b01714e00c5899ea1881 50 51PATCH_FILES=..$/$(TARFILE_NAME).patch 52 53# Note: we are building static pixman library to avoid linking problems. 54# However, for Unix dynamic library must be used (especially due to 64bit issues) 55 56.IF "$(OS)"=="WNT" 57# --------- Windows ------------------------------------------------- 58.IF "$(COM)"=="GCC" 59CONFIGURE_DIR= 60CONFIGURE_ACTION=.$/configure 61CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CFLAGS="$(pixman_CFLAGS) -mthreads" LDFLAGS="$(pixman_LDFLAGS) -no-undefined -L$(ILIB:s/;/ -L/)" OBJDUMP="$(WRAPCMD) objdump" 62BUILD_ACTION=$(GNUMAKE) 63BUILD_FLAGS+= -j$(EXTMAXPROCESS) 64BUILD_DIR=$(CONFIGURE_DIR) 65.IF "$(GUI)$(COM)"=="WNTGCC" 66.EXPORT : PWD 67.ENDIF 68 69.ELSE # WNT, not GCC 70BUILD_DIR=pixman 71BUILD_ACTION=$(GNUMAKE) -f Makefile.win32 72.ENDIF 73 74.ELIF "$(GUIBASE)"=="aqua" 75# ----------- Native Mac OS X (Aqua/Quartz) -------------------------------- 76CONFIGURE_DIR= 77CONFIGURE_ACTION=.$/configure 78CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no CPPFLAGS="$(EXTRA_CDEFS)" 79.IF "$(SYSBASE)"!="" 80.IF "$(EXTRA_CFLAGS)"!="" 81CONFIGURE_FLAGS+=CFLAGS="$(EXTRA_CFLAGS) $(EXTRA_CDEFS)" 82.ENDIF # "$(EXTRA_CDEFS)"!="" 83.ENDIF # "$(SYSBASE)"!="" 84BUILD_ACTION=$(GNUMAKE) 85BUILD_FLAGS+= -j$(EXTMAXPROCESS) 86BUILD_DIR=$(CONFIGURE_DIR) 87 88.ELSE 89# ----------- Unix --------------------------------------------------------- 90.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC" 91LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec 92.ENDIF # "$(OS)$(COM)"=="LINUXGCC" 93 94.IF "$(OS)$(COM)"=="SOLARISC52" 95LDFLAGS:=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' 96.ENDIF # "$(OS)$(COM)"=="SOLARISC52" 97 98.IF "$(SYSBASE)"!="" 99pixman_CFLAGS+=-I$(SYSBASE)$/usr$/include -I$(SOLARINCDIR)$/external $(EXTRA_CFLAGS) 100.IF "$(OS)"=="SOLARIS" || "$(OS)"=="LINUX" 101LDFLAGS+=-L$(SYSBASE)$/lib -L$(SYSBASE)$/usr$/lib -L$(SOLARLIBDIR) -lpthread -ldl 102.ENDIF 103.ENDIF # "$(SYSBASE)"!="" 104 105.EXPORT: LDFLAGS 106 107.IF "$(COMNAME)"=="sunpro5" 108pixman_CFLAGS+=-xc99=none 109.ENDIF 110 111.IF "$(CPU)"=="I" 112pixman_CFLAGS+=-march=i486 113.ENDIF 114 115pixman_CFLAGS+=-fPIC 116 117CONFIGURE_DIR= 118CONFIGURE_ACTION=.$/configure 119.IF "$(CPUNAME)"=="X86_64" 120# static builds tend to fail on 64bit 121CONFIGURE_FLAGS=--enable-static=no --enable-shared=yes 122.ELSE 123# use static lib to avoid linking problems with older system pixman libs 124CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no 125.ENDIF 126CONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)" 127BUILD_ACTION=$(GNUMAKE) 128BUILD_FLAGS+= -j$(EXTMAXPROCESS) 129BUILD_DIR=$(CONFIGURE_DIR) 130.ENDIF 131 132 133 134# -------- All platforms -------------------------------------------- 135 136OUT2INC=pixman$/pixman-version.h \ 137 pixman$/pixman.h 138 139.IF "$(OS)"=="MACOSX" 140OUT2LIB+=pixman$/.libs$/libpixman-1.a 141.ELIF "$(OS)"=="WNT" 142.IF "$(COM)"=="GCC" 143OUT2LIB+=pixman$/.libs$/*.a 144.ELSE 145OUT2LIB+=pixman$/release$/*.lib 146.ENDIF 147.ELSE 148.IF "$(CPUNAME)"=="X86_64" 149OUT2LIB+=pixman$/.libs$/libpixman-1.so 150.ELSE 151OUT2LIB+=pixman$/.libs$/libpixman-1.a 152.ENDIF 153.ENDIF 154 155# --- Targets ------------------------------------------------------ 156 157.INCLUDE : set_ext.mk 158.INCLUDE : target.mk 159.INCLUDE : tg_ext.mk 160 161