# # The Apache Software License, Version 1.1 # # Copyright (c) 1999-2004 The Apache Software Foundation. All rights # reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # # 3. The end-user documentation included with the redistribution, # if any, must include the following acknowledgment: # "This product includes software developed by the # Apache Software Foundation (http://www.apache.org/)." # Alternately, this acknowledgment may appear in the software itself, # if and wherever such third-party acknowledgments normally appear. # # 4. The names "Xalan", "Xerces" and "Apache Software Foundation" must # not be used to endorse or promote products derived from this # software without prior written permission. For written # permission, please contact apache\@apache.org. # # 5. Products derived from this software may not be called "Apache", # nor may "Apache" appear in their name, without prior written # permission of the Apache Software Foundation. # # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR # ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ==================================================================== # # This software consists of voluntary contributions made by many # individuals on behalf of the Apache Software Foundation, and was # originally based on software copyright (c) 1999, International # Business Machines, Inc., http://www.ibm.com . For more information # on the Apache Software Foundation, please see # . # #MACROS defining commands MKDIR=mkdir LN=ln #all these setting come from the arguments passed in to runConfigure. PLATFORM =LINUX CC = gcc CXX = g++ CPPFLAGS = CFLAGS = -O2 -DNDEBUG CXXFLAGS = -O2 -DNDEBUG -fno-elide-constructors PREFIX = /usr/local LDFLAGS = BITSTOBUILD = 32 LIBS = -lm -lpthread TRANSCODER= WCSTOMBS = -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS MESSAGELOADER = INMEM LOCALE = en_US SHELL = /bin/sh MKINSTALLDIRS = $(MKDIR) -p prefix = /usr/local exec_prefix = ${prefix} bindir = ${exec_prefix}/bin libdir = ${exec_prefix}/lib includedir = ${prefix}/include XSL_OBJ_DIR = ${OUTDIR}/obj XSL_LIB_DIR = ${OUTDIR}/lib XSL_BIN_DIR = ${OUTDIR}/bin XSL_NLS_DIR = ${OUTDIR}/nls XSL_INCL = -I$(XALANCROOT)/src -I$(XALANCROOT)/include -I${XSL_NLS_DIR}/include XSL_INCL += -I$(XERCESCROOT)/src/ -I$(XERCESCROOT)/include/xercesc -I$(XERCESCROOT)/include/ SAMPLES_DIR = $(XALANCROOT)/samples TESTS_DIR = $(XALANCROOT)/Tests # ICU ifeq ($(TRANSCODER), "icu") XALAN_USE_ICU = yes endif ifdef XALAN_USE_ICU ifndef ICUROOT ICUROOT=/usr/local endif ifndef ICUI18NROOT ICUI18NROOT=${ICUROOT} endif endif # required libraries XERCES_LIB = -L$(XERCESCROOT)/lib -lxerces-c ICU_LIB = -L$(ICUROOT)/lib -licuuc -L$(ICUI18NROOT)/lib -licui18n XALAN_LIB = $(LIBRARY_SEARCH_PATH) $(LIBRARY_LINK_NAME) # Library names LIB_NAME = lib$(PROJECT_NAME) LIB = $(LIB_NAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER).$(LIB_MINOR_VER) SO_NAME = $(LIB_NAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER) LINK_NAME = $(LIB_NAME)$(SHLIBSUFFIX) XALAN_LIB_PATH = -L$(XSL_LIB_DIR) LIBRARY_LINK_NAME = -l$(PROJECT_NAME) LIBRARY_SEARCH_PATH = -L$(XSL_LIB_DIR) -L$(XALANCROOT)/lib # Localization library names LOC_PROJECT_NAME = xalanMsg LOC_LIBNAME = lib${LOC_PROJECT_NAME} LOC_LIB = ${LOC_LIBNAME}$(SHLIBSUFFIX).${LIB_MAJOR_VER}.${LIB_MINOR_VER} LOC_SONAME = ${LOC_LIBNAME}${SHLIBSUFFIX}.${LIB_MAJOR_VER} MESSAGELIB = ${XSL_LIB_DIR}/${LOC_LIB} ifeq ($(MESSAGELOADER),NLS) LOCAL_LIB = XSL_BUILD_OPTIONS += -DXALAN_NLS_MSG_LOADER endif ifeq ($(MESSAGELOADER),ICU) XSL_BUILD_OPTIONS += -DXALAN_ICU_MSG_LOADER LOCAL_LIB = -L${XSL_LIB_DIR} -l$(LOC_PROJECT_NAME) endif ifeq ($(MESSAGELOADER),INMEM) XSL_BUILD_OPTIONS += -DXALAN_INMEM_MSG_LOADER LOCAL_LIB = -L${XSL_LIB_DIR} -l$(LOC_PROJECT_NAME) endif #=============== LINUX SPECIFIC OPTIONS ========================= ifeq ($(PLATFORM), LINUX) SUPPORTED = TRUE ALLLIBS = ${LIBS} SHLIBSUFFIX=.so PIC_OPTION= ifeq (${CXX}, icpc) PIC_OPTION=-KPIC PLATFORM_COMPILE_OPTIONS = -ansi else PIC_OPTION=-fPIC PLATFORM_COMPILE_OPTIONS = -Wall endif PLATFORM_COMPILE_OPTIONS += ${PIC_OPTION} -D${PLATFORM} -D_REENTRANT # We need the ICU library if we are using the ICUBridge ifdef XALAN_USE_ICU LD_RPATH_PRE= -Wl,-rpath, PLATFORM_LIB_LINK_OPTIONS=$(LD_RPATH_PRE)${ICUROOT}/lib endif EXTRA_LINK_OPTIONS= ${LDFLAGS} CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} LINK_SONAME = -Wl,-soname,$(SO_NAME) LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} export LD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICUROOT)/lib:$(LD_LIBRARY_PATH) MAKE_SHARED_LOC = ${CXX} $(CXXFLAGS) -Wl,-soname,$(LOC_SONAME) -D${PLATFORM} -shared ${PIC_OPTION} endif #=============== FREEBSD SPECIFIC OPTIONS ====================== ifeq ($(PLATFORM), FREEBSD) SUPPORTED = TRUE ALLLIBS = ${LIBS} -L/usr/local/lib SHLIBSUFFIX=.so PIC_OPTION = -fPIC PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} ${PIC_OPTION} ${WCSTOMBS} # We need the ICU library if we are using the ICUBridge ifdef XALAN_USE_ICU LD_RPATH_PRE = -Wl,-rpath, PLATFORM_LIB_LINK_OPTIONS = $(LD_RPATH_PRE)${ICUROOT}/lib PLATFORM_LIB_LINK_OPTIONS += -licuuc -licudata -lgcc ALLLIBS += -L${ICUROOT} endif EXTRA_LINK_OPTIONS = ${LDFLAGS} CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = $(CXX) $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} MAKE_SHARED_LOC=$(MAKE_SHARED) endif #=============== NETBSD SPECIFIC OPTIONS ====================== ifeq ($(PLATFORM), NETBSD) SUPPORTED = TRUE ALLLIBS = ${LIBS} -L/usr/local/lib SHLIBSUFFIX=.so PIC_OPTION = -fPIC PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} ${PIC_OPTION} ${WCSTOMBS} # We need the ICU library if we are using the ICUBridge ifdef XALAN_USE_ICU LD_RPATH_PRE = -Wl,-rpath, PLATFORM_LIB_LINK_OPTIONS = $(LD_RPATH_PRE)${ICUROOT}/lib PLATFORM_LIB_LINK_OPTIONS += -licuuc -licudata -lgcc ALLLIBS += -L${ICUROOT} endif EXTRA_LINK_OPTIONS = ${LDFLAGS} CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = $(CXX) $(CXXFLAGS) -D${PLATFORM} -shared ${PIC_OPTION} LINK = $(CXX) -D${PLATFORM} ${PIC_OPTION} MAKE_SHARED_LOC=$(MAKE_SHARED) endif #=============== HPUX SPECIFIC OPTIONS ========================= ifeq ($(PLATFORM), HPUX) SUPPORTED = TRUE PLATFORM_COMPILE_OPTIONS = +Z -D${PLATFORM} -D_THREAD_SAFE PLATFORM_CXX_COMPILE_OPTIONS = +p -mt -Aa ALLLIBS = ${LIBS} SHLIBSUFFIX=.sl CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) $(PLATFORM_CXX_COMPILE_OPTIONS) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = $(CXX) -b +Z ${LDFLAGS} -Wl,+s LINK_SONAME = -Wl,+h,${SO_NAME} LINK = $(CXX) $(CXXFLAGS) ${LDFLAGS} $(PLATFORM_COMPILE_OPTIONS) $(PLATFORM_CXX_COMPILE_OPTIONS) -Wl,+s export SHLIB_PATH:=$(XERCESCROOT)/lib:$(ICUROOT)/lib:$(SHLIB_PATH) MAKE_SHARED_LOC = $(CXX) -b +Z ${LDFLAGS} -Wl,+s -Wl,+h,${LOC_SONAME} endif #=============== SOLARIS SPECIFIC OPTIONS ========================= ifeq ($(PLATFORM), SOLARIS) SUPPORTED = TRUE ifeq (${CXX}, g++) PLATFORM_COMPILE_OPTIONS = -Wall -fPIC -D${PLATFORM} -D_REENTRANT ifdef XALAN_USE_ICU LD_RPATH_PRE= -Wl,-rpath, endif EXTRA_LINK_OPTIONS=-lc CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared -fPIC LINK = g++ -D${PLATFORM} -fPIC ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc else PLATFORM_COMPILE_OPTIONS = -KPIC -mt -xs -ptr$(XSL_OBJ_DIR) -features=rtti -D${PLATFORM} -D_REENTRANT CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) -I${STLPORTROOT}/stlport CC4 = $(CC) $(CXXFLAGS) -KPIC -mt -xs -D${PLATFORM} -D_REENTRANT MAKE_SHARED = ${CXX} -D${PLATFORM} -G -ptr$(XSL_OBJ_DIR) ${LDFLAGS} LINK_SONAME = -h ${SO_NAME} MAKE_SHARED_C = ${CC} -D${PLATFORM} -G ${LDFLAGS} LINK = ${CXX} -D${PLATFORM} -ptr$(XSL_OBJ_DIR) ${LDFLAGS} ALLLIBS = -mt ${LIBS} -L/usr/local/SUNWspro/lib -L/usr/ccs/lib \ -lc -lgen endif SHLIBSUFFIX=.so export LD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICUROOT)/lib:$(LD_LIBRARY_PATH) MAKE_SHARED_LOC = ${CXX} -D${PLATFORM} -G -ptr$(ALL_OBJECTS_DIR) ${LDFLAGS} -h ${LOC_SONAME} endif #=============== AIX SPECIFIC OPTIONS ========================= ifeq ($(PLATFORM), AIX) SUPPORTED = TRUE ifeq (${CXX}, g++) PLATFORM_COMPILE_OPTIONS = -Wall -fPIC -D${PLATFORM} -D_REENTRANT ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc EXTRA_LINK_OPTIONS=-lc CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -shared -fPIC LINK = g++ -D${PLATFORM} -fPIC ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -lc SHLIBSUFFIX=.a else PLATFORM_COMPILE_OPTIONS = -qthreaded -D${PLATFORM} -D_THREAD_SAFE ALLLIBS = ${LIBS} -L/usr/lib CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) -I${STLPORTROOT}/stlport ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS})) CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) -DNDEBUG -I${STLPORTROOT}/stlport else CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) -I${STLPORTROOT}/stlport endif CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = makeC++SharedLib_r -p 512 -brtl ${bitstobuildLink} LINK = $(CXX) -qnotempinc $(CXXFLAGS) -brtl $(PLATFORM_COMPILE_OPTIONS) ${bitstobuildLink} ifeq (${BITSTOBUILD}, 64) MAKE_SHARED += -X64 CC2 += -q64 CC4 += -q64 endif SHLIBSUFFIX=.so endif XERCES_LIB= -L$(XERCESCROOT)/lib -lxerces-c24 ICU_LIB= -L$(ICUROOT)/lib -licuuc26 -L$(ICUI18NROOT)/lib -licui18n26 LIB = $(LIB_NAME)$(LIB_MAJOR_VER).$(LIB_MINOR_VER)$(SHLIBSUFFIX) SO_NAME = $(LIB_NAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX) LIBRARY_LINK_NAME=-l$(PROJECT_NAME)$(LIB_MAJOR_VER) export LIBPATH := $(XERCESCROOT)/lib:$(ICUROOT)/lib:$(LIBPATH) MAKE_SHARED_LOC=$(MAKE_SHARED) LOC_LIB = ${LOC_LIBNAME}${LIB_MAJOR_VER}.${LIB_MINOR_VER}${SHLIBSUFFIX} LOC_LIBKEYNAME=${LOC_PROJECT_NAME}${LIB_MAJOR_VER} endif #=============== OS390 SPECIFIC OPTIONS ========================= ifeq ($(PLATFORM), OS390) SUPPORTED = TRUE PLATFORM_COMPILE_OPTIONS =-Wc,dll,"langlvl(extended),float(ieee)" -D${PLATFORM} -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED ALLLIBS = SHLIBSUFFIX=.dll OS390SIDEDECK=.x CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS})) CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) -DNDEBUG else CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS) endif CC3 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = ${CXX} $(CXXFLAGS) -Wl,compat=pm3 -D${PLATFORM} -Wl,dll LINK = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) -Wl,compat=pm3 XERCES_LIB=$(XERCESCROOT)/lib/libxerces-c2_4_0.x ICU_LIB=$(XERCESCROOT)/lib/libicuuc26.1.x $(XERCESCROOT)/lib/libicui18n26.1.x LIB=$(LIB_NAME).$(VER)$(OS390SIDEDECK) LIBRARY_SEARCH_PATH= LIBRARY_LINK_NAME=$(XSL_LIB_DIR)/$(LIB_NAME)$(OS390SIDEDECK) ## OS390BATCH ifeq (${OS390BATCH},1) BATCH_PROJECT_NAME = IXMLC15 BATCH_TARGET = "//'${LOADMOD}($/{BATCH_PROJECT_NAME})'" ALLLIBS = "//'${LOADEXP}(IXM4C54X)'" "//'${LOADEXP}(IXM26UCX)'" "//'${LOADEXP}(IXMI26IN)'" LIBRARY_LINK_NAME= "//'${LOADEXP}(${BATCH_PROJECT_NAME})'" endif ## OS390BATCH MAKE_SHARED_LOC=$(MAKE_SHARED) LOC_LIB = ${LOC_LIBNAME}.${VER}$(OS390SIDEDECK) endif #============ TRU64 SPECIFIC OPTIONS ============================ ifeq ($(PLATFORM), TRU64) SUPPORTED = TRUE PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -ptr ${XSL_OBJ_DIR}/.cxx_repository -ieee -pthread -std strict_ansi_errors ALLLIBS = ${LIBS} -L/usr/lib -lm SHLIBSUFFIX = .so CC1 = $(CXX) ${CXXFLAGS} $(PLATFORM_COMPILE_OPTIONS) -nocxxstd CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = ${CXX} ${CXXFLAGS} -shared -D${PLATFORM} -ptr ${XSL_OBJ_DIR}/.cxx_repository -ieee -pthread -std strict_ansi_errors -nocxxstd LINK = ${CXX} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED_LOC=$(MAKE_SHARED) endif #============ MacOSX SPECIFIC OPTIONS ============================ ifeq ($(PLATFORM), MACOSX) SUPPORTED = TRUE PLATFORM_COMPILE_OPTIONS = -Wall -fno-elide-constructors -D${PLATFORM} -D_REENTRANT -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib SHLIBSUFFIX=.dylib CC1 = ${CXX} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) CC4 = ${CC} $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -dynamiclib LINK = ${CXX} $(CXXFLAGS) ${PLATFORM_COMPILE_OPTIONS} export DYLD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICUROOT)/lib:$(DYLD_LIBRARY_PATH) MAKE_SHARED_LOC=$(MAKE_SHARED) endif #=============== OS400 SPECIFIC OPTIONS ========================= ifeq ($(PLATFORM), OS400) SUPPORTED = TRUE PLATFORM_COMPILE_OPTIONS = -v -D_MULTI_THREADED -D${PLATFORM} -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS PLATFORM_C_COMPILE_OPTIONS = -v -D_MULTI_THREADED -D${PLATFORM} -DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS ALLLIBS = MAKE_SHARED = ld -v ${LDFLAGS} MAKE_SHARED_C = ld -v ${LDFLAGS} SHLIBSUFFIX=.a CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) ifeq (-DNDEBUG,$(findstring -DNDEBUG,${CXXFLAGS})) CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS2) -DNDEBUG else CC2 = $(CXX) $(PLATFORM_COMPILE_OPTIONS2) endif CC3 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS2) CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) TO = qwobj EXTRA_COMPILE_OPTIONS = -I. -g -qTERASPACE="*YES *NOTSIFC" -qSTGMDL="*INHERIT" -DXML_USE_ICONV400_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSSOR_SOCKET -qTGTRLS="V5R1M0" EXTRA_LINK_OPTIONS = -qOPTION="*DUPPROC *DUPVAR *NOWARN" LINK = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) endif ifndef SUPPORTED nogood: @echo Linux, Solaris, AIX, Compaq Tru64, OS/390, MacOSX, and HP-UX are the only platforms supported. endif ALLLIBS += $(XERCES_LIB) ALLLIBS += $(LOCAL_LIB) ifdef XALAN_USE_ICU ALLLIBS += $(ICU_LIB) endif