blob: 79d41e1080bdd7e0217a70eed897ac2740ac0d75 [file] [log] [blame]
#######################################################################
# @@@ START COPYRIGHT @@@
#
# 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.
#
# @@@ END COPYRIGHT @@@
#######################################################################
JVM ?= JVM_1_4
INCLUDE_DIRS += sqludr
CPPSRC := \
CliMsgObj.cpp \
ExpSqlTupp.cpp \
spinfo.cpp \
sql_buffer.cpp \
UdrAbortCallBack.cpp \
UdrCfgParser.cpp \
UdrDebug.cpp \
UdrExeIpc.cpp \
UdrFFDC.cpp \
UdrImplLmExtFunc.cpp \
udrglobals.cpp \
udrinvoke.cpp \
udrload.cpp \
UdrResultSet.cpp \
UdrRSProcess.cpp \
udrserv.cpp \
UdrStreams.cpp \
udrunload.cpp \
udrutil.cpp \
spinfoCallback.cpp
SRCPATH := udrserv executor exp udreh bin
DEFS := -DWIN32 -D_CONSOLE -DUDRSERV_BUILD -DUDR_DEBUG
CPPSRC += vprocudr.cpp
DUMA_WRAPPER_SRC := $(TOPDIR)/udrserv/tdm_udrserv.duma.sh
DEP_LIBS := tdm_sqlcli tdm_sqllangman arkcmp_dll
SYS_LIBS := -L$(LOC_JVMLIBS) -ljvm
# The UDR server needs a statically linked DUMA library, because
# its stdout are not associated with a terminal when it forks, and
# the child UDR server process will hang when the dynamic loader prints
# out the messages from the dynamic DUMA library upon PRELOADING it.
# This causes all spjs etc to hang. So we go with the static version
#
# this library will dump a process if it calls we incorrect destructor
#SYS_LIBS += -L/designs/seaquest/tools/dest-duma-noover/lib -lduma
# this libary will NOT dump a process if it calls an incorrect destructor
#SYS_LIBS += -L/designs/seaquest/tools/dest-duma-noover-nomis/lib -lduma
# this libary will NOT dump a process if it calls an incorrect destructor
# same as the library as above, but additional checks for forking
# initializing pthreads library.
#
# If you see messages like these:
# *** ERROR[11201] Language Manager initialization failed. Details: Errors
# occurred while loading Java class com.tandem.sqlmx.LmUtility.
#
# *** ERROR[11224] The Java virtual machine raised an exception. Details:
# java.lang.VerifyError: (class: com/tandem/sqlmx/LmUtility, method:
# getParamArray signature: (Ljava/lang/String;IZ)[Ljava/lang/Class;)
# Illegal instruction found at offset 23
#
# It typically means that tdm_udrserv process got built with the duma
# library, but that the wrapper didn't get installed. There are environment
# variables that needs to be set correctly for the DUMA stuff to work, and
# if they aren't set (the function the wrapper servers), you will see this.
#
#
ifdef DUMA_WORKAROUND
# SYS_LIBS += /designs/seaquest/tools/dest-duma-noover-nomis_fork/lib/libduma.a
SYS_LIBS += /home/tools/dest-duma-noover-nomis_fork/lib/libduma.a
endif