diff --git a/CHANGELOG b/CHANGELOG index 2d8af1503..bf140b5c8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,8 +1,9 @@ This is the changelog file for the POCO C++ Libraries. -Release 1.5.2 (2013-07-22) +Release 1.5.2 (2013-07-23) ========================== +- added MongoDB library - fixed GH #57: poco-1.5.1: Doesn't compile for Android - added VoidEvent (Arturo Castro) - fixed GH #80: NumberFormatter::append broken diff --git a/Makefile b/Makefile index 1421f8780..b31d9518e 100644 --- a/Makefile +++ b/Makefile @@ -20,226 +20,265 @@ ifndef POCO_BUILD export POCO_BUILD=$(POCO_BASE) endif -# if we've built both static and shared, install shared -ifeq ($(LINKMODE),BOTH) -SHAREDONLY='(' -name static -prune ')' -o -endif - -# TESTS and SAMPLES are set by confgure script in config.make -poco: libexecs $(if $(TESTS),tests) $(if $(SAMPLES),samples) +.PHONY: poco all libexecs cppunit tests samples cleans clean distclean install +# TESTS and SAMPLES are set in config.make +poco: libexecs $(if $(TESTS),tests) $(if $(SAMPLES),samples) all: libexecs tests samples INSTALLDIR = $(DESTDIR)$(POCO_PREFIX) -COMPONENTS = Foundation XML Util Net Crypto NetSSL_OpenSSL Data Data/SQLite Data/ODBC Data/MySQL Zip PageCompiler PageCompiler/File2Page PDF CppParser JSON MongoDB +COMPONENTS = Foundation XML JSON Util Net Crypto NetSSL_OpenSSL Data Data/SQLite Data/ODBC Data/MySQL MongoDB Zip PageCompiler PageCompiler/File2Page CppParser PDF cppunit: $(MAKE) -C $(POCO_BASE)/CppUnit +CppUnit-clean: + \$(MAKE) -C \$(POCO_BASE)/CppUnit clean + install: libexecs mkdir -p $(INSTALLDIR)/include/Poco - mkdir -p $(INSTALLDIR)/lib$(LIB64SUFFIX) + mkdir -p $(INSTALLDIR)/lib mkdir -p $(INSTALLDIR)/bin for comp in $(COMPONENTS) ; do \ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \ cp -Rf $(POCO_BASE)/$$comp/include/* $(INSTALLDIR)/include/ ; \ fi ; \ if [ -d "$(POCO_BUILD)/$$comp/bin" ] ; then \ - find $(POCO_BUILD)/$$comp/bin $(SHAREDONLY) '(' -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ')' ; \ + find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \ fi ; \ done - find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib$(LIB64SUFFIX) \; - find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib$(LIB64SUFFIX) \; + find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \; + find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \; -libexecs = Foundation-libexec XML-libexec JSON-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec PDF-libexec CppParser-libexec MongoDB-libexec -tests = Foundation-tests XML-tests JSON-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests PDF-tests CppParser-tests MongoDB-tests -samples = Foundation-samples XML-samples JSON-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples PageCompiler-samples PDF-samples +libexecs = Foundation-libexec XML-libexec JSON-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec MongoDB-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec CppParser-libexec PDF-libexec +tests = Foundation-tests XML-tests JSON-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests MongoDB-tests Zip-tests CppParser-tests PDF-tests +samples = Foundation-samples XML-samples JSON-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples MongoDB-samples Zip-samples PageCompiler-samples PDF-samples +cleans = Foundation-clean XML-clean JSON-clean Util-clean Net-clean Crypto-clean NetSSL_OpenSSL-clean Data-clean Data/SQLite-clean Data/ODBC-clean Data/MySQL-clean MongoDB-clean Zip-clean PageCompiler-clean PageCompiler/File2Page-clean CppParser-clean PDF-clean -.PHONY: poco all libexecs cppunit tests samples clean distclean install .PHONY: $(libexecs) .PHONY: $(tests) .PHONY: $(samples) +.PHONY: $(cleans) libexecs: $(filter-out $(foreach f,$(OMIT),$f%),$(libexecs)) tests: $(filter-out $(foreach f,$(OMIT),$f%),$(tests)) samples: $(filter-out $(foreach f,$(OMIT),$f%),$(samples)) +cleans: $(filter-out $(foreach f,$(OMIT),$f%),$(cleans)) Foundation-libexec: $(MAKE) -C $(POCO_BASE)/Foundation Foundation-tests: Foundation-libexec cppunit $(MAKE) -C $(POCO_BASE)/Foundation/testsuite - + Foundation-samples: Foundation-libexec $(MAKE) -C $(POCO_BASE)/Foundation/samples +Foundation-clean: + $(MAKE) -C $(POCO_BASE)/Foundation clean + $(MAKE) -C $(POCO_BASE)/Foundation/testsuite clean + $(MAKE) -C $(POCO_BASE)/Foundation/samples clean + XML-libexec: Foundation-libexec $(MAKE) -C $(POCO_BASE)/XML XML-tests: XML-libexec cppunit $(MAKE) -C $(POCO_BASE)/XML/testsuite - + XML-samples: XML-libexec $(MAKE) -C $(POCO_BASE)/XML/samples +XML-clean: + $(MAKE) -C $(POCO_BASE)/XML clean + $(MAKE) -C $(POCO_BASE)/XML/testsuite clean + $(MAKE) -C $(POCO_BASE)/XML/samples clean + JSON-libexec: Foundation-libexec $(MAKE) -C $(POCO_BASE)/JSON JSON-tests: JSON-libexec cppunit $(MAKE) -C $(POCO_BASE)/JSON/testsuite - + JSON-samples: JSON-libexec $(MAKE) -C $(POCO_BASE)/JSON/samples -Util-libexec: Foundation-libexec XML-libexec +JSON-clean: + $(MAKE) -C $(POCO_BASE)/JSON clean + $(MAKE) -C $(POCO_BASE)/JSON/testsuite clean + $(MAKE) -C $(POCO_BASE)/JSON/samples clean + +Util-libexec: Foundation-libexec XML-libexec JSON-libexec $(MAKE) -C $(POCO_BASE)/Util Util-tests: Util-libexec cppunit $(MAKE) -C $(POCO_BASE)/Util/testsuite - + Util-samples: Util-libexec $(MAKE) -C $(POCO_BASE)/Util/samples +Util-clean: + $(MAKE) -C $(POCO_BASE)/Util clean + $(MAKE) -C $(POCO_BASE)/Util/testsuite clean + $(MAKE) -C $(POCO_BASE)/Util/samples clean + Net-libexec: Foundation-libexec $(MAKE) -C $(POCO_BASE)/Net Net-tests: Net-libexec cppunit $(MAKE) -C $(POCO_BASE)/Net/testsuite - + Net-samples: Net-libexec Foundation-libexec XML-libexec Util-libexec $(MAKE) -C $(POCO_BASE)/Net/samples +Net-clean: + $(MAKE) -C $(POCO_BASE)/Net clean + $(MAKE) -C $(POCO_BASE)/Net/testsuite clean + $(MAKE) -C $(POCO_BASE)/Net/samples clean + Crypto-libexec: Foundation-libexec $(MAKE) -C $(POCO_BASE)/Crypto Crypto-tests: Crypto-libexec cppunit $(MAKE) -C $(POCO_BASE)/Crypto/testsuite - + Crypto-samples: Crypto-libexec Foundation-libexec Util-libexec $(MAKE) -C $(POCO_BASE)/Crypto/samples +Crypto-clean: + $(MAKE) -C $(POCO_BASE)/Crypto clean + $(MAKE) -C $(POCO_BASE)/Crypto/testsuite clean + $(MAKE) -C $(POCO_BASE)/Crypto/samples clean + NetSSL_OpenSSL-libexec: Foundation-libexec Net-libexec Util-libexec Crypto-libexec $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL NetSSL_OpenSSL-tests: NetSSL_OpenSSL-libexec cppunit $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/testsuite - + NetSSL_OpenSSL-samples: NetSSL_OpenSSL-libexec $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/samples +NetSSL_OpenSSL-clean: + $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL clean + $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/testsuite clean + $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/samples clean + Data-libexec: Foundation-libexec $(MAKE) -C $(POCO_BASE)/Data Data-tests: Data-libexec cppunit $(MAKE) -C $(POCO_BASE)/Data/testsuite - + Data-samples: Data-libexec Data-libexec Data/SQLite-libexec $(MAKE) -C $(POCO_BASE)/Data/samples +Data-clean: + $(MAKE) -C $(POCO_BASE)/Data clean + $(MAKE) -C $(POCO_BASE)/Data/testsuite clean + $(MAKE) -C $(POCO_BASE)/Data/samples clean + Data/SQLite-libexec: Foundation-libexec Data-libexec $(MAKE) -C $(POCO_BASE)/Data/SQLite Data/SQLite-tests: Data/SQLite-libexec cppunit $(MAKE) -C $(POCO_BASE)/Data/SQLite/testsuite +Data/SQLite-clean: + $(MAKE) -C $(POCO_BASE)/Data/SQLite clean + $(MAKE) -C $(POCO_BASE)/Data/SQLite/testsuite clean + Data/ODBC-libexec: Foundation-libexec Data-libexec $(MAKE) -C $(POCO_BASE)/Data/ODBC Data/ODBC-tests: Data/ODBC-libexec cppunit $(MAKE) -C $(POCO_BASE)/Data/ODBC/testsuite +Data/ODBC-clean: + $(MAKE) -C $(POCO_BASE)/Data/ODBC clean + $(MAKE) -C $(POCO_BASE)/Data/ODBC/testsuite clean + Data/MySQL-libexec: Foundation-libexec Data-libexec $(MAKE) -C $(POCO_BASE)/Data/MySQL Data/MySQL-tests: Data/MySQL-libexec cppunit $(MAKE) -C $(POCO_BASE)/Data/MySQL/testsuite +Data/MySQL-clean: + $(MAKE) -C $(POCO_BASE)/Data/MySQL clean + $(MAKE) -C $(POCO_BASE)/Data/MySQL/testsuite clean + +MongoDB-libexec: Foundation-libexec Net-libexec + $(MAKE) -C $(POCO_BASE)/MongoDB + +MongoDB-tests: MongoDB-libexec cppunit + $(MAKE) -C $(POCO_BASE)/MongoDB/testsuite + +MongoDB-samples: MongoDB-libexec + $(MAKE) -C $(POCO_BASE)/MongoDB/samples + +MongoDB-clean: + $(MAKE) -C $(POCO_BASE)/MongoDB clean + $(MAKE) -C $(POCO_BASE)/MongoDB/testsuite clean + $(MAKE) -C $(POCO_BASE)/MongoDB/samples clean + Zip-libexec: Foundation-libexec Net-libexec Util-libexec XML-libexec $(MAKE) -C $(POCO_BASE)/Zip Zip-tests: Zip-libexec cppunit $(MAKE) -C $(POCO_BASE)/Zip/testsuite - + Zip-samples: Zip-libexec $(MAKE) -C $(POCO_BASE)/Zip/samples +Zip-clean: + $(MAKE) -C $(POCO_BASE)/Zip clean + $(MAKE) -C $(POCO_BASE)/Zip/testsuite clean + $(MAKE) -C $(POCO_BASE)/Zip/samples clean + PageCompiler-libexec: Net-libexec Util-libexec XML-libexec Foundation-libexec $(MAKE) -C $(POCO_BASE)/PageCompiler - + PageCompiler-samples: PageCompiler-libexec $(MAKE) -C $(POCO_BASE)/PageCompiler/samples +PageCompiler-clean: + $(MAKE) -C $(POCO_BASE)/PageCompiler clean + $(MAKE) -C $(POCO_BASE)/PageCompiler/samples clean + PageCompiler/File2Page-libexec: Net-libexec Util-libexec XML-libexec Foundation-libexec $(MAKE) -C $(POCO_BASE)/PageCompiler/File2Page -PDF-libexec: Foundation-libexec +PageCompiler/File2Page-clean: + $(MAKE) -C $(POCO_BASE)/PageCompiler/File2Page clean + +CppParser-libexec: Foundation-libexec + $(MAKE) -C $(POCO_BASE)/CppParser + +CppParser-tests: CppParser-libexec cppunit + $(MAKE) -C $(POCO_BASE)/CppParser/testsuite + +CppParser-clean: + $(MAKE) -C $(POCO_BASE)/CppParser clean + $(MAKE) -C $(POCO_BASE)/CppParser/testsuite clean + +PDF-libexec: Foundation-libexec $(MAKE) -C $(POCO_BASE)/PDF PDF-tests: PDF-libexec cppunit $(MAKE) -C $(POCO_BASE)/PDF/testsuite - + PDF-samples: PDF-libexec $(MAKE) -C $(POCO_BASE)/PDF/samples -CppParser-libexec: Foundation-libexec - $(MAKE) -C $(POCO_BASE)/CppParser - -CppParser-tests: CppParser-libexec - $(MAKE) -C $(POCO_BASE)/CppParser/testsuite - -MongoDB-libexec: Foundation-libexec Net-libexec - $(MAKE) -C $(POCO_BASE)/MongoDB - -MongoDB-tests: MongoDB-libexec Net-libexec cppunit - $(MAKE) -C $(POCO_BASE)/MongoDB/testsuite - - -clean: - $(MAKE) -C $(POCO_BASE)/Foundation clean - $(MAKE) -C $(POCO_BASE)/Foundation/testsuite clean - $(MAKE) -C $(POCO_BASE)/Foundation/samples clean - $(MAKE) -C $(POCO_BASE)/XML clean - $(MAKE) -C $(POCO_BASE)/XML/testsuite clean - $(MAKE) -C $(POCO_BASE)/XML/samples clean - $(MAKE) -C $(POCO_BASE)/Util clean - $(MAKE) -C $(POCO_BASE)/Util/testsuite clean - $(MAKE) -C $(POCO_BASE)/Util/samples clean - $(MAKE) -C $(POCO_BASE)/Net clean - $(MAKE) -C $(POCO_BASE)/Net/testsuite clean - $(MAKE) -C $(POCO_BASE)/Net/samples clean - $(MAKE) -C $(POCO_BASE)/Crypto clean - $(MAKE) -C $(POCO_BASE)/Crypto/testsuite clean - $(MAKE) -C $(POCO_BASE)/Crypto/samples clean - $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL clean - $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/testsuite clean - $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/samples clean - $(MAKE) -C $(POCO_BASE)/Data clean - $(MAKE) -C $(POCO_BASE)/Data/testsuite clean - $(MAKE) -C $(POCO_BASE)/Data/samples clean - $(MAKE) -C $(POCO_BASE)/Data/SQLite clean - $(MAKE) -C $(POCO_BASE)/Data/SQLite/testsuite clean - $(MAKE) -C $(POCO_BASE)/Data/ODBC clean - $(MAKE) -C $(POCO_BASE)/Data/ODBC/testsuite clean - $(MAKE) -C $(POCO_BASE)/Data/MySQL clean - $(MAKE) -C $(POCO_BASE)/Data/MySQL/testsuite clean - $(MAKE) -C $(POCO_BASE)/Zip clean - $(MAKE) -C $(POCO_BASE)/Zip/testsuite clean - $(MAKE) -C $(POCO_BASE)/Zip/samples clean - $(MAKE) -C $(POCO_BASE)/PageCompiler clean - $(MAKE) -C $(POCO_BASE)/PageCompiler/samples clean - $(MAKE) -C $(POCO_BASE)/PageCompiler/File2Page clean +PDF-clean: $(MAKE) -C $(POCO_BASE)/PDF clean $(MAKE) -C $(POCO_BASE)/PDF/testsuite clean $(MAKE) -C $(POCO_BASE)/PDF/samples clean - $(MAKE) -C $(POCO_BASE)/CppParser clean - $(MAKE) -C $(POCO_BASE)/CppParser/testsuite clean - $(MAKE) -C $(POCO_BASE)/CppUnit clean - $(MAKE) -C $(POCO_BASE)/JSON clean - $(MAKE) -C $(POCO_BASE)/JSON/testsuite clean - $(MAKE) -C $(POCO_BASE)/JSON/samples clean - $(MAKE) -C $(POCO_BASE)/MongoDB clean - $(MAKE) -C $(POCO_BASE)/MongoDB/testsuite clean + +clean: cleans CppUnit-clean distclean: rm -rf $(POCO_BUILD)/lib - find $(POCO_BUILD) \( -name bin -o -name .dep -o -name obj \) -type d -print0 | xargs -0 rm -rf + find $(POCO_BUILD) -name obj -type d -print0 | xargs -0 rm -rf + find $(POCO_BUILD) -name .dep -type d -print0 | xargs -0 rm -rf + find $(POCO_BUILD) -name bin -type d -print0 | xargs -0 rm -rf diff --git a/PDF/dependencies b/PDF/dependencies new file mode 100644 index 000000000..2e8175e4e --- /dev/null +++ b/PDF/dependencies @@ -0,0 +1 @@ +Foundation diff --git a/buildwin.cmd b/buildwin.cmd index 9f45406aa..9582d0944 100644 --- a/buildwin.cmd +++ b/buildwin.cmd @@ -87,17 +87,19 @@ if "%VS_VERSION%"=="vs110" (set BUILD_TOOL=msbuild) :use_custom if not "%BUILD_TOOL%"=="msbuild" (set USEENV=/useenv) if "%BUILD_TOOL%"=="msbuild" ( -set ACTIONSW=/t: -set CONFIGSW=/p:Configuration= -set EXTRASW=/m -set USEENV=/p:UseEnv=true + set ACTIONSW=/t: + set CONFIGSW=/p:Configuration= + set EXTRASW=/m + set USEENV=/p:UseEnv=true +) +if not "%BUILD_TOOL%"=="msbuild" ( + set ACTIONSW=/ ) -if not "%BUILD_TOOL%"=="msbuild" (set ACTIONSW=/) if "%VS_VERSION%"=="vs100" (goto msbuildok) if "%VS_VERSION%"=="vs110" (goto msbuildok) if "%BUILD_TOOL%"=="msbuild" ( -echo "Cannot use msbuild with Visual Studio 2008 or earlier." -exit + echo "Cannot use msbuild with Visual Studio 2008 or earlier." + exit /b 2 ) :msbuildok @@ -252,19 +254,31 @@ if %RELEASE_STATIC_MD%==1 (echo release_static_md) rem build for up to 4 levels deep for /f %%G in ('findstr /R "." components') do ( -if exist %%G ( - cd %%G - for /f "tokens=1,2,3,4 delims=/" %%Q in ("%%G") do ( - set PROJECT_NAME=%%Q%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% - set TEST_PROJECT_NAME=testsuite/TestSuite%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% - if exist !PROJECT_NAME! (call :build %%G ) - set PROJECT_NAME=%%R%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% - if exist !PROJECT_NAME! (call :build %%G ) - set PROJECT_NAME=%%S%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% - if exist !PROJECT_NAME! (call :build %%G ) - set PROJECT_NAME=%%T%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% - if exist !PROJECT_NAME! (call :build %%G ) - ) + if exist %%G ( + cd %%G + for /f "tokens=1,2,3,4 delims=/" %%Q in ("%%G") do ( + set PROJECT_FILE=%%Q%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% + set TEST_PROJECT_FILE=testsuite/TestSuite%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% + if exist !PROJECT_FILE! ( + call :build %%G + if ERRORLEVEL 1 goto buildfailed + ) + set PROJECT_FILE=%%R%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% + if exist !PROJECT_FILE! ( + call :build %%G + if ERRORLEVEL 1 goto buildfailed + ) + set PROJECT_FILE=%%S%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% + if exist !PROJECT_FILE! ( + call :build %%G + if ERRORLEVEL 1 goto buildfailed + ) + set PROJECT_FILE=%%T%PLATFORM_SUFFIX%_%VS_VERSION%.%VCPROJ_EXT% + if exist !PROJECT_FILE! ( + call :build %%G + if ERRORLEVEL 1 goto buildfailed + ) + ) ) cd %POCO_BASE% ) @@ -280,46 +294,88 @@ rem //////////////////// echo. echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - echo ++++ Building [!PROJECT_NAME!] + echo ++++ Building [!PROJECT_FILE!] echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ echo. - if %DEBUG_SHARED%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_shared !PROJECT_NAME! && echo. && echo. && echo. + if %DEBUG_SHARED%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_shared !PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. if %TESTS%==tests ( - if exist !TEST_PROJECT_NAME! (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_shared !TEST_PROJECT_NAME! && echo. && echo. && echo.) + if exist !TEST_PROJECT_FILE! ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_shared !TEST_PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. + ) ) ) - if %RELEASE_SHARED%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_shared !PROJECT_NAME! && echo. && echo. && echo. + if %RELEASE_SHARED%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_shared !PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. if %TESTS%==tests ( - if exist !TEST_PROJECT_NAME! (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_shared !TEST_PROJECT_NAME! && echo. && echo. && echo.) + if exist !TEST_PROJECT_FILE! ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_shared !TEST_PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. + ) ) ) - if %DEBUG_STATIC_MT%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_mt !PROJECT_NAME! && echo. && echo. && echo. + if %DEBUG_STATIC_MT%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_mt !PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. if %TESTS%==tests ( - if exist !TEST_PROJECT_NAME! (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_mt !TEST_PROJECT_NAME! && echo. && echo. && echo.) + if exist !TEST_PROJECT_FILE! ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_mt !TEST_PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. + ) ) ) - if %RELEASE_STATIC_MT%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_mt !PROJECT_NAME! && echo. && echo. && echo. + if %RELEASE_STATIC_MT%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_mt !PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. if %TESTS%==tests ( - if exist !TEST_PROJECT_NAME! (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_mt !TEST_PROJECT_NAME! && echo. && echo. && echo.) + if exist !TEST_PROJECT_FILE! ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_mt !TEST_PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. + ) ) ) - if %DEBUG_STATIC_MD%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_md !PROJECT_NAME! && echo. && echo. && echo. + if %DEBUG_STATIC_MD%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_md !PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. if %TESTS%==tests ( - if exist !TEST_PROJECT_NAME! (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_md !TEST_PROJECT_NAME! && echo. && echo. && echo.) + if exist !TEST_PROJECT_FILE! ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_md !TEST_PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. + ) ) ) - if %RELEASE_STATIC_MD%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_md !PROJECT_NAME! && echo. && echo. && echo. + if %RELEASE_STATIC_MD%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_md !PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. if %TESTS%==tests ( - if exist !TEST_PROJECT_NAME! (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_md !TEST_PROJECT_NAME! && echo. && echo. && echo.) + if exist !TEST_PROJECT_FILE! ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_md !TEST_PROJECT_FILE! + if ERRORLEVEL 1 exit /b 1 + echo. && echo. && echo. + ) ) ) echo. echo ------------------------------------------------------------------------ echo ------------------------------------------------------------------------ -echo ---- Done building [!PROJECT_NAME!] +echo ---- Done building [!PROJECT_FILE!] echo ------------------------------------------------------------------------ echo ------------------------------------------------------------------------ echo. @@ -336,35 +392,59 @@ if %SAMPLES%==nosamples goto :EOF rem root level component samples for /f %%G in ('findstr /R "." components') do ( -if exist %%G\samples\samples%PLATFORM_SUFFIX%_%VS_VERSION%.sln ( - cd %%G\samples - echo. - echo. - echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - echo ++++ Building [%%G/samples] - echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - echo. - set PROJECT_NAME=samples%PLATFORM_SUFFIX%_%VS_VERSION% + if exist %%G\samples\samples%PLATFORM_SUFFIX%_%VS_VERSION%.sln ( + cd %%G\samples + echo. + echo. + echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + echo ++++ Building [%%G/samples] + echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + echo. + set SOLUTION_FILE=samples%PLATFORM_SUFFIX%_%VS_VERSION%.sln - if %DEBUG_SHARED%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_shared !PROJECT_NAME!.sln && echo. && echo. && echo.) - if %RELEASE_SHARED%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_shared !PROJECT_NAME!.sln && echo. && echo. && echo.) - if %DEBUG_STATIC_MT%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_mt !PROJECT_NAME!.sln && echo. && echo. && echo.) - if %RELEASE_STATIC_MT%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_mt !PROJECT_NAME!.sln && echo. && echo. && echo.) - if %DEBUG_STATIC_MD%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_md !PROJECT_NAME!.sln && echo. && echo. && echo.) - if %RELEASE_STATIC_MD%==1 (!BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_md !PROJECT_NAME!.sln && echo. && echo. && echo.) + if %DEBUG_SHARED%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_shared !SOLUTION_FILE! + if ERRORLEVEL 1 goto buildfailed + echo. && echo. && echo. + ) + if %RELEASE_SHARED%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_shared !SOLUTION_FILE! + if ERRORLEVEL 1 goto buildfailed + echo. && echo. && echo. + ) + if %DEBUG_STATIC_MT%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_mt !SOLUTION_FILE! + if ERRORLEVEL 1 goto buildfailed + echo. && echo. && echo. + ) + if %RELEASE_STATIC_MT%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_mt !SOLUTION_FILE! + if ERRORLEVEL 1 goto buildfailed + echo. && echo. && echo. + ) + if %DEBUG_STATIC_MD%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%debug_static_md !SOLUTION_FILE! + if ERRORLEVEL 1 goto buildfailed + echo. && echo. && echo. + ) + if %RELEASE_STATIC_MD%==1 ( + !BUILD_TOOL! %USEENV% %EXTRASW% %ACTIONSW%%ACTION% %CONFIGSW%release_static_md !SOLUTION_FILE! + if ERRORLEVEL 1 goto buildfailed + echo. && echo. && echo. + ) + + cd %POCO_BASE% - cd %POCO_BASE% - - echo. - echo ------------------------------------------------------------------------ - echo ------------------------------------------------------------------------ - echo ---- Done building [%%G/samples] - echo ------------------------------------------------------------------------ - echo ------------------------------------------------------------------------ - echo. -) + echo. + echo ------------------------------------------------------------------------ + echo ------------------------------------------------------------------------ + echo ---- Done building [%%G/samples] + echo ------------------------------------------------------------------------ + echo ------------------------------------------------------------------------ + echo. + ) ) echo. @@ -377,6 +457,21 @@ echo. goto :EOF +rem //////////////// +rem / build failed / +rem //////////////// + +:buildfailed + +echo. +echo. +echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +echo XXX BUILD FAILED. EXITING. XXX +echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +echo. +echo. +exit /b 1 + :usage echo Usage: echo ------ diff --git a/doc/99100-ReleaseNotes.page b/doc/99100-ReleaseNotes.page index b6027cf31..84ada5617 100644 --- a/doc/99100-ReleaseNotes.page +++ b/doc/99100-ReleaseNotes.page @@ -5,6 +5,7 @@ AAAIntroduction !!Summary of Changes + - added MongoDB library - fixed GH #57: poco-1.5.1: Doesn't compile for Android - added VoidEvent (Arturo Castro) - fixed GH #80: NumberFormatter::append broken diff --git a/env.sh b/env.sh new file mode 100644 index 000000000..f4a66a523 --- /dev/null +++ b/env.sh @@ -0,0 +1,2 @@ +export POCO_BASE=`pwd` +export PATH=$POCO_BASE/release/script:$PATH \ No newline at end of file diff --git a/release/script/mkrel b/release/script/mkrel index cc6d2bd23..2ea1386b9 100755 --- a/release/script/mkrel +++ b/release/script/mkrel @@ -72,8 +72,10 @@ fi # # Sync files # -echo "Syncing files..." -p4 sync ./...$label +if [ "$label" != "" ] ; then + echo "Syncing files to ${label}..." + p4 sync ./...$label +fi read version <$POCO_BASE/VERSION release=$version$reltag diff --git a/release/script/mkrelease b/release/script/mkrelease index 3cdf69370..70dcf5cd8 100755 --- a/release/script/mkrelease +++ b/release/script/mkrelease @@ -215,7 +215,7 @@ ifndef POCO_BUILD export POCO_BUILD=$(POCO_BASE) endif -.PHONY: poco all libexecs cppunit tests samples clean distclean install +.PHONY: poco all libexecs cppunit tests samples cleans clean distclean install # TESTS and SAMPLES are set in config.make poco: libexecs $(if $(TESTS),tests) $(if $(SAMPLES),samples) @@ -231,6 +231,9 @@ cat >>${target}/Makefile <<'ENDOFSCRIPT' cppunit: $(MAKE) -C $(POCO_BASE)/CppUnit +CppUnit-clean: + \$(MAKE) -C \$(POCO_BASE)/CppUnit clean + install: libexecs mkdir -p $(INSTALLDIR)/include/Poco mkdir -p $(INSTALLDIR)/lib @@ -251,9 +254,11 @@ ENDOFSCRIPT libexecs="" tests="" samples="" +cleans="" for comp in $comps ; do libexecs="$libexecs ${comp}-libexec" + cleans="$cleans ${comp}-clean" if [ -d "${POCO_BASE}/${comp}/testsuite" ] ; then tests="$tests ${comp}-tests" fi @@ -265,14 +270,17 @@ done echo "libexecs = $libexecs" >>${target}/Makefile echo "tests = $tests" >> ${target}/Makefile echo "samples = $samples" >> ${target}/Makefile +echo "cleans = $cleans" >> ${target}/Makefile echo "" >>${target}/Makefile echo '.PHONY: $(libexecs)' >>${target}/Makefile echo '.PHONY: $(tests)' >>${target}/Makefile echo '.PHONY: $(samples)' >>${target}/Makefile +echo '.PHONY: $(cleans)' >>${target}/Makefile echo "" >>${target}/Makefile echo 'libexecs: $(filter-out $(foreach f,$(OMIT),$f%),$(libexecs))' >>${target}/Makefile echo 'tests: $(filter-out $(foreach f,$(OMIT),$f%),$(tests))' >>${target}/Makefile echo 'samples: $(filter-out $(foreach f,$(OMIT),$f%),$(samples))' >>${target}/Makefile +echo 'cleans: $(filter-out $(foreach f,$(OMIT),$f%),$(cleans))' >>${target}/Makefile for comp in $comps ; do @@ -319,29 +327,29 @@ ${comp}-samples: ${comp}-libexec $sdependencies \$(MAKE) -C \$(POCO_BASE)/${comp}/samples ENDOFSCRIPT fi -done -echo "" >>${target}/Makefile -echo "clean:" >>${target}/Makefile -for comp in $comps ; -do cat >>${target}/Makefile <>${target}/Makefile <>${target}/Makefile <>${target}/Makefile <>${target}/Makefile <>${target}/Makefile <