#############################
# Server to deploy Services #
#############################
#Only one server can be used at a given time
#Also APACHE_HOME, APACHE2_HOME (simple axis server needs no environment settings) environment 
#variables should be set accordingly

server.apache1=true
server.apache2=false
server.simpleaxisserver=false

####################
# Items to be built #
#####################

# Set the following to true if you wish the API documentation be generated
documentation = false

########################################
# Location of wsdl2ws for Deliverables #
########################################
dir.wsdl2ws = ${dir.release}/lib/axis

########################################
# Location of gpg keys and databases   #
########################################
gpgdir=~/.gnupg

# Prefix and suffix used for executables and libraries
# Typical values are:
#   For windows:
#		executableSuffix = .exe
#		librarySuffix = .dll
#		libraryPrefix = 
#	For unix:
#		executableSuffix = 
#		librarySuffix = .so
#		libraryPrefix = lib
#	For AIX (as Unix, except):
#		librarySuffix = .a
executableSuffix = 
librarySuffix = .so
libraryPrefix = lib
