merged new xmlrpc-c revision 1472 from https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/trunk
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8545 d0543943-73ff-0310-b7d9-9358b9ac24b2v1.2.stable
parent
d2290cfa3a
commit
00654d880e
|
@ -1,80 +1,151 @@
|
|||
ifeq ($(SRCDIR)x,x)
|
||||
SRCDIR = $(CURDIR)
|
||||
endif
|
||||
SUBDIR = .
|
||||
BUILDDIR = $(SRCDIR)
|
||||
VPATH = .:$(SRCDIR)
|
||||
include Makefile.srcdir
|
||||
|
||||
include $(SRCDIR)/Makefile.config
|
||||
BLDDIR = $(CURDIR)
|
||||
SUBDIR =
|
||||
|
||||
SUBDIRS = include src lib tools
|
||||
export SRCDIR
|
||||
export BLDDIR
|
||||
|
||||
include $(BLDDIR)/Makefile.version
|
||||
include $(BLDDIR)/config.mk
|
||||
|
||||
SUBDIRS = include lib src tools examples
|
||||
|
||||
# The reason we don't build tools and examples by default is that they
|
||||
# contain executables, which require significantly more from the
|
||||
# environment to build than libraries. Ergo, they are signficantly
|
||||
# more likely to fail to build. Indeed, when 'tools' was built by
|
||||
# default, the majority of the reported build problems were with that.
|
||||
# Since they are ancillary to the package, building them by default is
|
||||
# not worth causing the whole build to fail.
|
||||
|
||||
# As with any subdirectory, to build 'tools' or 'examples', cd to the
|
||||
# subdirectory and make there.
|
||||
|
||||
DEFAULT_SUBDIRS = include lib src
|
||||
|
||||
PROGRAMS_TO_INSTALL = xmlrpc-c-config
|
||||
|
||||
# We're in a transition between the bloated, complex GNU
|
||||
# Autoconf/Automake style of build, in which 'configure' creates all
|
||||
# the make files, to simpler static make files. Some directories have
|
||||
# been converted; some haven't. So we have the hack of putting
|
||||
# 'xmlrpc_config.h' as the first dependency of 'all' to make sure
|
||||
# 'configure runs before anything in the case that the user neglects
|
||||
# to run 'configure' before doing 'make'.
|
||||
|
||||
default: xmlrpc_config.h all
|
||||
default: xmlrpc-c-config xmlrpc-c-config.test $(DEFAULT_SUBDIRS:%=%/all)
|
||||
|
||||
.PHONY: all
|
||||
all: xmlrpc-c-config xmlrpc-c-config.test $(SUBDIRS:%=%/all)
|
||||
|
||||
# We don't want the transport_config.h rule in Makefile.common:
|
||||
OMIT_TRANSPORT_CONFIG_H = Y
|
||||
transport_config.h: $(BUILDDIR)/Makefile.config
|
||||
# The examples subdirectory is special, because even the make file in there
|
||||
# is designed to be an example. So it has to be simple and as close as
|
||||
# possible to something a person could use outside of the Xmlrpc-c source
|
||||
# tree. One ramification of that is that it does not specify dependencies
|
||||
# on other parts of the Xmlrpc-c build. That means we must separately
|
||||
# ensure that the Xmlrpc-c libraries are built before making the example
|
||||
# programs.
|
||||
#
|
||||
# It also means that you have to manually clean the examples directory
|
||||
# in order to get the examples rebuilt after you modify the Xmlrpc-c
|
||||
# libraries.
|
||||
|
||||
examples/all: xmlrpc-c-config.test lib/all src/all include/all
|
||||
|
||||
# Parallel make (make --jobs) is not smart enough to coordinate builds
|
||||
# between submakes, so a naive parallel make would cause certain
|
||||
# targets to get built multiple times simultaneously. That is usually
|
||||
# unacceptable. So we introduce extra dependencies here just to make
|
||||
# sure such targets are already up to date before the submake starts,
|
||||
# for the benefit of parallel make. Note that we ensure that parallel
|
||||
# make works for 'make all' in the top directory, but it may still fail
|
||||
# for the aforementioned reason for other invocations.
|
||||
|
||||
tools/all: include/all lib/all src/all
|
||||
src/all lib/all: include/all
|
||||
src/all: lib/all
|
||||
|
||||
MAJOR := $(XMLRPC_MAJOR_RELEASE)
|
||||
MINOR := $(XMLRPC_MINOR_RELEASE)
|
||||
POINT := $(XMLRPC_POINT_RELEASE)
|
||||
version.h: $(SRCDIR)/Makefile.version
|
||||
rm -f $@
|
||||
echo '/* This file was generated by a make rule */' >>$@
|
||||
ifeq ($(MUST_BUILD_WININET_CLIENT),yes)
|
||||
echo '#define MUST_BUILD_WININET_CLIENT 1' >>$@
|
||||
else
|
||||
echo '#define MUST_BUILD_WININET_CLIENT 0' >>$@
|
||||
endif
|
||||
ifeq ($(MUST_BUILD_CURL_CLIENT),yes)
|
||||
echo '#define MUST_BUILD_CURL_CLIENT 1' >>$@
|
||||
else
|
||||
echo '#define MUST_BUILD_CURL_CLIENT 0' >>$@
|
||||
endif
|
||||
ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
|
||||
echo '#define MUST_BUILD_LIBWWW_CLIENT 1' >>$@
|
||||
else
|
||||
echo '#define MUST_BUILD_LIBWWW_CLIENT 0' >>$@
|
||||
endif
|
||||
echo "static const char * const XMLRPC_DEFAULT_TRANSPORT =" >>$@
|
||||
ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
|
||||
echo '"libwww";' >>$@
|
||||
else
|
||||
ifeq ($(MUST_BUILD_CURL_CLIENT),yes)
|
||||
echo '"curl";' >>$@
|
||||
else
|
||||
ifeq ($(MUST_BUILD_WININET_CLIENT),yes)
|
||||
echo '"wininet";' >>$@
|
||||
else
|
||||
@echo 'ERROR: no client XML transport configured'; rm $@; false
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
echo "/* Generated by make file rule */" >>$@
|
||||
echo "#define XMLRPC_C_VERSION" \
|
||||
\"Xmlrpc-c $(MAJOR).$(MINOR).$(POINT)"\"" >>$@
|
||||
echo "#define XMLRPC_VERSION_MAJOR $(MAJOR)" >>$@
|
||||
echo "#define XMLRPC_VERSION_MINOR $(MINOR)" >>$@
|
||||
echo "#define XMLRPC_VERSION_POINT $(POINT)" >>$@
|
||||
|
||||
# We don't want common.mk's rule for version.h
|
||||
OMIT_VERSION_H = Y
|
||||
|
||||
# We don't want common.mk's rule for transport_config.h
|
||||
OMIT_TRANSPORT_CONFIG_H = Y
|
||||
|
||||
include transport_config.make
|
||||
|
||||
# shell_config is a fragment to place inside a Bourne shell program that
|
||||
# sets variables that tell how the build is configured.
|
||||
|
||||
shell_config: $(BLDDIR)/config.mk
|
||||
rm -f $@
|
||||
@echo "Lots of echoes to '$@' suppressed here ..."
|
||||
@echo '#' >>$@
|
||||
@echo '#######################################################' >>$@
|
||||
@echo "# From '$@'" >>$@
|
||||
@echo '#######################################################' >>$@
|
||||
@echo 'ENABLE_ABYSS_THREADS="$(ENABLE_ABYSS_THREADS)"' >>$@
|
||||
@echo 'ENABLE_LIBXML2_BACKEND="$(ENABLE_LIBXML2_BACKEND)"' >>$@
|
||||
@echo 'MUST_BUILD_WININET_CLIENT="$(MUST_BUILD_WININET_CLIENT)"'>>$@
|
||||
@echo 'MUST_BUILD_CURL_CLIENT="$(MUST_BUILD_CURL_CLIENT)"' >>$@
|
||||
@echo 'MUST_BUILD_LIBWWW_CLIENT="$(MUST_BUILD_LIBWWW_CLIENT)"' >>$@
|
||||
@echo 'NEED_RPATH="$(NEED_RPATH)"' >>$@
|
||||
@echo 'NEED_WL_RPATH="$(NEED_WL)RPATH)"' >>$@
|
||||
@echo 'LSOCKET="$(LSOCKET)"' >>$@
|
||||
@echo 'WININET_LDADD="$(WININET_LDADD)"' >>$@
|
||||
@echo 'WININET_RPATH="$(WININET_RPATH)"' >>$@
|
||||
@echo 'WININET_WL_RPATH="$(WININET_WL_RPATH)"' >>$@
|
||||
@echo 'CURL_LDADD="$(CURL_LDADD)"' >>$@
|
||||
@echo 'CURL_RPATH="$(CURL_RPATH)"' >>$@
|
||||
@echo 'CURL_WL_RPATH="$(CURL_WL_RPATH)"' >>$@
|
||||
@echo 'LIBWWW_LDADD="$(LIBWWW_LDADD)"' >>$@
|
||||
@echo 'LIBWWW_RPATH="$(LIBWWW_RPATH)"' >>$@
|
||||
@echo 'LIBWWW_WL_RPATH="$(LIBWWW_WL_RPATH)"' >>$@
|
||||
@echo 'XMLRPC_MAJOR_RELEASE="$(XMLRPC_MAJOR_RELEASE)"' >>$@
|
||||
@echo 'XMLRPC_MINOR_RELEASE="$(XMLRPC_MINOR_RELEASE)"' >>$@
|
||||
@echo 'XMLRPC_POINT_RELEASE="$(XMLRPC_POINT_RELEASE)"' >>$@
|
||||
@echo 'FEATURE_LIST="$(FEATURE_LIST)"' >>$@
|
||||
@echo 'PREFIX="$(PREFIX)"' >>$@
|
||||
@echo 'HEADERINST_DIR="$(HEADERINST_DIR)"' >>$@
|
||||
@echo 'LIBINST_DIR="$(LIBINST_DIR)"' >>$@
|
||||
@echo 'BLDDIR="$(BLDDIR)"' >>$@
|
||||
@echo 'ABS_SRCDIR="$(ABS_SRCDIR)"' >>$@
|
||||
@echo '#######################################################' >>$@
|
||||
|
||||
# We don't want config.mk's xmlrpc-c-config.test rule:
|
||||
OMIT_XMLRPC_C_CONFIG_TEST = Y
|
||||
|
||||
xmlrpc-c-config xmlrpc-c-config.test:%: %.main shell_config
|
||||
rm -f $@
|
||||
@echo "Echoes to '$@' suppressed here ..."
|
||||
@echo '#! /bin/sh' >>$@
|
||||
@echo '#' >>$@
|
||||
@echo '# This file was generated by a make rule' >>$@
|
||||
@echo '#' >>$@
|
||||
cat shell_config >>$@
|
||||
cat $< >>$@
|
||||
chmod a+rx $@
|
||||
|
||||
.PHONY: clean clean-local
|
||||
clean: $(SUBDIRS:%=%/clean) clean-common clean-local
|
||||
|
||||
clean-local:
|
||||
rm -f transport_config.h
|
||||
rm -f transport_config.h version.h
|
||||
|
||||
.PHONY: distclean distclean-local
|
||||
distclean: $(SUBDIRS:%=%/distclean) distclean-common distclean-local
|
||||
|
||||
distclean-local: clean-local
|
||||
rm -f config.log config.status Makefile.config libtool
|
||||
rm -f xmlrpc_config.h xmlrpc_amconfig.h stamp-h xmlrpc-c.spec
|
||||
rm -f xmlrpc-c-config xmlrpc-c-config.test
|
||||
rm -f config.log config.status config.mk Makefile.srcdir
|
||||
rm -f xmlrpc_config.h xmlrpc_amconfig.h stamp-h
|
||||
rm -f shell_config xmlrpc-c-config xmlrpc-c-config.test
|
||||
rm -f TAGS
|
||||
|
||||
.PHONY: tags
|
||||
tags: $(SUBDIRS:%=%/tags) TAGS
|
||||
check: $(SUBDIRS:%=%/check)
|
||||
|
||||
DISTFILES =
|
||||
|
||||
|
@ -82,29 +153,31 @@ DISTFILES =
|
|||
distdir: distdir-common
|
||||
|
||||
.PHONY: install
|
||||
install: $(SUBDIRS:%=%/install) install-common install-compat-hdr
|
||||
|
||||
.PHONY: install-compat-hdr
|
||||
install-compat-hdr:
|
||||
# Install old names of header files for backward compatibility
|
||||
cd $(DESTDIR)$(HEADERINST_DIR); \
|
||||
rm -f xmlrpc.h xmlrpc_client.h xmlrpc_server.h xmlrpc_cgi.h \
|
||||
xmlrpc_server_abyss.h xmlrpc_server_w32httpsys.h \
|
||||
XmlRpcCpp.h; \
|
||||
$(LN_S) xmlrpc-c/oldxmlrpc.h xmlrpc.h; \
|
||||
$(LN_S) xmlrpc-c/client.h xmlrpc_client.h; \
|
||||
$(LN_S) xmlrpc-c/server.h xmlrpc_server.h; \
|
||||
$(LN_S) xmlrpc-c/server_cgi.h xmlrpc_cgi.h; \
|
||||
$(LN_S) xmlrpc-c/server_abyss.h xmlrpc_server_abyss.h; \
|
||||
$(LN_S) xmlrpc-c/server_w32httpsys.h xmlrpc_server_w32httpsys.h; \
|
||||
$(LN_S) xmlrpc-c/oldcppwrapper.hpp XmlRpcCpp.h ;\
|
||||
install: $(DEFAULT_SUBDIRS:%=%/install) install-common
|
||||
|
||||
.PHONY: dep
|
||||
dep: $(SUBDIRS:%=%/dep)
|
||||
dep: version.h $(BLDDIR)/include/xmlrpc-c/config.h $(SUBDIRS:%=%/dep)
|
||||
|
||||
xmlrpc-c-config xmlrpc-c-config.test xmlrpc_config.h xmlrpc_amconfig.h \
|
||||
xmlrpc_config.h xmlrpc_amconfig.h \
|
||||
:%:%.in $(SRCDIR)/configure
|
||||
$(SRCDIR)/configure
|
||||
|
||||
include $(SRCDIR)/Makefile.common
|
||||
include $(SRCDIR)/common.mk
|
||||
|
||||
|
||||
# A trick to catch a common user error. When you don't run 'configure',
|
||||
# you don't have a Makefile.srcdir, which means $(SRCDIR) is null.
|
||||
|
||||
/common.mk:
|
||||
@echo =======================================
|
||||
@echo = You must run Configure before Make. =
|
||||
@echo =======================================
|
||||
false
|
||||
|
||||
# 'tags' generates/updates an Emacs tags file, anmed TAGS, in the current
|
||||
# directory. Use with Emacs command 'find-tag'.
|
||||
|
||||
.PHONY: tags
|
||||
tags:
|
||||
find . -name "*.c" -o -name "*.h" -o -name "*.cpp" -o -name "*.hpp" | \
|
||||
etags -
|
||||
|
|
|
@ -7,8 +7,11 @@
|
|||
# GNU Make uses a make file named "GNUmakefile" in preference to "Makefile"
|
||||
# if it exists. This package contains a "GNUmakefile".
|
||||
|
||||
default: all
|
||||
|
||||
all install clean dep depend:
|
||||
@echo "You must use GNU Make to build this. You are running some "
|
||||
@echo "other Make. GNU Make may be installed on your system with "
|
||||
@echo "the name 'gmake'. If not, see http://www.gnu.org/software ."
|
||||
@echo
|
||||
false
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
SRCDIR=@abs_srcdir@
|
|
@ -0,0 +1,11 @@
|
|||
###############################################################################
|
||||
# This is not only a make file inclusion, but a source file for the program
|
||||
# 'mkvers' in the Windows build system. The latter is very particular about
|
||||
# the format of this file. Do not change white space, add comment lines, or
|
||||
# anything!
|
||||
#
|
||||
#
|
||||
###############################################################################
|
||||
XMLRPC_MAJOR_RELEASE = 1
|
||||
XMLRPC_MINOR_RELEASE = 14
|
||||
XMLRPC_POINT_RELEASE = 99
|
|
@ -36,51 +36,17 @@ prerequisite here. But if you separately obtain Libxml2, you can
|
|||
configure the build to use that instead. There's no really pressing
|
||||
reason to do that, though.
|
||||
|
||||
Once you have the prerequisite libraries installed, you can issue
|
||||
these commands:
|
||||
BUILDING, INSTALLING
|
||||
--------------------
|
||||
|
||||
See the file doc/INSTALL.
|
||||
|
||||
In the simplest case, it's just a conventional
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
(There's supposed to be a 'make check' step in there too, to validate
|
||||
that everything built OK, but it's broken right now - 2005.01.07).
|
||||
|
||||
To see it work, run a simple server like this:
|
||||
|
||||
$ examples/xmlrpc_sample_add_server 8080
|
||||
|
||||
Then run a client that does an RPC to this server:
|
||||
|
||||
$ examples/xmlrpc_sample_add_client
|
||||
|
||||
(I don't mean to imply that the above are consecutive shell commands;
|
||||
They can't be, because the server program runs indefinitely).
|
||||
|
||||
Also try other sample servers and clients, described in examples/README.
|
||||
|
||||
|
||||
You may want to pass a '--prefix' argument to 'configure'. See
|
||||
'./configure --help' for details.
|
||||
|
||||
You may also want to disable client XML transports that you won't be
|
||||
using. In particular, the Libwww transport can be inconvenient, because
|
||||
it typically uses about 20 shared libraries. Any XML-RPC client
|
||||
program that uses Xmlrpc-c, whether or not the program uses any of the
|
||||
libwww facilities, must attach all those libraries, and that can take
|
||||
a significant amount of time.
|
||||
|
||||
See './configure --help' for the options that disable certain transports.
|
||||
|
||||
|
||||
|
||||
WINDOWS
|
||||
-------
|
||||
|
||||
All of the above is essentially for Unix-type operating systems. To
|
||||
build and use Xmlrpc-c on Windows, see the file
|
||||
Windows/ReadMeWin32.txt.
|
||||
|
||||
|
||||
ADDITIONAL INFORMATION
|
||||
----------------------
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
@echo This batch file requires a powerful XDELETE program. One
|
||||
@echo that will REMOVE whole directories recursively ...
|
||||
@echo If you do NOT have such a program, then abort now, and
|
||||
@echo adjust the line below ...
|
||||
@set TEMPX=xdelete -dfrm
|
||||
@echo set TEMPX=%TEMPX%
|
||||
@pause
|
||||
@echo #####################################################
|
||||
@echo ARE YOU SURE YOU WANT TO DO THIS? Ctrl+C to abort ...
|
||||
@echo #####################################################
|
||||
@pause
|
||||
@echo CleanAll: Last chance ... ctrl+c to abort ...
|
||||
@pause
|
||||
@echo CleanAll: Cleaning the headers ...
|
||||
call CleanWin32
|
||||
@echo CleanAll: and removing the SOLUTION files ...
|
||||
call delsln
|
||||
@echo CleanAll: Cleaning the gennmtab generated header ...
|
||||
@if EXIST ..\lib\expat\xmltok\nametab.h del ..\lib\expat\xmltok\nametab.h > nul
|
||||
@echo CleanAll: Cleaning all built binaries ...
|
||||
@if EXIST ..\bin\*.exe del ..\bin\*.exe > nul
|
||||
@if EXIST ..\bin\*.exp del ..\bin\*.exp > nul
|
||||
@if EXIST ..\bin\*.ilk del ..\bin\*.ilk > nul
|
||||
@if EXIST ..\bin\*.lib del ..\bin\*.lib > nul
|
||||
@if EXIST ..\lib\*.lib del ..\lib\*.lib > nul
|
||||
@if EXIST ..\lib\*.dll del ..\lib\*.dll > nul
|
||||
@echo CleanAll: Cleaning test data files ...
|
||||
@if EXIST ..\bin\data\*.xml del ..\bin\data\*.xml > nul
|
||||
@if EXIST ..\bin\data\. rd ..\bin\data > nul
|
||||
@if EXIST ..\bin\. rd ..\bin > nul
|
||||
@echo CleanAll: Cleaning old residual built binaries ... but none should exist ...
|
||||
@if EXIST ..\lib\expat\gennmtab\Debug\. %TEMPX% ..\lib\expat\gennmtab\Debug
|
||||
@if EXIST ..\lib\expat\gennmtab\Release\. %TEMPX% ..\lib\expat\gennmtab\Release
|
||||
@if EXIST ..\lib\expat\xmlparse\Debug\. %TEMPX% ..\lib\expat\xmlparse\Debug
|
||||
@if EXIST ..\lib\expat\xmlparse\DebugDLL\. %TEMPX% ..\lib\expat\xmlparse\DebugDLL
|
||||
@if EXIST ..\lib\expat\xmlparse\Release\. %TEMPX% ..\lib\expat\xmlparse\Release
|
||||
@if EXIST ..\lib\expat\xmlparse\ReleaseDLL\. %TEMPX% ..\lib\expat\xmlparse\ReleaseDLL
|
||||
@if EXIST ..\lib\expat\xmlparse\ReleaseMinSizeDLL\. %TEMPX% ..\lib\expat\xmlparse\ReleaseMinSizeDLL
|
||||
@if EXIST ..\lib\expat\xmltok\Debug\. %TEMPX% ..\lib\expat\xmltok\Debug
|
||||
@if EXIST ..\lib\expat\xmltok\DebugDLL\. %TEMPX% ..\lib\expat\xmltok\DebugDLL
|
||||
@if EXIST ..\lib\expat\xmltok\Release\. %TEMPX% ..\lib\expat\xmltok\Release
|
||||
@if EXIST ..\lib\expat\xmltok\ReleaseDLL\. %TEMPX% ..\lib\expat\xmltok\ReleaseDLL
|
||||
@echo CleanAll: Finally, cleaning the main intermediate directories ...
|
||||
@if EXIST Debug\. %TEMPX% Debug
|
||||
@if EXIST Release\. %TEMPX% Release
|
||||
@echo .
|
||||
@echo CleanAll: Phew ... all done ...
|
||||
@echo .
|
|
@ -0,0 +1,43 @@
|
|||
@echo Windows build
|
||||
@echo This batch file deletes the copied header files,
|
||||
@echo Deleting Win32 header files...
|
||||
@echo #####################################################
|
||||
@echo IF YOU HAVE MADE CHANGES IN ..\xmlrpc_config.h, ..\include\xmlrpc-c\config.h etc ...
|
||||
@echo THESE CHANGES WILL BE LOST!
|
||||
@echo You should run diffcfg.bat first to check for changes,
|
||||
@echo and updcfg.bat if you have made changes ...
|
||||
@echo #####################################################
|
||||
@echo ARE YOU SURE YOU WANT TO DO THIS? Ctrl+C to abort ...
|
||||
@echo #####################################################
|
||||
@pause
|
||||
@set TEMP1=
|
||||
@if NOT EXIST ..\include\xmlrpc-c\config.h goto DN1
|
||||
del ..\include\xmlrpc-c\config.h > nul
|
||||
@set TEMP1=%TEMP1% ..\include\xmlrpc-c\config.h
|
||||
:DN1
|
||||
@if NOT EXIST ..\xmlrpc_config.h goto DN2
|
||||
del ..\xmlrpc_config.h > nul
|
||||
@set TEMP1=%TEMP1% ..\xmlrpc_config.h
|
||||
:DN2
|
||||
@if NOT EXIST ..\transport_config.h goto DN3
|
||||
del ..\transport_config.h > nul
|
||||
@set TEMP1=%TEMP1% ..\transport_config.h
|
||||
:DN3
|
||||
@if NOT EXIST ..\version.h goto DN4
|
||||
del ..\version.h > nul
|
||||
@set TEMP1=%TEMP1% ..\version.h
|
||||
:DN4
|
||||
@if NOT EXIST ..\examples\config.h goto DN5
|
||||
del ..\examples\config.h > nul
|
||||
@set TEMP1=%TEMP1% ..\examples\config.h
|
||||
:DN5
|
||||
@if "%TEMP1%." == "." goto ALLDN
|
||||
@echo DELETED win32 header files.
|
||||
@echo %TEMP1%
|
||||
@goto END
|
||||
|
||||
:ALLDN
|
||||
@echo NOne to DELETE ...
|
||||
@goto END
|
||||
|
||||
:END
|
|
@ -1,7 +1,35 @@
|
|||
@echo off
|
||||
echo creating Win32 header files...
|
||||
copy .\xmlrpc_win32_config.h ..\config.h
|
||||
copy .\xmlrpc_win32_config.h ..\xmlrpc_config.h
|
||||
copy .\transport_config_win32.h ..\transport_config.h
|
||||
echo completed creating win32 header files.
|
||||
pause
|
||||
@REM Windows build
|
||||
@REM This must be RUN once to establish some header files,
|
||||
@REM that are generated by the automake process
|
||||
@echo creating Win32 header files...once only
|
||||
@set TEMPV=
|
||||
@if EXIST ..\include\xmlrpc-c\config.h goto DN1
|
||||
copy .\win32_config.h ..\include\xmlrpc-c\config.h > nul
|
||||
@set TEMPV=%TEMPV% ..\include\xmlrpc-c\config.h
|
||||
:DN1
|
||||
@if EXIST ..\xmlrpc_config.h goto DN2
|
||||
copy .\xmlrpc_win32_config.h ..\xmlrpc_config.h > nul
|
||||
@set TEMPV=%TEMPV% ..\xmlrpc_config.h
|
||||
:DN2
|
||||
@if EXIST ..\transport_config.h goto DN3
|
||||
copy .\transport_config_win32.h ..\transport_config.h > nul
|
||||
@set TEMPV=%TEMPV% ..\transport_config.h
|
||||
:DN3
|
||||
@if EXIST ..\version.h goto DN4
|
||||
call mkvers
|
||||
@set TEMPV=%TEMPV% ..\version.h
|
||||
:DN4
|
||||
@if EXIST ..\examples\config.h goto DN5
|
||||
copy .\xmlrpc_win32_config.h ..\examples\config.h > nul
|
||||
@set TEMPV=%TEMPV% ..\examples\config.h
|
||||
:DN5
|
||||
@if "%TEMPV%." == "." goto ALLDN
|
||||
@echo Generated the following win32 header files ...
|
||||
@echo %TEMPV%
|
||||
@goto END
|
||||
|
||||
:ALLDN
|
||||
@echo Using previous copies ... Use CleanWin32.bat to remove, and do again ...
|
||||
@goto END
|
||||
|
||||
:END
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
Current information is in ReadMeWin32.txt.
|
||||
|
||||
What follows is previous contents of that file.
|
||||
|
||||
|
||||
|
||||
Markus Hoffrogge:
|
||||
|
||||
Compilation for WIN32 is possible now again for version 1.6.10 - non
|
||||
CPP parts only. Project files have been tested under VicualStudio
|
||||
6.0. Build project all - this will build all other projects. CPP
|
||||
code is not compiled and adopted right now.
|
||||
|
||||
This release excludes the option to compile an "http.sys" version of
|
||||
an XML-RPC server. If you do wish to build in the http.sys server, set
|
||||
the MUST_BUILD_HTTP_SYS_SERVER to 1 in the transport_config_win32.h
|
||||
and/or the transport_config.h file. Successful conpilation requires
|
||||
installation of the Microsoft Platform SDK for Windows XP SP2 (or
|
||||
later) to get the latest header and link libraries required to support
|
||||
this functionality. After installation, be sure to properly register
|
||||
the directories as documented in the Platform SDK help file topic
|
||||
"Installing the Platform SDK with Visual Studio". Download the
|
||||
Platform SDK from:
|
||||
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
|
||||
|
||||
To create the three headers required for Win32 WinInet compilation,
|
||||
run the ConfigureWin32.bat found in the Windows directory. If you
|
||||
wish to alter the transports that are built to include curl or libwww,
|
||||
adjust the preprocessor definitions at the top of the
|
||||
transport_config_win32.h and/or the transport_config.h files. See the
|
||||
file UsingCURLinWin32.txt for more information on using the curl
|
||||
transport.
|
||||
|
||||
To compile, open the xmlrpc.dsw file in Visual Studio 6 or greater.
|
||||
The project will convert and work fine in Visual Studio 2003 as well -
|
||||
other versions of Visual Studio were not tested.
|
||||
|
||||
NOTE: If you get an error while opening or converting the project
|
||||
files, it is likely due to using WinRar or similar to decompress the
|
||||
distribution tarball. You can use WinZip or another utility to
|
||||
correctly decompress the .tgz file.
|
||||
|
||||
Suggested testing for evaluation of the library involves a few
|
||||
projects. Here is a quick getting started guide:
|
||||
|
||||
1) Set the Active Project to query_meerkat and build it in release or
|
||||
debug modes. The dependent projects will be built automatically.
|
||||
In the project settings dialog, add the argument for what you wish
|
||||
to query meerkat for - "Windows" is a good query. Run the project.
|
||||
This will query the meerkat server for articles related to windows
|
||||
and output the results to the console.
|
||||
|
||||
2) Set the Active Project to xmlrpc_sample_add_server and build it in
|
||||
release or debug modes. The dependent projects will be built
|
||||
automatically. In the project settings dialog, add the argument
|
||||
for the port to 8080. This will run the server sample which adds
|
||||
two numbers and returns a result. You should run this from a
|
||||
command prompt instead of through Visual Studio so you may run the
|
||||
sample client as well.
|
||||
|
||||
3) Set the Active Project to xmlrpc_sample_add_sync_client or
|
||||
xmlrpc_sample_add_async_client and build it in release or debug
|
||||
modes. The dependent projects will be built automatically. This
|
||||
will run the client sample which submits two numbers to be added to
|
||||
the server application as described above and displays the result.
|
||||
Note that the client example comes in the sync and async varieties.
|
||||
|
||||
Steven Bone
|
||||
July 27, 2005
|
||||
sbone@pobox.com
|
||||
|
||||
WIN32 CHANGES
|
||||
|
||||
Changes from the 1.02 release for Win32:
|
||||
|
||||
1) Option to easily disable the http.sys server for those who do not
|
||||
need it or wish to download the Platform SDK.
|
||||
|
||||
Changes from the 1.01 -> 1.02 release for Win32:
|
||||
|
||||
1) Project files for gennmtab, xmlparse, and xmltok updated to include the
|
||||
path to the xmlrpc_config.h file.
|
||||
|
||||
2) Bugfix for WinInet authentication.
|
||||
|
||||
3) Supports xmlrpc_xportparms, xmlrpc_wininet_xportparms added
|
||||
*potential breaking change* - now by default we fail on invalid
|
||||
SSL certs, use the xmlrpc_wininet_xportparms option to enable old
|
||||
behavior.
|
||||
|
||||
4) Added project file for xmlrpc_sample_auth_client
|
||||
|
||||
5) Added project and src for a http.sys based xmlrpc-c server. See comments
|
||||
in the source files. This supports Windows XP SP2 and Windows Server
|
||||
2003 and allows other http.sys based applications to bind to the same
|
||||
port. In Server 2003, IIS uses http.sys and thus the XML-RPC server
|
||||
can be run on the standard port 80 along with IIS. The sample also
|
||||
supports https and basic authentication. It tested OK with
|
||||
http://validator.xmlrpc.com/ Note that the Platform SDK headers and
|
||||
link libraries for Windows XP SP2 or newer are required to compile
|
||||
xmlrpc-c for this module. If you are not using this server, it is
|
||||
safe to exclude the xmlrpc_server_w32httpsys.c file from the xmlrpc
|
||||
project and these dependencies will not be required. You can get the
|
||||
latest platform SDK at
|
||||
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
|
||||
Be sure after installation to choose the program to "register the PSDK
|
||||
directories with Visual Studio" so the newer headers are found.
|
||||
|
||||
6) Better support for libcurl. Updated project files,
|
||||
transport_config_win32.h, added documentation UsingCURLinWin32.txt.
|
||||
|
||||
Changes from the 1.00 -> 1.01 release for Win32:
|
||||
|
||||
1) Project files now reflect static linking for the expat XML library.
|
||||
|
||||
2) Example projects were created/updated to keep them in sync with the
|
||||
distribution. The project files were moved into the Windows
|
||||
directory
|
||||
|
||||
3) Projects for the rpc and cpp tests were created. The
|
||||
xmlrpc_win32_config.h defines the directory for the test files relative
|
||||
to the output directory
|
||||
|
||||
4) Major refactoring of the Wininet Transport.
|
||||
|
|
@ -1,116 +1,64 @@
|
|||
Build Instructions For XML-RPC For C/C++ On Windows
|
||||
---------------------------------------------------
|
||||
|
||||
The following instructions do not fully work in this release. There
|
||||
is no trivial way to build this release for Windows. The last release
|
||||
that was known to build without special effort on the part of the user
|
||||
is 1.02.
|
||||
|
||||
Since then, nobody has maintained the code for Windows, and changes that
|
||||
were made for other platforms broke some things for Windows. Most likely,
|
||||
anyone with a passing knowledge of building C code on Windows could
|
||||
update this code to work on Windows without any in-depth study of it. If
|
||||
you do so, please contribute your work to save other users the trouble.
|
||||
|
||||
The majority of the work that needs to be done to make the code build on
|
||||
Windows is simply adjusting project files to reflect the fact that files
|
||||
have been created, deleted, and moved since they were written.
|
||||
|
||||
|
||||
This release includes the option to compile the "http.sys" version of the
|
||||
XMLRPC-C server. If you do not wish to build in the http.sys server,
|
||||
set the MUST_BUILD_HTTP_SYS_SERVER to 0 in the transport_config_win32.h and/or
|
||||
the transport_config.h file. Successful conpilation requires installation
|
||||
of the Microsoft Platform SDK for Windows XP SP2 (or later) to get the latest
|
||||
header and link libraries required to support this functionality. After
|
||||
installation, be sure to properly register the directories as documented
|
||||
in the Platform SDK help file topic "Installing the Platform SDK with
|
||||
Visual Studio". Download the Platform SDK from:
|
||||
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
|
||||
|
||||
To create the three headers required for Win32 WinInet compilation, run the
|
||||
ConfigureWin32.bat found in the Windows directory. If you wish to alter the
|
||||
transports that are built to include curl or libwww, adjust the preprocessor
|
||||
definitions at the top of the transport_config_win32.h and/or
|
||||
the transport_config.h files. See the file UsingCURLinWin32.txt for
|
||||
more information on using the curl transport.
|
||||
|
||||
To compile, open the xmlrpc.dsw file in Visual Studio 6 or greater. The
|
||||
project will convert and work fine in Visual Studio 2003 as well -
|
||||
other versions of Visual Studio were not tested.
|
||||
NOTE: If you get an error while opening or converting the project files,
|
||||
it is likely due to using WinRar or similar to decompress the distribution
|
||||
tarball. You can use WinZip or another utility to correctly decompress the
|
||||
.tgz file.
|
||||
|
||||
Suggested testing for evaluation of the library involves a few projects.
|
||||
Here is a quick getting started guide:
|
||||
|
||||
1) Set the Active Project to query_meerkat and build it in release or debug
|
||||
modes. The dependent projects will be built automatically. In the
|
||||
project settings dialog, add the argument for what you wish to query
|
||||
meerkat for - "Windows" is a good query. Run the project. This will
|
||||
query the meerkat server for articles related to windows and output the
|
||||
results to the console.
|
||||
|
||||
2) Set the Active Project to xmlrpc_sample_add_server and build it in
|
||||
release or debug modes. The dependent projects will be built
|
||||
automatically. In the project settings dialog, add the argument for
|
||||
the port to 8080. This will run the server sample which adds two
|
||||
numbers and returns a result. You should run this from a command
|
||||
prompt instead of through Visual Studio so you may run the sample
|
||||
client as well.
|
||||
|
||||
3) Set the Active Project to xmlrpc_sample_add_sync_client or
|
||||
xmlrpc_sample_add_async_client and build it in release or debug modes.
|
||||
The dependent projects will be built automatically. This will run
|
||||
the client sample which submits two numbers to be added to the server
|
||||
application as described above and displays the result. Note that the
|
||||
client example comes in the sync and async varieties.
|
||||
|
||||
Steven Bone
|
||||
July 27, 2005
|
||||
sbone@pobox.com
|
||||
|
||||
WIN32 CHANGES
|
||||
|
||||
Changes from the 1.02 release for Win32:
|
||||
1) Option to easily disable the http.sys server for those who do not need
|
||||
it or wish to download the Platform SDK.
|
||||
|
||||
Changes from the 1.01 -> 1.02 release for Win32:
|
||||
1) Project files for gennmtab, xmlparse, and xmltok updated to include the
|
||||
path to the xmlrpc_config.h file.
|
||||
2) Bugfix for WinInet authentication.
|
||||
3) Supports xmlrpc_xportparms, xmlrpc_wininet_xportparms added
|
||||
*potential breaking change* - now by default we fail on invalid
|
||||
SSL certs, use the xmlrpc_wininet_xportparms option to enable old
|
||||
behavior.
|
||||
4) Added project file for xmlrpc_sample_auth_client
|
||||
5) Added project and src for a http.sys based xmlrpc-c server. See comments
|
||||
in the source files. This supports Windows XP SP2 and Windows Server
|
||||
2003 and allows other http.sys based applications to bind to the same
|
||||
port. In Server 2003, IIS uses http.sys and thus the XML-RPC server
|
||||
can be run on the standard port 80 along with IIS. The sample also
|
||||
supports https and basic authentication. It tested OK with
|
||||
http://validator.xmlrpc.com/ Note that the Platform SDK headers and
|
||||
link libraries for Windows XP SP2 or newer are required to compile
|
||||
xmlrpc-c for this module. If you are not using this server, it is
|
||||
safe to exclude the xmlrpc_server_w32httpsys.c file from the xmlrpc
|
||||
project and these dependencies will not be required. You can get the
|
||||
latest platform SDK at
|
||||
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
|
||||
Be sure after installation to choose the program to "register the PSDK
|
||||
directories with Visual Studio" so the newer headers are found.
|
||||
6) Better support for libcurl. Updated project files, transport_config_win32.h,
|
||||
added documentation UsingCURLinWin32.txt.
|
||||
|
||||
Changes from the 1.00 -> 1.01 release for Win32:
|
||||
1) Project files now reflect static linking for the expat XML library.
|
||||
2) Example projects were created/updated to keep them in sync with the
|
||||
distribution. The project files were moved into the .\Windows
|
||||
directory
|
||||
3) Projects for the rpc and cpp tests were created. The
|
||||
xmlrpc_win32_config.h defines the directory for the test files relative
|
||||
to the output directory
|
||||
4) Major refactoring of the Wininet Transport.
|
||||
Build Instructions For XML-RPC For C/C++ On Windows
|
||||
---------------------------------------------------
|
||||
|
||||
Latest Windows work was done by
|
||||
|
||||
Geoff McLane
|
||||
19 October, 2007
|
||||
home: http://geoffair.net
|
||||
|
||||
|
||||
1. Run the batch file ConfigureWin32.bat, found in the Windows
|
||||
directory. This will copy four(4) headers to the appropriate folders.
|
||||
|
||||
2. Load xmlrpc.dsw in MSVC[7,8] or later, and build the Release or Debug
|
||||
configurations. DLL configurations are not included, and may not compile.
|
||||
|
||||
This build requires that you have a Microsoft SDK, or Plaform SDK
|
||||
installed, since among other things, it uses <http.h>, and
|
||||
HTTPAPI.LIB, from the SDK.
|
||||
|
||||
Once built, the rpctest.exe, in the bin folder, should run with no errors,
|
||||
and the xmlrpc_sample_add_server.exe, using port 8080, and
|
||||
xmlrpc_sample_add_sync_client.exe should communicate ... proving 7+5 = 12 ;=))
|
||||
|
||||
Have fun.
|
||||
|
||||
PS: Several other batch files are included in the Windows folder ...
|
||||
|
||||
delsln.bat - to delete all the MSVC7 and 8 solution file.
|
||||
|
||||
diffcfg.bat - compare the headers in windows with the version used in
|
||||
the compile. Requires diff.exe to be in the path.
|
||||
|
||||
updcfg.bat - copy the 3 manually maintained configuration files back
|
||||
to the Windows folder (for distribution).
|
||||
|
||||
cleawin32.bat - deletes the headers used in the compile. That is does the
|
||||
opposite of ConfigureWin32.bat.
|
||||
|
||||
cleanall.bat - to remove ALL the binary files created. Requires an xdelete
|
||||
program which will recursively delete an entire folder.
|
||||
|
||||
|
||||
There is some historical information in ReadMeOld.txt, which used to be
|
||||
the contents of this file. Some of it is still valid.
|
||||
|
||||
|
||||
Developing XML-RPC For C/C++ for Windows
|
||||
----------------------------------------
|
||||
|
||||
If you fix or enhance something in the Windows build system, please send
|
||||
your updates to the Xmlrpc-c maintainer to be included in future releases
|
||||
so others don't have to repeat your work.
|
||||
|
||||
Output of a Subversion 'diff' is usually the best way to send updates,
|
||||
but you can also send complete files or just a description of the
|
||||
change if that is easier.
|
||||
|
||||
For the project files, we distribute only MSVC6-compatible DSP and DSW
|
||||
files (which are, of course, usable as input to later versions of MSVC
|
||||
as well). That means if you need to modify something in the project
|
||||
files and you are not using MSVC6, you must edit the project files
|
||||
manually as text files. Modifying them via the IDE would simply
|
||||
generate new files in a format that cannot be used with older MSVC.
|
||||
|
|
|
@ -1,64 +1,128 @@
|
|||
Background:
|
||||
Let’s say you need to support a xmlrpc-c client running as a service. In this
|
||||
situation you cannot use WinInet. Details of the restriction can be found on
|
||||
the libcurl website or various Microsoft KB articles. The alternative is to use
|
||||
libcurl. This document describes the steps required to use libcurl as your
|
||||
transport mechanism as supported by the latest files and projects provided in
|
||||
the xmlrpc-c distribution. The assumption is that you can successfully compile
|
||||
the distribution of xmlrpc-c.
|
||||
|
||||
Overview:
|
||||
The default projects in xmlrpc-c create standalone executables that do not
|
||||
require other DLL’s (release mode). While the case can be made for this
|
||||
behavior pro and con, it is beyond this document to justify it. Therefore, we
|
||||
need to create static link libraries for libcurl that mimics this behavior.
|
||||
Once the link libraries are created, we can then add them (plus the requisite
|
||||
curl headers) into the xmlrpc-c project. Finally, we enable the compilation of
|
||||
the curl transport file and tell xmlrpc-c that we will be using curl. Lastly,
|
||||
we build and test the project.
|
||||
|
||||
Steps to use CURL with Win32 xmlrpc-c:
|
||||
1. Download the CURL source. In the “include” folder of the CURL distribution,
|
||||
copy the curl directory to the “lib” directory of xmlbpc-c. When you are done
|
||||
with this step, you should have a curl.h file located in the directory
|
||||
xmlrpc-c\lib\curl\. The xmlrpc project looks in this relative path for the
|
||||
necessary headers.
|
||||
|
||||
2. In the CURL distribution, lib directory, is a file called Makefile.vc6. Edit
|
||||
this file. The line starting with CCNODBG should be changed to:
|
||||
CCNODBG = cl.exe /MT /O2 /DNDEBUG
|
||||
The /MT option links with the Multithreaded non-dll version of the c runtime.
|
||||
If this change is not made, the project will not link, as this is the default
|
||||
setting for the xmlrpc-c projects. In debug mode, we use the dll version of the
|
||||
c runtime as it makes memory leak checking tools work better.
|
||||
|
||||
3. Open a command prompt window and run the vcvars32.bat file in your Visual C++
|
||||
distribution. If you are using Studio 2002 or 2003, use the “Visual Studio
|
||||
Command Prompt” from the Start menu to open the console.
|
||||
|
||||
4. Compile release and debug mode libraries. For the purposes of this tutorial,
|
||||
we are going to build only the curl library without ssl or zlib support. In the
|
||||
command prompt, navigate to the curl\lib directory and execute the following
|
||||
commands:
|
||||
nmake -f Makefile.vc6 CFG=debug
|
||||
nmake -f Makefile.vc6 CFG=release
|
||||
|
||||
5. The above step should have generated two static link libraries in the
|
||||
curl\lib directory: libcurl.lib and libcurld.lib. Copy these files into the
|
||||
root of the xmlrpc-c\lib\ directory. This step ends our involvement with the
|
||||
actual CURL distribution. The remainder of the steps are for XMLRPC-C.
|
||||
|
||||
6. Open the xmlrpc-c Visual Studio workspace (Instructions for VC++ 6, other
|
||||
versions are slightly different). In File View, expand the xmlrpc project.
|
||||
Under “Source Files” there is an entry for xmlrpc_curl_transport.c This is not
|
||||
included in any build paths by default. To enable it for compilation, right
|
||||
click the file to change the settings. In the dropdown, select “All
|
||||
Configurations.” Pick the General tab and uncheck the “Exclude File From Build”
|
||||
setting. Press OK to save your changes to the project.
|
||||
|
||||
7. In the “Header Files” section of the xmlrpc project is a file called
|
||||
“transport_config.h”. Edit this file to set the MUST_BUILD_CURL_CLIENT to 1,
|
||||
and if you wish to change the default transport to curl, change the
|
||||
XMLRPC_DEFAULT_TRANSPORT to “curl”.
|
||||
|
||||
8. Compile and test one or more of the sample client projects.
|
||||
Background:
|
||||
|
||||
Let’s say you need to have a Xmlrpc-c client running as a service.
|
||||
In this situation you cannot use WinInet. Details of the restriction
|
||||
can be found on the libcurl website or various Microsoft KB articles.
|
||||
The alternative is to use libcurl. This document describes the steps
|
||||
required to use libcurl as your client XML transport mechanism.
|
||||
|
||||
Overview:
|
||||
|
||||
The default projects in Xmlrpc-c create standalone executables that do
|
||||
not require other DLL’s (release mode). While the case can be made
|
||||
for this behavior pro and con, it is beyond this document to justify
|
||||
it. Therefore, we need to create static link libraries for libcurl
|
||||
that mimics this behavior. Once the link libraries are created, we
|
||||
can then add them (plus the requisite curl headers) into the Xmlrpc-c
|
||||
project. Finally, we enable the compilation of the curl transport
|
||||
file and tell Xmlrpc-c that we will be using curl. Lastly, we build
|
||||
and test the project.
|
||||
|
||||
Steps to use CURL with Win32 Xmlrpc-c:
|
||||
|
||||
1. Download the CURL source. In the “include” folder of the
|
||||
CURL distribution, copy the curl directory to the “lib”
|
||||
directory of xmlrpc-c. When you are done with this step, you should
|
||||
have a curl.h file located in the directory xmlrpc-c\lib\curl\. The
|
||||
xmlrpc project looks in this relative path for the necessary headers.
|
||||
|
||||
2. In the CURL distribution, lib directory, is a file called
|
||||
Makefile.vc6. Edit this file. The line starting with CCNODBG should
|
||||
be changed to:
|
||||
|
||||
CCNODBG = cl.exe /MT /O2 /DNDEBUG
|
||||
|
||||
The /MT option links with the Multithreaded non-dll version of the c
|
||||
runtime. If this change is not made, the project will not link, as
|
||||
this is the default setting for the Xmlrpc-c projects.
|
||||
|
||||
3. Open a command prompt window and run the vcvars32.bat file in your
|
||||
Visual C++ distribution. If you are using Studio 2002 or 2003, use
|
||||
the “Visual Studio Command Prompt” from the Start menu to open
|
||||
the console.
|
||||
|
||||
4. Compile release and debug mode libraries. For the purposes of this
|
||||
tutorial, we are going to build only the curl library without ssl or
|
||||
zlib compression capability. In the command prompt, navigate to the
|
||||
curl\lib directory and execute the following commands:
|
||||
|
||||
nmake -f Makefile.vc6 CFG=debug RTLIBCFG=static
|
||||
nmake -f Makefile.vc6 CFG=release RTLIBCFG=static
|
||||
|
||||
5. The above step should have generated two static link libraries in
|
||||
the curl\lib directory: libcurl.lib and libcurld.lib. Copy these
|
||||
files into the root of the xmlrpc-c\lib\ directory. This step ends
|
||||
our involvement with the actual CURL distribution. The remainder of
|
||||
the steps are for Xmlrpc-c.
|
||||
|
||||
6. Open the Xmlrpc-c Visual Studio workspace (Instructions for VC++ 6,
|
||||
other versions are slightly different). In File View, expand the
|
||||
xmlrpc project. Under "Source Files" there is an entry for
|
||||
xmlrpc_curl_transport.c This is not included in any build paths by
|
||||
default. To enable it for compilation, right click the file to change
|
||||
the settings. In the dropdown, select "All Configurations." Pick the
|
||||
General tab and uncheck the "Exclude File From Build" setting. Press
|
||||
OK to save your changes to the project.
|
||||
|
||||
7. In the "Header Files" section of the xmlrpc project is a file
|
||||
called "transport_config.h". Edit this file to set the
|
||||
MUST_BUILD_CURL_CLIENT to 1, and if you wish to change the default
|
||||
transport to curl, change the XMLRPC_DEFAULT_TRANSPORT to "curl".
|
||||
|
||||
8. Compile and test one or more of the sample client projects.
|
||||
|
||||
USING MSVC8 - 2007/11/25
|
||||
========================
|
||||
|
||||
This is for MSVC8, but most will apply to all version of Microsoft
|
||||
Visual Studio.
|
||||
|
||||
Download the CURL source. Run the buildconf.bat to generate some
|
||||
additional files. This builds a 'dummy' hugehelp.c, but it can also
|
||||
be built using the src\mkhelp.pl Perl script. You may have to build
|
||||
you own VCPROJ file for CURL, if you want to use MSVC. It does
|
||||
provide a Makefile.vc6 as mentioned above.
|
||||
|
||||
To build all the CURL library variations, use
|
||||
> nmake /nologo vc-all
|
||||
but note this will use the /MD[d] DLL runtime. Only by adding
|
||||
RTCFGLIB=static to each of the makefile commands will /MT[d] be
|
||||
used.
|
||||
|
||||
Essentially, for building the static Debug or Release CURL libraries,
|
||||
it is all the sources in the curl\lib folder. Make sure you choose /MT
|
||||
and /MTd for the runtime, and build both using say the name libcurl.lib.
|
||||
|
||||
When you have Debug\libcurl.lib and Release\libcurl.lib built, you
|
||||
are ready to build and link them with Xmlrpc-c.
|
||||
|
||||
After running xmlrpc-c\Windows\configurewin32.bat, loading xmlrpc.dsw
|
||||
will convert all the projects to VCPROJ files. In the File View, in
|
||||
the xmlrpc project, in the properties of xmlrpc_curl_transport.c,
|
||||
change 'Exclude file from build' from 'yes' to 'no', for Debug
|
||||
and Release.
|
||||
|
||||
In the 'Header Files' section, open the "transport_config.h" file,
|
||||
and change MUST_BUILD_CURL_CLIENT to 1, and the XMLRPC_DEFAULT_TRANSPORT
|
||||
to "curl", if desired.
|
||||
|
||||
As usual, for each of the 'client' projects, and rpctest, in the properties,
|
||||
Linker section, you can add the library libcurl.lib on the Input tab, and
|
||||
the relative path to the library in the General tab to something like -
|
||||
..\..\curl\Debug and ..\..\curl\Release, or where ever you built or
|
||||
copied these static libraries too.
|
||||
|
||||
Or you can adjust the Windows/curlink.h, to directly point to your
|
||||
respective Debug and Release static CURL libraries, either where you
|
||||
built them, or where you copied them too.
|
||||
|
||||
Now, Xmlrpc-c should build using the CURL transport.
|
||||
|
||||
Note, for the final linking, all RUNTIME libraries MUST be the SAME.
|
||||
A mixture of /MD and /MT will give big linkage problems. Any one project
|
||||
built with the alterate RUNTIME will show many items defined more than
|
||||
once. And of course, you can also NOT mix Debug with Release. That is
|
||||
/MDd with /MD, nor /MTd with /MT, or else there will be unresolved
|
||||
debug items.
|
||||
|
||||
EOF
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
Using xmlrpc_cpp_proxy.dsp
|
||||
|
||||
While not included in the main xmlrpc.dsw file, this
|
||||
xmlrpc_cpp_proxy.dsp, if added as a project to the xmlrpc solution,
|
||||
will build bin\xmlrpc_cpp_proxy.exe and xmlrpc_cpp_proxyD.exe, for
|
||||
testing using the default WinINET transport.
|
||||
|
||||
After you have loaded the xmlrpc_cpp_proxy.dsp, which adds an
|
||||
xmlrpc_cpp_proxy project, it is necessary to ADD a dependance on
|
||||
the xmlrpc library, to complete the link.
|
||||
|
||||
To do this in say MSVC8, select the xmlrpc_cpp_proxy project, and right
|
||||
mouse click, and in the context menu, select 'Project Dependancies...'.
|
||||
And in the Project Dependancies dialog, check the xmlrpc proejct,
|
||||
then [Ok] ...
|
||||
|
||||
To test your xmlrpc_cpp_proxy[D].exe -
|
||||
|
||||
|
||||
1. In a console start the server, like -
|
||||
|
||||
bin/xmlrpc_sample_add_serverD 8080
|
||||
|
||||
Note, since this server opens a socket, you may have to enable it on some
|
||||
anti-virus software that detects the socket being established, and
|
||||
'Unblock' it in the Windows Security Alert system dialog that appears.
|
||||
|
||||
You can later remove this program from the Firewall exceptions, through
|
||||
Control Panel -> Windows Firewall, selecting the 'Exceptions' tab, where
|
||||
you can also disable this 'blocking' notification, but not recommended.
|
||||
|
||||
The server should start, and report -
|
||||
Running XML-RPC server...
|
||||
|
||||
|
||||
2. In another console run the cpp proxy client, with say -
|
||||
|
||||
bin>xmlrpc_cpp_proxyD http://localhost:8080/RPC2 null null
|
||||
|
||||
The client should connect to the server, and output a 'null' header,
|
||||
and implementation file. If this functions, for a bigger example, try -
|
||||
|
||||
bin>xmlrpc_cpp_proxyD http://localhost:8080/RPC2 system systemProxy
|
||||
|
||||
and you should see a better example of a class header, and the
|
||||
implementation code ...
|
||||
|
||||
20 December, 2007
|
||||
|
||||
EOF
|
|
@ -0,0 +1,252 @@
|
|||
# Microsoft Developer Studio Project File - Name="abyss" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=abyss - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "abyss.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "abyss.mak" CFG="abyss - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "abyss - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "abyss - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "abyss - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release\Abyss"
|
||||
# PROP Intermediate_Dir "Release\Abyss"
|
||||
# PROP Target_Dir ""
|
||||
MTL=midl.exe
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\\" /I "..\include" /I "..\lib\util\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "ABYSS_WIN32" /D "_THREAD" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\lib\abyss.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "abyss - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug\abyss"
|
||||
# PROP Intermediate_Dir "Debug\abyss"
|
||||
# PROP Target_Dir ""
|
||||
MTL=midl.exe
|
||||
LINK32=link.exe -lib
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\\" /I "..\include" /I "..\lib\util\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "ABYSS_WIN32" /D "_THREAD" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\lib\abyssD.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "abyss - Win32 Release"
|
||||
# Name "abyss - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\channel.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\chanswitch.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\conf.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\conn.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\data.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\date.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\file.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\handler.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\http.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\init.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\response.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\server.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\session.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\socket.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\socket_openssl.c
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\socket_unix.c
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\socket_win.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\thread_fork.c
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\thread_pthread.c
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\thread_windows.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\token.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\trace.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\abyss_info.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\channel.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\chanswitch.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\conn.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\data.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\date.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\file.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\handler.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\http.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\server.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\session.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\socket.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\socket_win.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\thread.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\token.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\lib\abyss\src\trace.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,97 @@
|
|||
# Microsoft Developer Studio Project File - Name="configwin32" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) External Target" 0x0106
|
||||
|
||||
CFG=configwin32 - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "configwin32.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "configwin32.mak" CFG="configwin32 - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "configwin32 - Win32 Release" (based on "Win32 (x86) External Target")
|
||||
!MESSAGE "configwin32 - Win32 Debug" (based on "Win32 (x86) External Target")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
|
||||
!IF "$(CFG)" == "configwin32 - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Cmd_Line "ConfigureWin32.bat"
|
||||
# PROP BASE Rebuild_Opt ""
|
||||
# PROP BASE Target_File "../config.h"
|
||||
# PROP BASE Bsc_Name ""
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Cmd_Line "ConfigureWin32.bat"
|
||||
# PROP Rebuild_Opt ""
|
||||
# PROP Target_File "../config.h"
|
||||
# PROP Bsc_Name ""
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ELSEIF "$(CFG)" == "configwin32 - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Cmd_Line "ConfigureWin32.bat"
|
||||
# PROP BASE Rebuild_Opt ""
|
||||
# PROP BASE Target_File "../config.h"
|
||||
# PROP BASE Bsc_Name ""
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir ""
|
||||
# PROP Cmd_Line "ConfigureWin32.bat"
|
||||
# PROP Rebuild_Opt ""
|
||||
# PROP Target_File "../config.h"
|
||||
# PROP Bsc_Name ""
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "configwin32 - Win32 Release"
|
||||
# Name "configwin32 - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "configwin32 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "configwin32 - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -1,102 +1,121 @@
|
|||
# Microsoft Developer Studio Project File - Name="cpptest" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=cpptest - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cpptest.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cpptest.mak" CFG="cpptest - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "cpptest - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "cpptest - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName "cpptest"
|
||||
# PROP Scc_LocalPath ".."
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "cpptest - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release\cpptest"
|
||||
# PROP Intermediate_Dir "Release\cpptest"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\\" /I "..\src" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib\xmlrpc.lib /nologo /subsystem:console /machine:I386 /out:"..\bin\cpptest.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "cpptest - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug\cpptest"
|
||||
# PROP Intermediate_Dir "Debug\cpptest"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\\" /I "..\src" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib\xmlrpcD.lib /nologo /subsystem:console /debug /machine:I386 /out:"..\bin\cpptest.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "cpptest - Win32 Release"
|
||||
# Name "cpptest - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cpptest.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
# Microsoft Developer Studio Project File - Name="cpptest" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=cpptest - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cpptest.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cpptest.mak" CFG="cpptest - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "cpptest - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "cpptest - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "cpptest - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release\cpptest"
|
||||
# PROP Intermediate_Dir "Release\cpptest"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I ".." /I "../include" /I "../lib/util/include" /I "../.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "ABYSS_WIN32" /D "CURL_STATICLIB" /D "_CRT_SECURE_NO_WARNINGS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 ..\lib\xmlrpccpp.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Ws2_32.lib Wininet.lib /nologo /subsystem:console /machine:I386 /out:"..\bin\cpptest.exe"
|
||||
|
||||
!ELSEIF "$(CFG)" == "cpptest - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug\cpptest"
|
||||
# PROP Intermediate_Dir "Debug\cpptest"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../.." /I ".." /I "../include" /I "../lib/util/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "ABYSS_WIN32" /D "CURL_STATICLIB" /D "_CRT_SECURE_NO_WARNINGS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 ..\lib\xmlrpccppD.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Ws2_32.lib Wininet.lib /nologo /subsystem:console /debug /machine:I386 /out:"..\bin\cpptestD.exe" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "cpptest - Win32 Release"
|
||||
# Name "cpptest - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cpp\test\registry.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cpp\test\server_abyss.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cpp\test\server_pstream.cpp
|
||||
# PROP Exclude_From_Build 1
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cpp\test\test.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cpp\test\testclient_dummy.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\src\cpp\test\tools.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
/* We use pragma statements to tell the linker what we need to link
|
||||
with. Since Curl requires Winsock, Winmm, and libcurl, and no other
|
||||
project does, we include this file into the Curl transport source code
|
||||
to tell the linker to add these libs.
|
||||
|
||||
Alternatively, the USER can add the libraries to LINK with as
|
||||
NEEDED!
|
||||
*/
|
||||
|
||||
#ifdef _DEBUG
|
||||
#pragma comment( lib, "C:\\FG\\FGCOMXML\\curl\\build\\Debug\\Lib_curl.lib" )
|
||||
#else
|
||||
#pragma comment( lib, "C:\\FG\\FGCOMXML\\curl\\build\\Release\\Lib_curl.lib" )
|
||||
#endif
|
||||
|
||||
#pragma comment( lib, "Winmm.lib" )
|
||||
#pragma comment( lib, "Ws2_32.lib" )
|
||||
#pragma comment( lib, "Wldap32.lib" )
|
|
@ -0,0 +1,56 @@
|
|||
@echo Delete the MSVC7 or MSVC8 soultion files ...
|
||||
@echo *****************************************************
|
||||
@echo ARE YOU SURE YOU WANT TO DO THIS? Ctrl+C to ABORT ...
|
||||
@echo *****************************************************
|
||||
@pause
|
||||
@echo Deleting SOLUTION files ...
|
||||
@if EXIST *.sln del *.sln > nul
|
||||
@if EXIST *.vcproj del *.vcproj > nul
|
||||
@if EXIST *.old echo Deleting *.old ...
|
||||
@if EXIST *.old Del *.old > nul
|
||||
@if EXIST *.bak echo Deleting *.bak ...
|
||||
@if EXIST *.bak Del *.bak > nul
|
||||
@if NOT EXIST temp*.* goto dntmp
|
||||
@echo Delete temp*.* ...
|
||||
@del temp*.* > nul
|
||||
:dntmp
|
||||
@if NOT EXIST *.obj goto dnobj
|
||||
@echo Delete *.obj ...
|
||||
@del *.obj > nul
|
||||
:dnobj
|
||||
@if NOT EXIST *.err goto dnerr
|
||||
@echo Delete *.err ...
|
||||
@del *.err > nul
|
||||
:dnerr
|
||||
@if NOT EXIST *.pdb goto dnpdb
|
||||
@echo Delete *.pdb ...
|
||||
@del *.pdb > nul
|
||||
:dnpdb
|
||||
@if NOT EXIST *.lst goto dnlst
|
||||
@echo Delete *.lst ...
|
||||
@del *.lst > nul
|
||||
:dnlst
|
||||
@if EXIST *.pch echo Deleting *.pch ...
|
||||
@if EXIST *.pch Del *.pch > nul
|
||||
@if EXIST *.ilk echo Deleting *.ilk ...
|
||||
@if EXIST *.ilk Del *.ilk > nul
|
||||
@if EXIST *.NCB echo Deleting *.NCB ...
|