#************************************************************** # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # #************************************************************** PRJ=.. PRJNAME=cairo TARGET=so_pixman EXTERNAL_WARNINGS_NOT_ERRORS := TRUE # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk .IF "$(ENABLE_CAIRO)" == "" all: @echo "Nothing to do (Cairo not enabled)." .ELIF "$(BUILD_PIXMAN)" == "" all: @echo "Not building pixman." .ENDIF # --- Files -------------------------------------------------------- PIXMANVERSION=0.12.0 TARFILE_NAME=pixman-$(PIXMANVERSION) TARFILE_MD5=09357cc74975b01714e00c5899ea1881 PATCH_FILES=..$/$(TARFILE_NAME).patch # Note: we are building static pixman library to avoid linking problems. # However, for Unix dynamic library must be used (especially due to 64bit issues) .IF "$(OS)"=="WNT" # --------- Windows ------------------------------------------------- .IF "$(COM)"=="GCC" CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure CONFIGURE_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" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) .IF "$(GUI)$(COM)"=="WNTGCC" .EXPORT : PWD .ENDIF .ELSE # WNT, not GCC BUILD_DIR=pixman BUILD_ACTION=$(GNUMAKE) -f Makefile.win32 .ENDIF .ELIF "$(GUIBASE)"=="aqua" # ----------- Native Mac OS X (Aqua/Quartz) -------------------------------- CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no CPPFLAGS="$(EXTRA_CDEFS)" .IF "$(SYSBASE)"!="" .IF "$(EXTRA_CFLAGS)"!="" CONFIGURE_FLAGS+=CFLAGS="$(EXTRA_CFLAGS) $(EXTRA_CDEFS)" .ENDIF # "$(EXTRA_CDEFS)"!="" .ENDIF # "$(SYSBASE)"!="" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) .ELSE # ----------- Unix --------------------------------------------------------- .IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC" LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec .ENDIF # "$(OS)$(COM)"=="LINUXGCC" .IF "$(OS)$(COM)"=="SOLARISC52" LDFLAGS:=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' .ENDIF # "$(OS)$(COM)"=="SOLARISC52" .IF "$(SYSBASE)"!="" pixman_CFLAGS+=-I$(SYSBASE)$/usr$/include -I$(SOLARINCDIR)$/external $(EXTRA_CFLAGS) .IF "$(OS)"=="SOLARIS" || "$(OS)"=="LINUX" LDFLAGS+=-L$(SYSBASE)$/lib -L$(SYSBASE)$/usr$/lib -L$(SOLARLIBDIR) -lpthread -ldl .ENDIF .ENDIF # "$(SYSBASE)"!="" .EXPORT: LDFLAGS .IF "$(COMNAME)"=="sunpro5" pixman_CFLAGS+=-xc99=none .ENDIF .IF "$(CPU)"=="I" pixman_CFLAGS+=-march=i486 .ENDIF pixman_CFLAGS+=-fPIC CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure .IF "$(CPUNAME)"=="X86_64" # static builds tend to fail on 64bit CONFIGURE_FLAGS=--enable-static=no --enable-shared=yes .ELSE # use static lib to avoid linking problems with older system pixman libs CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no .ENDIF CONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) .ENDIF # -------- All platforms -------------------------------------------- OUT2INC=pixman$/pixman-version.h \ pixman$/pixman.h .IF "$(OS)"=="MACOSX" OUT2LIB+=pixman$/.libs$/libpixman-1.a .ELIF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" OUT2LIB+=pixman$/.libs$/*.a .ELSE OUT2LIB+=pixman$/release$/*.lib .ENDIF .ELSE .IF "$(CPUNAME)"=="X86_64" OUT2LIB+=pixman$/.libs$/libpixman-1.so .ELSE OUT2LIB+=pixman$/.libs$/libpixman-1.a .ENDIF .ENDIF # --- Targets ------------------------------------------------------ .INCLUDE : set_ext.mk .INCLUDE : target.mk .INCLUDE : tg_ext.mk