1*b1cdbd2cSJim Jagielski#************************************************************** 2*b1cdbd2cSJim Jagielski# 3*b1cdbd2cSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski# or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski# distributed with this work for additional information 6*b1cdbd2cSJim Jagielski# regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski# to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski# "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski# with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski# 11*b1cdbd2cSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski# 13*b1cdbd2cSJim Jagielski# Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski# software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski# KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski# specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski# under the License. 19*b1cdbd2cSJim Jagielski# 20*b1cdbd2cSJim Jagielski#************************************************************** 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim JagielskiPRJ=. 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim JagielskiPRJNAME=libxml2 27*b1cdbd2cSJim JagielskiTARGET=so_libxml2 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski# --- Settings ----------------------------------------------------- 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski.INCLUDE : settings.mk 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim Jagielski.IF "$(SYSTEM_LIBXML)" == "YES" 34*b1cdbd2cSJim Jagielskiall: 35*b1cdbd2cSJim Jagielski @echo "An already available installation of libxml should exist on your system." 36*b1cdbd2cSJim Jagielski @echo "Therefore the version provided here does not need to be built in addition." 37*b1cdbd2cSJim Jagielski.ENDIF 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski# --- Files -------------------------------------------------------- 40*b1cdbd2cSJim Jagielski 41*b1cdbd2cSJim JagielskiLIBXML2VERSION=2.9.10 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim JagielskiTARFILE_NAME=$(PRJNAME)-$(LIBXML2VERSION) 44*b1cdbd2cSJim JagielskiTARFILE_MD5=10942a1dc23137a8aa07f0639cbfece5 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim JagielskiPATCH_FILES=libxml2-configure.patch \ 47*b1cdbd2cSJim Jagielski 0e1a49c8907645d2e155f0d89d4d9895ac5112b5.patch \ 48*b1cdbd2cSJim Jagielski 50f06b3efb638efb0abd95dc62dca05ae67882c2.patch \ 49*b1cdbd2cSJim Jagielski 7ffcd44d7e6c46704f8af0321d9314cd26e0e18a.patch 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski# libxml2-global-symbols: #i112480#: Solaris ld won't export non-listed symbols 52*b1cdbd2cSJim Jagielski# libxml2-global-symbols.patch 53*b1cdbd2cSJim Jagielski 54*b1cdbd2cSJim Jagielski# This is only for UNX environment now 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielski.IF "$(OS)"=="WNT" 57*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 58*b1cdbd2cSJim Jagielskixml2_CC=$(CC) -mthreads 59*b1cdbd2cSJim Jagielski.IF "$(MINGW_SHARED_GCCLIB)"=="YES" 60*b1cdbd2cSJim Jagielskixml2_CC+=-shared-libgcc 61*b1cdbd2cSJim Jagielski.ENDIF 62*b1cdbd2cSJim Jagielskixml2_LIBS=-lws2_32 63*b1cdbd2cSJim Jagielski.IF "$(MINGW_SHARED_GXXLIB)"=="YES" 64*b1cdbd2cSJim Jagielskixml2_LIBS+=$(MINGW_SHARED_LIBSTDCPP) 65*b1cdbd2cSJim Jagielski.ENDIF 66*b1cdbd2cSJim JagielskiCONFIGURE_DIR= 67*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=.$/configure 68*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-lzma --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP=objdump 69*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE) 70*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR) 71*b1cdbd2cSJim Jagielski.ELSE 72*b1cdbd2cSJim JagielskiCONFIGURE_DIR=win32 73*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=cscript configure.js 74*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=iconv=no sax1=yes lzma=no 75*b1cdbd2cSJim Jagielski.IF "$(debug)"!="" 76*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS+=debug=yes 77*b1cdbd2cSJim Jagielski.ENDIF 78*b1cdbd2cSJim JagielskiBUILD_ACTION=nmake 79*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR) 80*b1cdbd2cSJim Jagielski.ENDIF 81*b1cdbd2cSJim Jagielski.ELSE 82*b1cdbd2cSJim Jagielski.IF "$(SYSBASE)"!="" 83*b1cdbd2cSJim Jagielskixml2_CFLAGS+=-I$(SYSBASE)$/usr$/include 84*b1cdbd2cSJim Jagielski.IF "$(COMNAME)"=="sunpro5" 85*b1cdbd2cSJim Jagielskixml2_CFLAGS+=$(ARCH_FLAGS) $(C_RESTRICTIONFLAGS) 86*b1cdbd2cSJim Jagielski.ENDIF # "$(COMNAME)"=="sunpro5" 87*b1cdbd2cSJim Jagielskixml2_LDFLAGS+=-L$(SYSBASE)$/usr$/lib 88*b1cdbd2cSJim Jagielski.ENDIF # "$(SYSBASE)"!="" 89*b1cdbd2cSJim Jagielski 90*b1cdbd2cSJim JagielskiCONFIGURE_DIR= 91*b1cdbd2cSJim Jagielski.IF "$(OS)"=="OS2" 92*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=sh .$/configure 93*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --without-lzma --enable-static=yes --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS)" CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)" 94*b1cdbd2cSJim Jagielski.ELSE 95*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=.$/configure 96*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --without-lzma --enable-static=no --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS) $(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)" 97*b1cdbd2cSJim Jagielski.ENDIF 98*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE) 99*b1cdbd2cSJim JagielskiBUILD_FLAGS+= -j$(EXTMAXPROCESS) 100*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR) 101*b1cdbd2cSJim Jagielski.ENDIF 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim JagielskiOUTDIR2INC=include$/libxml 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 107*b1cdbd2cSJim JagielskiEXTRPATH=URELIB 108*b1cdbd2cSJim JagielskiOUT2LIB+=.libs$/libxml2.*.dylib 109*b1cdbd2cSJim JagielskiOUT2BIN+=.libs$/xmllint 110*b1cdbd2cSJim JagielskiOUT2BIN+=xml2-config 111*b1cdbd2cSJim Jagielski.ELIF "$(OS)"=="WNT" 112*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 113*b1cdbd2cSJim JagielskiOUT2LIB+=.libs$/libxml2*.a 114*b1cdbd2cSJim JagielskiOUT2BIN+=.libs$/libxml2*.dll 115*b1cdbd2cSJim JagielskiOUT2BIN+=.libs$/xmllint.exe 116*b1cdbd2cSJim JagielskiOUT2BIN+=xml2-config 117*b1cdbd2cSJim Jagielski.ELSE 118*b1cdbd2cSJim JagielskiOUT2LIB+=win32$/bin.msvc$/*.lib 119*b1cdbd2cSJim JagielskiOUT2BIN+=win32$/bin.msvc$/*.dll 120*b1cdbd2cSJim JagielskiOUT2BIN+=win32$/bin.msvc$/xmllint.exe 121*b1cdbd2cSJim Jagielski.ENDIF 122*b1cdbd2cSJim Jagielski.ELSE 123*b1cdbd2cSJim JagielskiOUT2LIB+=.libs$/libxml2.so* 124*b1cdbd2cSJim JagielskiOUT2BIN+=.libs$/xmllint 125*b1cdbd2cSJim JagielskiOUT2BIN+=xml2-config 126*b1cdbd2cSJim Jagielski.ENDIF 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski# --- Targets ------------------------------------------------------ 129*b1cdbd2cSJim Jagielski 130*b1cdbd2cSJim Jagielski.INCLUDE : set_ext.mk 131*b1cdbd2cSJim Jagielski.INCLUDE : target.mk 132*b1cdbd2cSJim Jagielski.INCLUDE : tg_ext.mk 133*b1cdbd2cSJim Jagielski 134