From: <fir...@us...> - 2013-03-13 01:57:30
|
Revision: 57775 http://sourceforge.net/p/firebird/code/57775 Author: firebirds Date: 2013-03-13 01:57:27 +0000 (Wed, 13 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-12 12:37:17 UTC (rev 57774) +++ firebird/trunk/ChangeLog 2013-03-13 01:57:27 UTC (rev 57775) @@ -1,3 +1,27 @@ + 2013-03-12 12:37 alexpeshkoff + M examples/interfaces/select.cpp +fixed sample + + 2013-03-12 11:43 alexpeshkoff + M src/burp/burp.cpp +New fix for CORE-3995: Slight problem with GBAK parameter checking + + 2013-03-12 10:26 dimitr + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h +Correction. + + 2013-03-12 09:52 dimitr + M src/auth/SecureRemotePassword/manage/SrpManagement.cpp +For the consistency sake, let's explicitly release the result set. + + 2013-03-12 09:39 dimitr + M src/common/classes/condition.h + M src/common/classes/locks.h + M src/common/classes/rwlock.h + M src/common/classes/semaphore.h +Disallowed default copying and assignment in sync wrappers. Fixed a theoretically possible handle leak in the condition class. Thanks to Dmitry Kovalenko. + 2013-03-11 15:43 alexpeshkoff M src/dsql/ExprNodes.cpp M src/dsql/StmtNodes.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-12 12:37:17 UTC (rev 57774) +++ firebird/trunk/src/jrd/build_no.h 2013-03-13 01:57:27 UTC (rev 57775) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30263 + FORMAL BUILD NUMBER:30268 */ -#define PRODUCT_VER_STRING "3.0.0.30263" -#define FILE_VER_STRING "WI-T3.0.0.30263" -#define LICENSE_VER_STRING "WI-T3.0.0.30263" -#define FILE_VER_NUMBER 3, 0, 0, 30263 +#define PRODUCT_VER_STRING "3.0.0.30268" +#define FILE_VER_STRING "WI-T3.0.0.30268" +#define LICENSE_VER_STRING "WI-T3.0.0.30268" +#define FILE_VER_NUMBER 3, 0, 0, 30268 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30263" +#define FB_BUILD_NO "30268" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-12 12:37:17 UTC (rev 57774) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-13 01:57:27 UTC (rev 57775) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30263 +BuildNum=30268 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-14 02:03:54
|
Revision: 57778 http://sourceforge.net/p/firebird/code/57778 Author: firebirds Date: 2013-03-14 02:03:51 +0000 (Thu, 14 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-13 03:15:37 UTC (rev 57777) +++ firebird/trunk/ChangeLog 2013-03-14 02:03:51 UTC (rev 57778) @@ -1,3 +1,9 @@ + 2013-03-13 02:15 asfernandes + M src/dsql/make.cpp + M src/dsql/make_proto.h + M src/dsql/parse.y +Fixed CORE-4061 - isql does not insert boolean values correctly, always shown as False. + 2013-03-12 12:37 alexpeshkoff M examples/interfaces/select.cpp fixed sample Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-13 03:15:37 UTC (rev 57777) +++ firebird/trunk/src/jrd/build_no.h 2013-03-14 02:03:51 UTC (rev 57778) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30268 + FORMAL BUILD NUMBER:30269 */ -#define PRODUCT_VER_STRING "3.0.0.30268" -#define FILE_VER_STRING "WI-T3.0.0.30268" -#define LICENSE_VER_STRING "WI-T3.0.0.30268" -#define FILE_VER_NUMBER 3, 0, 0, 30268 +#define PRODUCT_VER_STRING "3.0.0.30269" +#define FILE_VER_STRING "WI-T3.0.0.30269" +#define LICENSE_VER_STRING "WI-T3.0.0.30269" +#define FILE_VER_NUMBER 3, 0, 0, 30269 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30268" +#define FB_BUILD_NO "30269" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-13 03:15:37 UTC (rev 57777) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-14 02:03:51 UTC (rev 57778) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30268 +BuildNum=30269 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-16 01:15:45
|
Revision: 57781 http://sourceforge.net/p/firebird/code/57781 Author: firebirds Date: 2013-03-16 01:15:41 +0000 (Sat, 16 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-15 16:37:32 UTC (rev 57780) +++ firebird/trunk/ChangeLog 2013-03-16 01:15:41 UTC (rev 57781) @@ -1,3 +1,19 @@ + 2013-03-15 16:37 alexpeshkoff + M src/common/classes/ImplementHelper.cpp + M src/common/classes/ImplementHelper.h + M src/gpre/boot/gpre_meta_boot.cpp + M src/include/firebird/Interface.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/jrd.cpp + M src/jrd/lck.cpp + M src/yvalve/MasterImplementation.cpp + M src/yvalve/MasterImplementation.h + M src/yvalve/YObjects.h + M src/yvalve/why.cpp +1. Fixed broken by me a few time ago server shutdown. +2. Implemented prototype of TLS-based debugging helper holding information about 'What does firebird do now?" + Currently it's more or less ready for use with JAttachment::release(). + 2013-03-13 02:15 asfernandes M src/dsql/make.cpp M src/dsql/make_proto.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-15 16:37:32 UTC (rev 57780) +++ firebird/trunk/src/jrd/build_no.h 2013-03-16 01:15:41 UTC (rev 57781) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30269 + FORMAL BUILD NUMBER:30270 */ -#define PRODUCT_VER_STRING "3.0.0.30269" -#define FILE_VER_STRING "WI-T3.0.0.30269" -#define LICENSE_VER_STRING "WI-T3.0.0.30269" -#define FILE_VER_NUMBER 3, 0, 0, 30269 +#define PRODUCT_VER_STRING "3.0.0.30270" +#define FILE_VER_STRING "WI-T3.0.0.30270" +#define LICENSE_VER_STRING "WI-T3.0.0.30270" +#define FILE_VER_NUMBER 3, 0, 0, 30270 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30269" +#define FB_BUILD_NO "30270" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-15 16:37:32 UTC (rev 57780) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-16 01:15:41 UTC (rev 57781) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30269 +BuildNum=30270 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-18 02:22:17
|
Revision: 57800 http://sourceforge.net/p/firebird/code/57800 Author: firebirds Date: 2013-03-18 02:22:15 +0000 (Mon, 18 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-17 20:36:56 UTC (rev 57799) +++ firebird/trunk/ChangeLog 2013-03-18 02:22:15 UTC (rev 57800) @@ -1,3 +1,52 @@ + 2013-03-17 20:36 asfernandes + M src/common/classes/ImplementHelper.cpp + M src/dsql/DdlNodes.epp + M src/jrd/shut.cpp +Misc. + + 2013-03-17 17:35 dimitr + M src/dsql/StmtNodes.cpp + M src/jrd/DatabaseSnapshot.cpp + M src/jrd/DatabaseSnapshot.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/UserManagement.cpp + M src/jrd/blb.cpp + M src/jrd/evl.cpp + M src/jrd/exe.cpp + M src/jrd/ext.cpp + M src/jrd/recsrc/AggregatedStream.cpp + M src/jrd/recsrc/BufferedStream.cpp + M src/jrd/recsrc/ProcedureScan.cpp + M src/jrd/recsrc/SortedStream.cpp + M src/jrd/req.h + M src/jrd/vio.cpp +Small refactoring. + + 2013-03-17 17:09 dimitr + M builds/win32/msvc10/engine.vcxproj + M builds/win32/msvc10/engine.vcxproj.filters + M builds/win32/msvc10/gsec.vcxproj + M builds/win32/msvc10/gsec.vcxproj.filters + M builds/win32/msvc10/intl.vcxproj + M builds/win32/msvc10/intl.vcxproj.filters + M builds/win32/msvc10/udr_engine.vcxproj + M builds/win32/msvc10/udr_engine.vcxproj.filters +Cleanup. MSVC10 does not like references to non-existing files. As for INTL, I see no sense in seeing all the charsets/collations in the IDE. + + 2013-03-17 14:39 dimitr + M src/jrd/dpm.epp +Fixed CORE-4036: Bugcheck or database corruption when attempting to store long incompressible data into a table. + + 2013-03-17 12:20 dimitr + M src/jrd/shut.cpp +A bit more precise timeout accounting. + + 2013-03-17 12:14 dimitr + M src/jrd/cch.cpp + M src/jrd/shut.cpp + M src/jrd/shut_proto.h +Completed refactoring of the database shutdown. Fixed a few remaining bugs there. Fixed timeout accounting in SS as well as CORE-3817: Forced database shutdown does not work if non-zero delay was specified. + 2013-03-15 16:37 alexpeshkoff M src/common/classes/ImplementHelper.cpp M src/common/classes/ImplementHelper.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-17 20:36:56 UTC (rev 57799) +++ firebird/trunk/src/jrd/build_no.h 2013-03-18 02:22:15 UTC (rev 57800) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30270 + FORMAL BUILD NUMBER:30276 */ -#define PRODUCT_VER_STRING "3.0.0.30270" -#define FILE_VER_STRING "WI-T3.0.0.30270" -#define LICENSE_VER_STRING "WI-T3.0.0.30270" -#define FILE_VER_NUMBER 3, 0, 0, 30270 +#define PRODUCT_VER_STRING "3.0.0.30276" +#define FILE_VER_STRING "WI-T3.0.0.30276" +#define LICENSE_VER_STRING "WI-T3.0.0.30276" +#define FILE_VER_NUMBER 3, 0, 0, 30276 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30270" +#define FB_BUILD_NO "30276" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-17 20:36:56 UTC (rev 57799) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-18 02:22:15 UTC (rev 57800) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30270 +BuildNum=30276 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-19 01:41:04
|
Revision: 57805 http://sourceforge.net/p/firebird/code/57805 Author: firebirds Date: 2013-03-19 01:41:01 +0000 (Tue, 19 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-18 13:10:36 UTC (rev 57804) +++ firebird/trunk/ChangeLog 2013-03-19 01:41:01 UTC (rev 57805) @@ -1,3 +1,13 @@ + 2013-03-18 13:10 dimitr + M src/common/sha.cpp + M src/common/sha.h +Warnings. + + 2013-03-18 10:50 alexpeshkoff + M src/common/classes/auto.h + M src/jrd/exe.cpp +Ugly fix for CORE-4066, but looks like here g++ is too strong in type correctness. + 2013-03-17 20:36 asfernandes M src/common/classes/ImplementHelper.cpp M src/dsql/DdlNodes.epp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-18 13:10:36 UTC (rev 57804) +++ firebird/trunk/src/jrd/build_no.h 2013-03-19 01:41:01 UTC (rev 57805) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30276 + FORMAL BUILD NUMBER:30278 */ -#define PRODUCT_VER_STRING "3.0.0.30276" -#define FILE_VER_STRING "WI-T3.0.0.30276" -#define LICENSE_VER_STRING "WI-T3.0.0.30276" -#define FILE_VER_NUMBER 3, 0, 0, 30276 +#define PRODUCT_VER_STRING "3.0.0.30278" +#define FILE_VER_STRING "WI-T3.0.0.30278" +#define LICENSE_VER_STRING "WI-T3.0.0.30278" +#define FILE_VER_NUMBER 3, 0, 0, 30278 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30276" +#define FB_BUILD_NO "30278" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-18 13:10:36 UTC (rev 57804) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-19 01:41:01 UTC (rev 57805) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30276 +BuildNum=30278 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-20 01:58:13
|
Revision: 57808 http://sourceforge.net/p/firebird/code/57808 Author: firebirds Date: 2013-03-20 01:58:09 +0000 (Wed, 20 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-19 11:29:15 UTC (rev 57807) +++ firebird/trunk/ChangeLog 2013-03-20 01:58:09 UTC (rev 57808) @@ -1,3 +1,11 @@ + 2013-03-19 11:29 hvlad + M src/gpre/boot/gpre_meta_boot.cpp +Fixed boot build + + 2013-03-19 07:24 alexpeshkoff + M src/common/config/config.cpp +Improvement from Dmitry Kovalenko + 2013-03-18 13:10 dimitr M src/common/sha.cpp M src/common/sha.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-19 11:29:15 UTC (rev 57807) +++ firebird/trunk/src/jrd/build_no.h 2013-03-20 01:58:09 UTC (rev 57808) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30278 + FORMAL BUILD NUMBER:30280 */ -#define PRODUCT_VER_STRING "3.0.0.30278" -#define FILE_VER_STRING "WI-T3.0.0.30278" -#define LICENSE_VER_STRING "WI-T3.0.0.30278" -#define FILE_VER_NUMBER 3, 0, 0, 30278 +#define PRODUCT_VER_STRING "3.0.0.30280" +#define FILE_VER_STRING "WI-T3.0.0.30280" +#define LICENSE_VER_STRING "WI-T3.0.0.30280" +#define FILE_VER_NUMBER 3, 0, 0, 30280 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30278" +#define FB_BUILD_NO "30280" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-19 11:29:15 UTC (rev 57807) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-20 01:58:09 UTC (rev 57808) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30278 +BuildNum=30280 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-21 01:00:40
|
Revision: 57810 http://sourceforge.net/p/firebird/code/57810 Author: firebirds Date: 2013-03-21 01:00:37 +0000 (Thu, 21 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-20 13:13:33 UTC (rev 57809) +++ firebird/trunk/ChangeLog 2013-03-21 01:00:37 UTC (rev 57810) @@ -1,3 +1,7 @@ + 2013-03-20 13:13 hvlad + M src/remote/server/os/win32/srvr_w32.cpp +Fixed AV in remote server code reported by Dmitry Kovalenko in fb-devel + 2013-03-19 11:29 hvlad M src/gpre/boot/gpre_meta_boot.cpp Fixed boot build Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-20 13:13:33 UTC (rev 57809) +++ firebird/trunk/src/jrd/build_no.h 2013-03-21 01:00:37 UTC (rev 57810) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30280 + FORMAL BUILD NUMBER:30281 */ -#define PRODUCT_VER_STRING "3.0.0.30280" -#define FILE_VER_STRING "WI-T3.0.0.30280" -#define LICENSE_VER_STRING "WI-T3.0.0.30280" -#define FILE_VER_NUMBER 3, 0, 0, 30280 +#define PRODUCT_VER_STRING "3.0.0.30281" +#define FILE_VER_STRING "WI-T3.0.0.30281" +#define LICENSE_VER_STRING "WI-T3.0.0.30281" +#define FILE_VER_NUMBER 3, 0, 0, 30281 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30280" +#define FB_BUILD_NO "30281" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-20 13:13:33 UTC (rev 57809) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-21 01:00:37 UTC (rev 57810) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30280 +BuildNum=30281 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-22 01:11:34
|
Revision: 57813 http://sourceforge.net/p/firebird/code/57813 Author: firebirds Date: 2013-03-22 01:11:30 +0000 (Fri, 22 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-21 14:36:35 UTC (rev 57812) +++ firebird/trunk/ChangeLog 2013-03-22 01:11:30 UTC (rev 57813) @@ -1,3 +1,7 @@ + 2013-03-21 08:23 hvlad + M src/jrd/dpm.epp +Optimization: delay clearing of page_full flag until page have at least 25% of free space. It saves few costly mark_full() calls when space is actively allocated and reclaimed in highly concurrent environment and reduces PP contention. + 2013-03-20 13:13 hvlad M src/remote/server/os/win32/srvr_w32.cpp Fixed AV in remote server code reported by Dmitry Kovalenko in fb-devel Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-21 14:36:35 UTC (rev 57812) +++ firebird/trunk/src/jrd/build_no.h 2013-03-22 01:11:30 UTC (rev 57813) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30281 + FORMAL BUILD NUMBER:30282 */ -#define PRODUCT_VER_STRING "3.0.0.30281" -#define FILE_VER_STRING "WI-T3.0.0.30281" -#define LICENSE_VER_STRING "WI-T3.0.0.30281" -#define FILE_VER_NUMBER 3, 0, 0, 30281 +#define PRODUCT_VER_STRING "3.0.0.30282" +#define FILE_VER_STRING "WI-T3.0.0.30282" +#define LICENSE_VER_STRING "WI-T3.0.0.30282" +#define FILE_VER_NUMBER 3, 0, 0, 30282 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30281" +#define FB_BUILD_NO "30282" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-21 14:36:35 UTC (rev 57812) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-22 01:11:30 UTC (rev 57813) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30281 +BuildNum=30282 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-23 01:06:50
|
Revision: 57816 http://sourceforge.net/p/firebird/code/57816 Author: firebirds Date: 2013-03-23 01:06:45 +0000 (Sat, 23 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-22 14:29:51 UTC (rev 57815) +++ firebird/trunk/ChangeLog 2013-03-23 01:06:45 UTC (rev 57816) @@ -1,3 +1,12 @@ + 2013-03-22 14:29 alexpeshkoff + M src/remote/client/interface.cpp + M src/yvalve/YObjects.h +Fixed CORE-3269: When server gets unavailbale, client does not perform detach correctly + + 2013-03-22 14:03 alexpeshkoff + M src/common/config/config.cpp +Rolled back my change - it breaks setting FIREBIRD in environment without "/" in the end + 2013-03-21 08:23 hvlad M src/jrd/dpm.epp Optimization: delay clearing of page_full flag until page have at least 25% of free space. It saves few costly mark_full() calls when space is actively allocated and reclaimed in highly concurrent environment and reduces PP contention. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-22 14:29:51 UTC (rev 57815) +++ firebird/trunk/src/jrd/build_no.h 2013-03-23 01:06:45 UTC (rev 57816) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30282 + FORMAL BUILD NUMBER:30284 */ -#define PRODUCT_VER_STRING "3.0.0.30282" -#define FILE_VER_STRING "WI-T3.0.0.30282" -#define LICENSE_VER_STRING "WI-T3.0.0.30282" -#define FILE_VER_NUMBER 3, 0, 0, 30282 +#define PRODUCT_VER_STRING "3.0.0.30284" +#define FILE_VER_STRING "WI-T3.0.0.30284" +#define LICENSE_VER_STRING "WI-T3.0.0.30284" +#define FILE_VER_NUMBER 3, 0, 0, 30284 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30282" +#define FB_BUILD_NO "30284" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-22 14:29:51 UTC (rev 57815) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-23 01:06:45 UTC (rev 57816) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30282 +BuildNum=30284 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2013-03-23 21:12:42
|
Revision: 57821 http://sourceforge.net/p/firebird/code/57821 Author: asfernandes Date: 2013-03-23 21:12:27 +0000 (Sat, 23 Mar 2013) Log Message: ----------- Work in progress fixing external triggers. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/firebird/ExternalEngine.h firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/include/firebird/UdrEngine.h firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/ExtEngineManager.h firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-03-23 21:12:27 UTC (rev 57821) @@ -410,7 +410,6 @@ FB_UDR_END_PROCEDURE -#if 0 //// FIXME: /*** Sample usage: @@ -460,52 +459,20 @@ if (!initialized) return; - for (int i = 0; i < inSqlDa->sqln; ++i) - { - XSQLVAR* var = &inSqlDa->sqlvar[i]; - delete [] var->sqldata; - delete var->sqlind; - } + StatusImpl status(master); - delete [] reinterpret_cast<char*>(inSqlDa); - - ISC_STATUS_ARRAY statusVector = {0}; - isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_drop); + triggerMetadata->release(); + stmt->free(&status); } FB_UDR_EXECUTE_DYNAMIC_TRIGGER { - ///AutoDispose<IStatus> status(master->getStatus()); - - const IParametersMetadata* fields = metadata->getTriggerFields(status); + ITransaction* transaction = context->getTransaction(status); StatusException::check(status->get()); - unsigned fieldsCount = fields->getCount(status); + // This will not work if the table has computed fields. + stmt->execute(status, transaction, triggerMetadata, newFields, NULL, NULL); StatusException::check(status->get()); - - MessageImpl message(fieldsCount, newFields); - - ISC_STATUS_ARRAY statusVector = {0}; - isc_db_handle dbHandle = getIscDbHandle(context); - isc_tr_handle trHandle = getIscTrHandle(context); - - for (unsigned i = 1; i <= fieldsCount; ++i) - { - ParamDesc<void*> field(message, fields); - - XSQLVAR* var = &inSqlDa->sqlvar[i - 1]; - - if (message.isNull(field)) - *var->sqlind = -1; - else - { - *var->sqlind = 0; - memcpy(var->sqldata, message[field], var->sqllen); - } - } - - StatusException::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, - inSqlDa), statusVector); } FB_UDR_INITIALIZE @@ -514,8 +481,9 @@ isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); - stmtHandle = 0; - StatusException::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); + isc_stmt_handle stmtHandle = 0; + StatusException::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), + statusVector); StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, "select data_source from replicate_config where name = ?", SQL_DIALECT_CURRENT, NULL), statusVector); @@ -538,11 +506,11 @@ else info = ""; - inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); + XSQLDA* inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); inSqlDa->version = SQLDA_VERSION1; inSqlDa->sqln = 1; - StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), - statusVector); + StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, + SQL_DIALECT_CURRENT, inSqlDa), statusVector); inSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + inSqlDa->sqlvar[0].sqllen]; strncpy(inSqlDa->sqlvar[0].sqldata + sizeof(short), info, inSqlDa->sqlvar[0].sqllen); *reinterpret_cast<short*>(inSqlDa->sqlvar[0].sqldata) = strlen(info); @@ -550,23 +518,23 @@ XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); outSqlDa->version = SQLDA_VERSION1; outSqlDa->sqln = 1; - StatusException::check(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), - statusVector); + StatusException::check(isc_dsql_describe(statusVector, &stmtHandle, + SQL_DIALECT_CURRENT, outSqlDa), statusVector); outSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + outSqlDa->sqlvar[0].sqllen + 1]; outSqlDa->sqlvar[0].sqldata[sizeof(short) + outSqlDa->sqlvar[0].sqllen] = '\0'; - StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, - inSqlDa, outSqlDa), statusVector); - StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); + StatusException::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, + SQL_DIALECT_CURRENT, inSqlDa, outSqlDa), statusVector); + StatusException::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), + statusVector); delete [] inSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(inSqlDa); - inSqlDa = NULL; - const IParametersMetadata* fields = metadata->getTriggerFields(status); + triggerMetadata = metadata->getTriggerMetadata(status); StatusException::check(status->get()); - unsigned count = fields->getCount(status); + unsigned count = triggerMetadata->getCount(status); StatusException::check(status->get()); char buffer[65536]; @@ -577,7 +545,7 @@ if (i > 0) strcat(buffer, ",\n"); - const char* name = fields->getField(status, i); + const char* name = triggerMetadata->getField(status, i); StatusException::check(status->get()); strcat(buffer, " p"); @@ -598,7 +566,7 @@ if (i > 0) strcat(buffer, ", "); - const char* name = fields->getField(status, i); + const char* name = triggerMetadata->getField(status, i); StatusException::check(status->get()); strcat(buffer, "\""); @@ -629,69 +597,14 @@ strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); strcat(buffer, "';\nend"); - StatusException::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, - SQL_DIALECT_CURRENT, NULL), statusVector); + IAttachment* attachment = context->getAttachment(status); + StatusException::check(status->get()); - inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(count))]); - inSqlDa->version = SQLDA_VERSION1; - inSqlDa->sqln = count; - StatusException::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), - statusVector); + ITransaction* transaction = context->getTransaction(status); + StatusException::check(status->get()); - for (unsigned i = 0; i < count; ++i) - { - XSQLVAR* var = &inSqlDa->sqlvar[i]; + stmt = attachment->prepare(status, transaction, 0, buffer, 3, 0); - switch (var->sqltype & ~1) - { - case SQL_TEXT: - var->sqldata = new char[var->sqllen]; - break; - - case SQL_VARYING: - var->sqldata = new char[var->sqllen]; - var->sqllen += sizeof(short); - break; - - case SQL_SHORT: - var->sqldata = new char[sizeof(short)]; - break; - - case SQL_LONG: - var->sqldata = new char[sizeof(int32)]; - break; - - case SQL_INT64: - var->sqldata = new char[sizeof(int64)]; - break; - - case SQL_FLOAT: - var->sqltype = SQL_DOUBLE; - var->sqllen = sizeof(double); - // fall into - - case SQL_DOUBLE: - var->sqldata = new char[sizeof(double)]; - break; - - case SQL_TYPE_DATE: - var->sqldata = new char[sizeof(ISC_DATE)]; - break; - - //// TODO: SQL_TIMESTAMP, SQL_TYPE_TIME - - case SQL_BLOB: - var->sqldata = new char[sizeof(ISC_QUAD)]; - break; - - default: - assert(false); - } - - var->sqltype |= 1; - var->sqlind = new short(-1); - } - delete [] outSqlDa->sqlvar[0].sqldata; delete [] reinterpret_cast<char*>(outSqlDa); @@ -699,11 +612,12 @@ } bool initialized; - XSQLDA* inSqlDa; - isc_stmt_handle stmtHandle; + IMessageMetadata* triggerMetadata; + IStatement* stmt; FB_UDR_END_TRIGGER +#if 0 //// FIXME: FB_UDR_BEGIN_TRIGGER(replicate_persons) FB_UDR_TRIGGER(replicate_persons)() : initialized(false) Modified: firebird/trunk/src/include/firebird/ExternalEngine.h =================================================================== --- firebird/trunk/src/include/firebird/ExternalEngine.h 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/src/include/firebird/ExternalEngine.h 2013-03-23 21:12:27 UTC (rev 57821) @@ -38,15 +38,6 @@ class ExternalEngine; -class ITriggerMessage : public IVersioned -{ -public: - virtual void FB_CARG set(const unsigned char* blr, unsigned blrLength, unsigned bufferLength, - const char** names, unsigned count) = 0; -}; -#define FB_TRIGGER_MESSAGE_VERSION (FB_VERSIONED_VERSION + 1) - - // Connection to current database in external engine. // Context passed to ExternalEngine has SYSDBA privileges. // Context passed to ExternalFunction, ExternalProcedure and ExternalTrigger @@ -169,7 +160,7 @@ virtual const char* FB_CARG getBody(IStatus* status) const = 0; virtual IMessageMetadata* FB_CARG getInputMetadata(IStatus* status) const = 0; virtual IMessageMetadata* FB_CARG getOutputMetadata(IStatus* status) const = 0; - virtual const IMessageMetadata* FB_CARG getTriggerFields(IStatus* status) const = 0; + virtual IMessageMetadata* FB_CARG getTriggerMetadata(IStatus* status) const = 0; virtual const char* FB_CARG getTriggerTable(IStatus* status) const = 0; virtual ExternalTrigger::Type FB_CARG getTriggerType(IStatus* status) const = 0; }; @@ -203,7 +194,7 @@ const IRoutineMetadata* metadata, IMetadataBuilder* inBuilder, IMetadataBuilder* outBuilder) = 0; virtual ExternalTrigger* FB_CALL makeTrigger(IStatus* status, ExternalContext* context, - const IRoutineMetadata* metadata, ITriggerMessage* triggerMsg) = 0; + const IRoutineMetadata* metadata, IMetadataBuilder* fieldsBuilder) = 0; }; #define FB_EXTERNAL_ENGINE_VERSION (FB_PLUGIN_VERSION + 6) Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-03-23 21:12:27 UTC (rev 57821) @@ -202,7 +202,7 @@ }; #define FB_UDR_EXECUTE_DYNAMIC_TRIGGER \ - typedef void* FieldsMessage; \ + FB_UDR__DYNAMIC_TYPE(FieldsMessage); \ \ FB_UDR__EXECUTE_TRIGGER @@ -219,13 +219,15 @@ { \ try \ { \ - internalExecute(status, context, action, (FieldsMessage*) oldFields, (FieldsMessage*) newFields); \ + internalExecute(status, context, action, \ + (FieldsMessage::Type*) oldFields, (FieldsMessage::Type*) newFields); \ } \ FB_UDR__CATCH \ } \ \ void internalExecute(::Firebird::IStatus* status, ::Firebird::ExternalContext* context, \ - ::Firebird::ExternalTrigger::Action action, FieldsMessage* oldFields, FieldsMessage* newFields) + ::Firebird::ExternalTrigger::Action action, \ + FieldsMessage::Type* oldFields, FieldsMessage::Type* newFields) #define FB_UDR_INITIALIZE \ @@ -631,7 +633,7 @@ } virtual void setup(IStatus* status, ExternalContext* /*context*/, - const IRoutineMetadata* /*metadata*/, ITriggerMessage* fields) + const IRoutineMetadata* /*metadata*/, IMetadataBuilder* fields) { T::FieldsMessage::setup(status, fields); } Modified: firebird/trunk/src/include/firebird/UdrEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrEngine.h 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/src/include/firebird/UdrEngine.h 2013-03-23 21:12:27 UTC (rev 57821) @@ -58,7 +58,7 @@ { public: virtual void setup(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, - ITriggerMessage* fields) = 0; + IMetadataBuilder* fieldsBuilder) = 0; virtual ExternalTrigger* FB_CALL newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) = 0; }; Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-23 21:12:27 UTC (rev 57821) @@ -61,6 +61,7 @@ static MakeUpgradeInfo<> upInfo; +// Create a Format based on a IMessageMetadata. static Format* createFormat(MemoryPool& pool, IMessageMetadata* params) { LocalStatus status; @@ -227,11 +228,22 @@ //// TODO: admin rights clientCharSet = INTL_charset_lookup(tdbb, internalAttachment->att_client_charset)->getName(); + + internalAttachment->att_interface->addRef(); + + externalAttachment = MasterInterfacePtr()->registerAttachment(JProvider::getInstance(), + internalAttachment->att_interface); } ExtEngineManager::ExternalContextImpl::~ExternalContextImpl() { releaseTransaction(); + + if (externalAttachment) + { + externalAttachment->release(); + externalAttachment = NULL; + } } void ExtEngineManager::ExternalContextImpl::releaseTransaction() @@ -242,12 +254,6 @@ externalTransaction = NULL; } - if (externalAttachment) - { - externalAttachment->release(); - externalAttachment = NULL; - } - internalTransaction = NULL; } @@ -259,23 +265,13 @@ return; releaseTransaction(); - fb_assert(!externalAttachment && !externalTransaction); + fb_assert(!externalTransaction); - MasterInterfacePtr master; - - if (internalAttachment) - { - internalAttachment->att_interface->addRef(); - - externalAttachment = master->registerAttachment(JProvider::getInstance(), - internalAttachment->att_interface); - } - if ((internalTransaction = newTransaction)) { internalTransaction->getInterface()->addRef(); - externalTransaction = master->registerTransaction(externalAttachment, + externalTransaction = MasterInterfacePtr()->registerTransaction(externalAttachment, internalTransaction->getInterface()); } } @@ -470,7 +466,7 @@ ExtEngineManager::Trigger::Trigger(thread_db* tdbb, MemoryPool& pool, ExtEngineManager* aExtManager, - ExternalEngine* aEngine, RoutineMetadata* aMetadata, TriggerMessage& fieldsMsg, + ExternalEngine* aEngine, RoutineMetadata* aMetadata, ExternalTrigger* aTrigger, const Jrd::Trigger* aTrg) : extManager(aExtManager), engine(aEngine), @@ -487,121 +483,10 @@ if (relation) { - bool blrPresent = fieldsMsg.blr.hasData(); - Format* relFormat = relation->rel_current_format; - GenericMap<Left<MetaName, USHORT> > fieldsMap; + format = createFormat(pool, metadata->triggerFields); - for (size_t i = 0; i < relation->rel_fields->count(); ++i) - { - jrd_fld* field = (*relation->rel_fields)[i]; - if (!field) - continue; - - fieldsMap.put(field->fld_name, (USHORT) i); - } - - BlrReader reader(fieldsMsg.blr.begin(), fieldsMsg.blr.getCount()); - ULONG offset = 0; - USHORT maxAlignment = 0; - USHORT count; - - if (blrPresent) - { - reader.checkByte(blr_version5); - reader.checkByte(blr_begin); - reader.checkByte(blr_message); - reader.getByte(); // message number: ignore it - count = reader.getWord(); - - if (count != 2 * fieldsMsg.names.getCount()) - { - status_exception::raise( - Arg::Gds(isc_ee_blr_mismatch_names_count) << - Arg::Num(fieldsMsg.names.getCount()) << - Arg::Num(count)); - } - } - else - count = fieldsMap.count() * 2; - - format.reset(Format::newFormat(pool, count)); - - for (unsigned i = 0; i < count / 2; ++i) - { - dsc* desc = &format->fmt_desc[i * 2]; - - if (blrPresent) - { - USHORT pos; - - if (!fieldsMap.get(fieldsMsg.names[i], pos)) - { - status_exception::raise( - Arg::Gds(isc_ee_blr_mismatch_name_not_found) << - Arg::Str(fieldsMsg.names[i])); - } - - fieldsPos.add(pos); - PAR_datatype(reader, desc); - } - else - { - fieldsPos.add(i); - *desc = relFormat->fmt_desc[i]; - } - - USHORT align = type_alignments[desc->dsc_dtype]; - maxAlignment = MAX(maxAlignment, align); - - offset = FB_ALIGN(offset, align); - desc->dsc_address = (UCHAR*) (IPTR) offset; - offset += desc->dsc_length; - - const dsc* fieldDesc = &relFormat->fmt_desc[i]; - - if (desc->isText() && desc->getCharSet() == CS_NONE) - desc->setTextType(fieldDesc->getTextType()); - desc->setNullable(fieldDesc->isNullable()); - - ++desc; - - if (blrPresent) - { - PAR_datatype(reader, desc); - - if (!DSC_EQUIV(desc, &shortDesc, false)) - { - status_exception::raise( - Arg::Gds(isc_ee_blr_mismatch_null) << - Arg::Num(i * 2 + 1)); - } - } - else - *desc = shortDesc; - - align = type_alignments[desc->dsc_dtype]; - maxAlignment = MAX(maxAlignment, align); - - offset = FB_ALIGN(offset, align); - desc->dsc_address = (UCHAR*) (IPTR) offset; - offset += desc->dsc_length; - } - - if (blrPresent) - { - reader.checkByte(blr_end); - reader.checkByte(blr_eoc); - - if (offset != fieldsMsg.bufferLength) - { - status_exception::raise( - Arg::Gds(isc_ee_blr_mismatch_length) << - Arg::Num(fieldsMsg.bufferLength) << - Arg::Num(offset)); - } - } - - format->fmt_length = FB_ALIGN(offset, maxAlignment); + for (unsigned i = 0; i < format->fmt_count / 2; ++i) + fieldsPos.add(i); } } @@ -836,12 +721,12 @@ LocalStatus status; RefPtr<IMetadataBuilder> inBuilder(metadata->inputParameters->getBuilder(&status)); + status.check(); inBuilder->release(); - status.check(); RefPtr<IMetadataBuilder> outBuilder(metadata->outputParameters->getBuilder(&status)); + status.check(); outBuilder->release(); - status.check(); ExternalFunction* externalFunction; @@ -937,12 +822,12 @@ LocalStatus status; RefPtr<IMetadataBuilder> inBuilder(metadata->inputParameters->getBuilder(&status)); + status.check(); inBuilder->release(); - status.check(); RefPtr<IMetadataBuilder> outBuilder(metadata->outputParameters->getBuilder(&status)); + status.check(); outBuilder->release(); - status.check(); ExternalProcedure* externalProcedure; @@ -984,7 +869,7 @@ } -ExtEngineManager::Trigger* ExtEngineManager::makeTrigger(thread_db* tdbb, const Jrd::Trigger* trg, +void ExtEngineManager::makeTrigger(thread_db* tdbb, Jrd::Trigger* trg, const MetaName& engine, const string& entryPoint, const string& body, ExternalTrigger::Type type) { @@ -1031,10 +916,20 @@ item.length = sqlLen; item.scale = sqlScale; item.nullable = !field->fld_not_null; + item.finished = true; } } - TriggerMessage fieldsMsg(pool); + LocalStatus status; + + RefPtr<IMetadataBuilder> fieldsBuilder(relation ? + metadata->triggerFields->getBuilder(&status) : NULL); + if (relation) + { + status.check(); + fieldsBuilder->release(); + } + ExternalTrigger* externalTrigger; { // scope @@ -1042,7 +937,7 @@ LocalStatus status; externalTrigger = attInfo->engine->makeTrigger(&status, attInfo->context, metadata, - &fieldsMsg); + fieldsBuilder); status.check(); if (!externalTrigger) @@ -1050,12 +945,18 @@ status_exception::raise( Arg::Gds(isc_eem_trig_not_returned) << trg->name << engine); } + + if (relation) + { + metadata->triggerFields = fieldsBuilder->getMetadata(&status); + status.check(); + } } try { - return FB_NEW(getPool()) Trigger(tdbb, pool, this, attInfo->engine, metadata.release(), - fieldsMsg, externalTrigger, trg); + trg->extTrigger = FB_NEW(getPool()) Trigger(tdbb, pool, this, attInfo->engine, + metadata.release(), externalTrigger, trg); } catch (...) { Modified: firebird/trunk/src/jrd/ExtEngineManager.h =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.h 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/src/jrd/ExtEngineManager.h 2013-03-23 21:12:27 UTC (rev 57821) @@ -52,35 +52,6 @@ struct record_param; -class TriggerMessage : - public Firebird::VersionedIface<Firebird::ITriggerMessage, FB_TRIGGER_MESSAGE_VERSION>, - public Firebird::PermanentStorage -{ -public: - explicit TriggerMessage(MemoryPool& pool) - : PermanentStorage(pool), - names(pool), - blr(pool), - bufferLength(0) - { - } - - virtual void FB_CARG set(const unsigned char* aBlr, unsigned aBlrLength, unsigned aBufferLength, - const char** aNames, unsigned aCount) - { - blr.assign(aBlr, aBlrLength); - bufferLength = aBufferLength; - - for (unsigned i = 0; i < aCount; ++i) - names.add(aNames[i]); - } - -public: - Firebird::ObjectsArray<Firebird::string> names; - Firebird::Array<UCHAR> blr; - unsigned bufferLength; -}; - class ExtEngineManager : public Firebird::PermanentStorage { private: @@ -136,7 +107,7 @@ return getMetadata(outputParameters); } - virtual Firebird::IMessageMetadata* FB_CARG getTriggerFields( + virtual Firebird::IMessageMetadata* FB_CARG getTriggerMetadata( Firebird::IStatus* /*status*/) const { return getMetadata(triggerFields); @@ -304,7 +275,7 @@ { public: Trigger(thread_db* tdbb, MemoryPool& pool, ExtEngineManager* aExtManager, - Firebird::ExternalEngine* aEngine, RoutineMetadata* aMetadata, TriggerMessage& fieldsMsg, + Firebird::ExternalEngine* aEngine, RoutineMetadata* aMetadata, Firebird::ExternalTrigger* aTrigger, const Jrd::Trigger* aTrg); ~Trigger(); @@ -346,7 +317,7 @@ void makeProcedure(thread_db* tdbb, jrd_prc* prc, const Firebird::MetaName& engine, const Firebird::string& entryPoint, const Firebird::string& body); - Trigger* makeTrigger(thread_db* tdbb, const Jrd::Trigger* trg, + void makeTrigger(thread_db* tdbb, Jrd::Trigger* trg, const Firebird::MetaName& engine, const Firebird::string& entryPoint, const Firebird::string& body, Firebird::ExternalTrigger::Type type); Modified: firebird/trunk/src/jrd/jrd.cpp =================================================================== --- firebird/trunk/src/jrd/jrd.cpp 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/src/jrd/jrd.cpp 2013-03-23 21:12:27 UTC (rev 57821) @@ -654,7 +654,7 @@ if (extTrigger) return; - extTrigger = dbb->dbb_extManager.makeTrigger(tdbb, this, engine, entryPoint, extBody.c_str(), + dbb->dbb_extManager.makeTrigger(tdbb, this, engine, entryPoint, extBody.c_str(), (relation ? (type & 1 ? ExternalTrigger::TYPE_BEFORE : ExternalTrigger::TYPE_AFTER) : Firebird::ExternalTrigger::TYPE_DATABASE)); Modified: firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp =================================================================== --- firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-03-23 20:41:17 UTC (rev 57820) +++ firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2013-03-23 21:12:27 UTC (rev 57821) @@ -157,7 +157,7 @@ virtual ExternalProcedure* FB_CALL makeProcedure(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata, IMetadataBuilder* inBuilder, IMetadataBuilder* outBuilder); virtual ExternalTrigger* FB_CALL makeTrigger(IStatus* status, ExternalContext* context, - const IRoutineMetadata* metadata, ITriggerMessage* fieldsMsg); + const IRoutineMetadata* metadata, IMetadataBuilder* fieldsBuilder); public: virtual void FB_CALL dispose(); @@ -355,7 +355,7 @@ { public: SharedTrigger(IStatus* status, Engine* aEngine, ExternalContext* context, - const IRoutineMetadata* aMetadata, ITriggerMessage* fieldsMsg) + const IRoutineMetadata* aMetadata, IMetadataBuilder* fieldsBuilder) : engine(aEngine), metadata(aMetadata), moduleName(*getDefaultMemoryPool()), @@ -365,7 +365,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); TriggerNode* node = engine->findNode<TriggerNode>(registeredTriggers, moduleName, entryPoint); - node->factory->setup(status, context, metadata, fieldsMsg); + node->factory->setup(status, context, metadata, fieldsBuilder); } virtual ~SharedTrigger() @@ -715,11 +715,11 @@ ExternalTrigger* FB_CALL Engine::makeTrigger(IStatus* status, ExternalContext* context, - const IRoutineMetadata* metadata, ITriggerMessage* fieldsMsg) + const IRoutineMetadata* metadata, IMetadataBuilder* fieldsBuilder) { try { - return new SharedTrigger(status, this, context, metadata, fieldsMsg); + return new SharedTrigger(status, this, context, metadata, fieldsBuilder); } catch (const StatusException& e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-24 01:26:08
|
Revision: 57822 http://sourceforge.net/p/firebird/code/57822 Author: firebirds Date: 2013-03-24 01:26:05 +0000 (Sun, 24 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-23 21:12:27 UTC (rev 57821) +++ firebird/trunk/ChangeLog 2013-03-24 01:26:05 UTC (rev 57822) @@ -1,3 +1,26 @@ + 2013-03-23 21:12 asfernandes + M examples/udr/UdrCppExample.cpp + M src/include/firebird/ExternalEngine.h + M src/include/firebird/UdrCppEngine.h + M src/include/firebird/UdrEngine.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/jrd/jrd.cpp + M src/plugins/udr_engine/UdrEngine.cpp +Work in progress fixing external triggers. + + 2013-03-23 20:41 asfernandes + M src/dsql/DdlNodes.epp +Fixed CORE-4067 - Problem with "CREATE DATABASE ... COLLATION ..." and 1 dialect. + + 2013-03-23 13:58 hvlad + M src/jrd/cch.cpp + M src/jrd/cch.h +Cleanup: +- removed never used bcb_checkpoint and BDB_checkpoint +- removed conditional compilation for CACHE_WRITER as it is already ruled by flag BCB_cache_writer at almost all places +- added necessary checks for BCB_cache_writer when it was missed + 2013-03-22 14:29 alexpeshkoff M src/remote/client/interface.cpp M src/yvalve/YObjects.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-23 21:12:27 UTC (rev 57821) +++ firebird/trunk/src/jrd/build_no.h 2013-03-24 01:26:05 UTC (rev 57822) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30284 + FORMAL BUILD NUMBER:30287 */ -#define PRODUCT_VER_STRING "3.0.0.30284" -#define FILE_VER_STRING "WI-T3.0.0.30284" -#define LICENSE_VER_STRING "WI-T3.0.0.30284" -#define FILE_VER_NUMBER 3, 0, 0, 30284 +#define PRODUCT_VER_STRING "3.0.0.30287" +#define FILE_VER_STRING "WI-T3.0.0.30287" +#define LICENSE_VER_STRING "WI-T3.0.0.30287" +#define FILE_VER_NUMBER 3, 0, 0, 30287 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30284" +#define FB_BUILD_NO "30287" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-23 21:12:27 UTC (rev 57821) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-24 01:26:05 UTC (rev 57822) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30284 +BuildNum=30287 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-25 02:18:28
|
Revision: 57831 http://sourceforge.net/p/firebird/code/57831 Author: firebirds Date: 2013-03-25 02:18:25 +0000 (Mon, 25 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-25 01:25:01 UTC (rev 57830) +++ firebird/trunk/ChangeLog 2013-03-25 02:18:25 UTC (rev 57831) @@ -1,3 +1,24 @@ + 2013-03-24 16:16 dimitr + M src/jrd/jrd.cpp +The minimal patch for CORE-1604 (Error at database creation by user with non-ascii name) and CORE-3243 (CURRENT_USER and MON$USER don't work properly) that seems to work for the trusted authentication, but [at least] the legacy auth module has to be reviewed as it seems to deal with the user name "as is", without checking whether it arrived in UTF8 or not. + + 2013-03-24 15:55 asfernandes + M src/dsql/ExprNodes.cpp +Fixed problem reported in fb-devel: FB3 vs FB2.5: Different result for SUBSTRING('test' FROM 1 FOR NULL). + + 2013-03-24 07:14 dimitr + M extern/icu/source/allinone/firebird2intl.props +Enabled multi-threaded compilation for ICU. + + 2013-03-24 06:38 dimitr + M src/dsql/DsqlCompilerScratch.cpp + M src/remote/client/interface.cpp +Misc. + + 2013-03-24 06:19 dimitr + M src/common/gdsassert.h +A more clever implementation of the assertion macros. It suppresses С4390 warnings and pleases the /W4 warning level at the same time, without any need for the new macros. + 2013-03-23 21:12 asfernandes M examples/udr/UdrCppExample.cpp M src/include/firebird/ExternalEngine.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-25 01:25:01 UTC (rev 57830) +++ firebird/trunk/src/jrd/build_no.h 2013-03-25 02:18:25 UTC (rev 57831) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30287 + FORMAL BUILD NUMBER:30292 */ -#define PRODUCT_VER_STRING "3.0.0.30287" -#define FILE_VER_STRING "WI-T3.0.0.30287" -#define LICENSE_VER_STRING "WI-T3.0.0.30287" -#define FILE_VER_NUMBER 3, 0, 0, 30287 +#define PRODUCT_VER_STRING "3.0.0.30292" +#define FILE_VER_STRING "WI-T3.0.0.30292" +#define LICENSE_VER_STRING "WI-T3.0.0.30292" +#define FILE_VER_NUMBER 3, 0, 0, 30292 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30287" +#define FB_BUILD_NO "30292" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-25 01:25:01 UTC (rev 57830) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-25 02:18:25 UTC (rev 57831) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30287 +BuildNum=30292 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2013-03-25 11:07:14
|
Revision: 57835 http://sourceforge.net/p/firebird/code/57835 Author: mapopa Date: 2013-03-25 11:07:11 +0000 (Mon, 25 Mar 2013) Log Message: ----------- recent version of autoconf/automake/libtool complain about the firebird scripts aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in' Added Paths: ----------- firebird/trunk/configure.ac Removed Paths: ------------- firebird/trunk/configure.in Added: firebird/trunk/configure.ac =================================================================== --- firebird/trunk/configure.ac (rev 0) +++ firebird/trunk/configure.ac 2013-03-25 11:07:11 UTC (rev 57835) @@ -0,0 +1,1328 @@ +dnl ############################# INITIALISATION ############################### + +AC_PREREQ(2.56) +AC_INIT(src) + +AC_CONFIG_AUX_DIR(builds/make.new/config) +AC_CACHE_VAL(ac_cv_prog_make_set, [AC_PROG_MAKE_SET]) +AC_PREFIX_DEFAULT(/usr/local/firebird) + +m4_ifdef([AC_CONFIG_MACRO_DIR], + [], + [m4_define([AC_CONFIG_MACRO_DIR], [])]) +AC_CONFIG_MACRO_DIR(m4) + +AC_CONFIG_HEADER(src/include/gen/autoconfig.auto:builds/make.new/config/config.h.in) + +dnl XE_APPEND(value, varname) +define([XE_APPEND],[[$2]="$[$2] [$1]"]) + +dnl XE_PREPEND(value, varname) +define([XE_PREPEND],[[$2]="[$1] $[$2]"]) + +dnl XE_CONF_DIR(param, help, variable, default) +define([XE_CONF_DIR],[ +AC_ARG_WITH([$1], + [AC_HELP_STRING([--with-$1], [$2])], + [[$3]="$withval" + AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])], + [[$3]="[`if test ""x$prefix"" = ""xNONE"" ; then echo ""$ac_default_prefix""; else echo ""$prefix""; fi`][$4]" + AC_DEFINE_UNQUOTED([$3], [""], [$2])] +) +AC_SUBST([$3]) +]) + +define([XE_CONF_FILE],[ +AC_ARG_WITH([$1], + [AC_HELP_STRING([--with-$1], [$2])], + [[$3]="$withval" + AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])], + [[$3]="$4" + AC_DEFINE_UNQUOTED([$3], ["$4"], [$2])] +) +AC_SUBST([$3]) +]) + +define([XE_SAVE_ENV], [ +pre_save_restore_cflags=$CFLAGS +pre_save_restore_cxxflags=$CXXFLAGS +pre_save_restore_libs=$LIBS +]) + +define([XE_RESTORE_ENV], [ +CFLAGS=$pre_save_restore_cflags +CXXFLAGS=$pre_save_restore_cxxflags +LIBS=$pre_save_restore_libs +]) + +sinclude(acx_pthread.m4) +sinclude(binreloc.m4) + +dnl ############################# ADD TESTS BELOW ############################## + +AC_CANONICAL_SYSTEM +CPU_TYPE=$target_cpu +AC_SUBST(CPU_TYPE) + + +dnl EKU: set appropiate defaults for each platform +dnl EDITLINE_FLG : support fancy command line editing in isql +dnl SHRLIB_EXT : suffix of shared library files + +RAW_DEVICES_FLG=Y +EXPORT_SYMBOLS_STYLE=linux +INSTALL_PREFIX="" + +dnl Use /usr/lib for library links on most platforms except some 64-bit ones +libdir=/usr/lib + +dnl Should system editline be used +STD_EDITLINE=false + +dnl Test for special ar options? +AR_OPT_CHECK=false + +case "$target" in + x*64-*-darwin*) + MAKEFILE_PREFIX=darwin_x86_64 + MAKEFILE_POSTFIX=darwin + PLATFORM=DARWIN + INSTALL_PREFIX=darwin + AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN]) + XE_APPEND(-framework CoreFoundation,LIBS) + EDITLINE_FLG=Y + SHRLIB_EXT=dylib + CPU_TYPE=x86_64 + EXPORT_SYMBOLS_STYLE=darwin + ;; + + i*86-*-darwin*) + MAKEFILE_PREFIX=darwin_i386 + MAKEFILE_POSTFIX=darwin + PLATFORM=DARWIN + INSTALL_PREFIX=darwin + AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN]) + XE_APPEND(-framework CoreFoundation,LIBS) + EDITLINE_FLG=Y + SHRLIB_EXT=dylib + CPU_TYPE=i386 + EXPORT_SYMBOLS_STYLE=darwin + ;; + + powerpc-*-darwin*) + MAKEFILE_PREFIX=darwin_powerpc +dnl MAKEFILE_PREFIX=darwin_ppc64 + MAKEFILE_POSTFIX=darwin + PLATFORM=DARWIN + INSTALL_PREFIX=darwin + AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN]) + XE_APPEND(-framework CoreFoundation,LIBS) + EDITLINE_FLG=Y + SHRLIB_EXT=dylib +dnl CPU_TYPE=ppc64 + EXPORT_SYMBOLS_STYLE=darwin + ;; + + powerpc-*-aix*) + dnl ibm xlC has many invocations, like xlC, xlc++, or xlc_r7 + comp=`echo "$CXX" | cut -c1-3 | dd conv=lcase 2>/dev/null` + if test "$comp" = "xlc"; then + AR_OPT_CHECK=true + TLS_OPTIONS="-qtls=default" + MAKEFILE_PREFIX=aix_powerpc_xlc + else + MAKEFILE_PREFIX=aix_powerpc + fi + MAKEFILE_POSTFIX=aix + PLATFORM=AIX + INSTALL_PREFIX=aix + AC_DEFINE(AIX, 1, [Define this if OS is AIX]) + EDITLINE_FLG=N + SHRLIB_EXT=so + EXPORT_SYMBOLS_STYLE=aix + ;; + + amd64-*-freebsd* | x86_64*-*-freebsd* | x86_64*-*-k*bsd*-gnu) + MAKEFILE_PREFIX=freebsd_amd64 + case "$target" in + x86_64*-*-k*bsd-gnu) # Debian/kFreeBSD + PLATFORM=GENTOOFREEBSD + INSTALL_PREFIX=linux + ;; + *) + PLATFORM=FREEBSD + INSTALL_PREFIX=freebsd + ;; + esac + AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD]) + AC_DEFINE(AMD64, 1, [Define this if CPU is amd64]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + *-gentoo-freebsd*) + MAKEFILE_PREFIX=freebsd + PLATFORM=GENTOOFREEBSD + AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + *-*-freebsd* | *-*-k*bsd*-gnu) + MAKEFILE_PREFIX=freebsd + case "$target" in + *-*-k*bsd-gnu) # Debian/kFreeBSD + PLATFORM=GENTOOFREEBSD + INSTALL_PREFIX=linux + ;; + *) + PLATFORM=FREEBSD + ;; + esac + AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + mips-*-linux*) + MAKEFILE_PREFIX=linux_mips + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX) + EDITLINE_FLG=Y + SHRLIB_EXT=so + PTHREAD_CFLAGS=-pthread + PTHREAD_LIBS=-lpthread + ;; + + mipsel-*-linux*) + MAKEFILE_PREFIX=linux_mipsel + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX) + EDITLINE_FLG=Y + SHRLIB_EXT=so + PTHREAD_CFLAGS=-pthread + PTHREAD_LIBS=-lpthread + ;; + + x86_64*-*-linux* | x86_64*-*-gnu*) + MAKEFILE_PREFIX=linux_amd64 + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + libdir=/usr/lib64 + CPU_TYPE=amd64 + ;; + + ia64*-*-linux*) + MAKEFILE_PREFIX=linux_ia64 + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + libdir=/usr/lib + CPU_TYPE=ia64 + ;; + + arm*-*-linux*) + MAKEFILE_PREFIX=linux_arm + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + STD_EDITLINE=true + ;; + + sparc*-*-linux* | sparc*-*-gnu* | sparc*-*-k*bsd*-gnu) + MAKEFILE_PREFIX=linux_sparc32 + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + powerpc*-*-linux*) + MAKEFILE_PREFIX=linux_powerpc + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + i*86*-*-linux*) + MAKEFILE_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + s390*-*-linux*) + MAKEFILE_PREFIX=linux_s390x + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + sh*eb-*-linux*) + MAKEFILE_PREFIX=linux_generic + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + AC_DEFINE(SHEB, 1, [Architecture is big-edian sh4]) + LOCK_MANAGER_FLG=Y + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + + sh*-*-linux*) + MAKEFILE_PREFIX=linux_generic + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + AC_DEFINE(SH, 1, [Architecture is little-endian sh4]) + LOCK_MANAGER_FLG=Y + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + hppa*-*-linux*) + MAKEFILE_PREFIX=linux_generic + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + AC_DEFINE(HPPA, 1, [Define this if CPU is HPPA]) + LOCK_MANAGER_FLG=Y + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + alpha*-*-linux*) + MAKEFILE_PREFIX=linux_generic + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + AC_DEFINE(ALPHA, 1, [Define this if CPU is Alpha]) + LOCK_MANAGER_FLG=Y + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + *-*-linux* | *-*-gnu*) + MAKEFILE_PREFIX=linux_generic + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + *-*-netbsd*) + MAKEFILE_PREFIX=netbsd + PLATFORM=NETBSD + AC_DEFINE(NETBSD, 1, [Define this if OS is NetBSD]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + ia64-*-hpux*) + comp=`echo "$CXX" | cut -c1-3` + case $comp in + aCC) MAKEFILE_PREFIX=hpux_aCC ; + PTHREAD_CFLAGS=-mt + ;; + *) MAKEFILE_PREFIX=hpux_ia64 ; + ;; + esac + INSTALL_PREFIX=hpux + PLATFORM=HPUX + AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + libdir=/usr/lib/pa20_64 + EXPORT_SYMBOLS_STYLE=hpux + ;; + + hppa*-*-hpux*) + comp=`echo "$CXX" | cut -c1-3` + case $comp in + aCC) MAKEFILE_PREFIX=hpux_aCC ; + PTHREAD_CFLAGS=-mt + ;; + *) MAKEFILE_PREFIX=hpux ; + ;; + esac + INSTALL_PREFIX=hpux + PLATFORM=HPUX + AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX]) + EDITLINE_FLG=Y + SHRLIB_EXT=sl + libdir=/usr/lib/pa20_64 + EXPORT_SYMBOLS_STYLE=hpux + ;; + + i386-pc-solaris*) + dnl detect native compiler, Sun Studio Pro + comp=`echo "$CXX" | cut -c1-2` + case $comp in + CC) MAKEFILE_PREFIX=solaris + PTHREAD_CFLAGS=-mt + PTHREAD_LIBS=-lpthread + ;; + *) MAKEFILE_PREFIX=solx86gcc ; + PTHREAD_CFLAGS=-pthreads ;; + esac + dnl if this is amd64 system, we should install our libraries in /usr/lib/amd64 + isa=`isainfo -k` + if test "$isa" = "amd64"; then + libdir=/usr/lib/amd64 + fi + CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas_sax.il"; + INSTALL_PREFIX=solaris + PLATFORM=solx86 + AC_DEFINE(solx86, 1, [Define this if OS is Solarix x86]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + sparc-sun-solaris*) + dnl detect native compiler, Sun Studio Pro + comp=`echo "$CXX" | cut -c1-3` + case $comp in + CC) MAKEFILE_PREFIX=solaris ; + dnl inline assembly for atomic operations on Solaris 9 w SSPRO + PTHREAD_CFLAGS=-mt + PTHREAD_LIBS=-lpthread + if test "${target#*solaris}" = "2.9"; then + ATOMIC_OPTIONS=`pwd`"/src/common/classes/fb_atomic.il"; + fi + ;; + *) MAKEFILE_PREFIX=solaris-64gcc ; + esac + CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas.il"; + INSTALL_PREFIX=solaris + PLATFORM=SOLARIS + AC_DEFINE(SOLARIS, 1, [Define this if OS is Solaris Sparc]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + + *-*-mingw*) + MAKEFILE_PREFIX=mingw + PLATFORM=win32 + AC_DEFINE(WIN_NT, 1, [Define this if OS is Windows NT]) + AC_DEFINE(HAVE_MULTI_THREAD, 1, [Define this if multi-threading should be supported]) + EDITLINE_FLG=N + RAW_DEVICES_FLG=N + SHRLIB_EXT=dll + ;; + + *) + AC_MSG_ERROR(unsupported platform ${target}) + ;; +esac + +if test "$INSTALL_PREFIX" = ""; then + INSTALL_PREFIX=$MAKEFILE_PREFIX +fi + +AM_BINRELOC + +AC_SUBST(MAKEFILE_PREFIX) +AC_SUBST(AR_OPTIONS) +AC_SUBST(PLATFORM) +AC_SUBST(SHRLIB_EXT) +AC_DEFINE(CASE_SENSITIVITY, true, [Define this if paths are case sensitive]) + + +dnl Some controllable options + +AC_ARG_ENABLE(developer, + [ --enable-developer use developer mode rules (default=no)], + [case "$enableval" in + yes) DEVEL_FLG=Y;; + no) DEVEL_FLG=N;; + *) AC_MSG_ERROR(bad value '${enableval}' for --enable-developer);; + esac]) +AC_SUBST(DEVEL_FLG) + +CROSS= +IS_CROSS=N +AC_ARG_WITH(cross-build, + [ --with-cross-build build for platform different from current one], + [CROSS=${withval} + IS_CROSS=Y]) +AC_SUBST(IS_CROSS) + +dnl Avoid dumb '-g -O2' autoconf's default +dnl Debugging information and optimization flags should be set in prefix.$platform file +dnl Should be replaced with AC_PROG_GCC_DEFAULT_FLAGS() when available +if test "$CFLAGS" = "-g -O2" -o "$CFLAGS" = "-g" -o "$CFLAGS" = "-O2"; then + CFLAGS= +fi + +dnl Find out how to use threads on this platform +XE_SAVE_ENV() +ACX_PTHREAD([ + AC_DEFINE(HAVE_MULTI_THREAD, 1, + [Define this if multi-threading should be supported])]) +XE_RESTORE_ENV() + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) + +AC_ARG_ENABLE(raw-devices, + [ --enable-raw-devices enable databases on raw devices (default on POSIX)], + [case "$enableval" in + yes) RAW_DEVICES_FLG=Y;; + no) RAW_DEVICES_FLG=N;; + *) AC_MSG_ERROR(bad value '${enableval}' for --enable-raw-devices);; + esac]) +if test "$RAW_DEVICES_FLG" = "Y"; then + AC_DEFINE(SUPPORT_RAW_DEVICES, 1, + [Define this if databases on raw devices should be supported]) +fi + +AC_ARG_ENABLE(rpath, + [ --enable-rpath enable linking with RPATH (default)], + [], + [enable_rpath=yes]) +if test "x$enable_rpath" != "xno" || test "x$enable_rpath" = "x" ; then + AC_SUBST(USE_RPATH, 1) +fi + +AC_ARG_WITH(editline, + [ --with-editline support fancy command line editing], + [case "$withval" in + yes) EDITLINE_FLG=Y;; + no) EDITLINE_FLG=N;; + *) AC_MSG_ERROR(bad value '${withval}' for --with-editline);; + esac]) +AC_ARG_WITH(system-editline, + [ --with-system-editline use OS supplied libeditline], + [case "$withval" in + yes) STD_EDITLINE=true;; + no) STD_EDITLINE=false;; + *) AC_MSG_ERROR(bad value '${withval}' for --with-system-editline);; + esac]) + +# not need editline in default libs, but need to test for its presence +READLINE=edit # builtin default +XE_SAVE_ENV() +if test "$STD_EDITLINE" = "true"; then + AC_CHECK_LIB(edit, readline, [READLINE=edit EDITLINE_FLG=Y], + AC_CHECK_LIB(editline, readline, [READLINE=editline EDITLINE_FLG=Y], + AC_CHECK_LIB(readline, readline, [READLINE=readline EDITLINE_FLG=Y], + [STD_EDITLINE=false + if test "$EDITLINE_FLG" = "Y"; then + AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])]))) + fi +fi +XE_RESTORE_ENV() + +AC_SUBST(READLINE) +AC_SUBST(STD_EDITLINE) +AC_SUBST(EDITLINE_FLG) + +FB_SERVICE_NAME=gds_db +FB_SERVICE_PORT=3050 +FB_IPC_NAME=FirebirdIPI +AC_ARG_WITH(service-name, + [ --with-service-name specify inet service name (default=gds_db)], + [FB_SERVICE_NAME=${withval}]) +AC_ARG_WITH(service-port, + [ --with-service-port specify inet service port (default=3050)], + [FB_SERVICE_PORT=${withval}]) +AC_ARG_WITH(ipc-name, + [ --with-ipc-name specify local IPC name (default=FirebirdIPI)], + [FB_IPC_NAME=${withval}]) +AC_DEFINE_UNQUOTED(FB_SERVICE_NAME,"$FB_SERVICE_NAME", [Inet service name]) +AC_DEFINE_UNQUOTED(FB_SERVICE_PORT,$FB_SERVICE_PORT, [Inet service port]) +AC_DEFINE_UNQUOTED(FB_IPC_NAME,"$FB_IPC_NAME", [Local IPC name]) +AC_SUBST(FB_SERVICE_NAME) +AC_SUBST(FB_SERVICE_PORT) +AC_SUBST(FB_IPC_NAME) + +dnl Use non-standard directory placement control +dnl Sorry - GNU standard is not Ok for us +XE_CONF_DIR(fbbin, [executables DIR (PREFIX/bin)], FB_BINDIR, /bin) +XE_CONF_DIR(fbsbin, [system admin executables DIR (PREFIX/bin)], FB_SBINDIR, /bin) +XE_CONF_DIR(fbconf, [config files DIR (PREFIX)], FB_CONFDIR) +XE_CONF_DIR(fblib, [object code libraries DIR (PREFIX/lib)], FB_LIBDIR, /lib) +XE_CONF_DIR(fbinclude, [C/C++ header files DIR (PREFIX/include)], FB_INCDIR, /include) +XE_CONF_DIR(fbdoc, [documentation root DIR (PREFIX/doc)], FB_DOCDIR, /doc) +XE_CONF_DIR(fbudf, [UDF DIR (PREFIX/UDF)], FB_UDFDIR, /UDF) +XE_CONF_DIR(fbsample, [examples DIR (PREFIX/examples)], FB_SAMPLEDIR, /examples) +XE_CONF_DIR(fbsample-db, [examples database DIR (PREFIX/examples/empbuild)], FB_SAMPLEDBDIR, /examples/empbuild) +XE_CONF_DIR(fbhelp, [QLI help DIR (PREFIX/help)], FB_HELPDIR, /help) +XE_CONF_DIR(fbintl, [international DIR (PREFIX/intl)], FB_INTLDIR, /intl) +XE_CONF_DIR(fbmisc, [misc DIR (PREFIX/misc)], FB_MISCDIR, /misc) +XE_CONF_DIR(fbsecure-db, [security database DIR (PREFIX)], FB_SECDBDIR) +XE_CONF_DIR(fbmsg, [message files DIR (PREFIX)], FB_MSGDIR) +XE_CONF_DIR(fblog, [log files DIR (PREFIX)], FB_LOGDIR) +XE_CONF_FILE(fblogfilename, [log file name within log dir (firebird.log)], FB_LOGFILENAME, firebird.log) +XE_CONF_DIR(fbglock, [guardian lock DIR (PREFIX)], FB_GUARDDIR) +XE_CONF_DIR(fbplugins, [plugins DIR (PREFIX)], FB_PLUGDIR, /plugins) + +dnl gpre built-in language support (C/C++ are mandatory) +GPRE_LANGUAGE_MODULES="" +AC_ARG_WITH(gpre-ada, + [ --with-gpre-ada support ADA in gpre (default=no)], + [case "$withval" in + yes) XE_APPEND(ada.cpp,GPRE_LANGUAGE_MODULES) + AC_DEFINE(GPRE_ADA, 1, [Define this if GPRE should support ADA]);; + no) ;; + *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-ada);; + esac]) +AC_ARG_WITH(gpre-cobol, + [ --with-gpre-cobol support COBOL in gpre (default=no)], + [case "$withval" in + yes) XE_APPEND(cob.cpp rmc.cpp,GPRE_LANGUAGE_MODULES) + AC_DEFINE(GPRE_COBOL, 1, [Define this if GPRE should support COBOL]);; + no) ;; + *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-cobol);; + esac]) +AC_ARG_WITH(gpre-fortran, + [ --with-gpre-fortran support FORTRAN in gpre (default=no)], + [case "$withval" in + yes) XE_APPEND(ftn.cpp,GPRE_LANGUAGE_MODULES) + AC_DEFINE(GPRE_FORTRAN, 1, [Define this if GPRE should support FORTRAN]);; + no) ;; + *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-fortran);; + esac]) +AC_ARG_WITH(gpre-pascal, + [ --with-gpre-pascal support PASCAL in gpre (default=no)], + [case "$withval" in + yes) XE_APPEND(pas.cpp,GPRE_LANGUAGE_MODULES) + AC_DEFINE(GPRE_PASCAL, 1, [Define this if GPRE should support PASCAL]);; + no) ;; + *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-pascal);; + esac]) +AC_SUBST(GPRE_LANGUAGE_MODULES) + + + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CC_STDC +AC_PROG_GCC_TRADITIONAL +AC_PROG_CXX +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_LIBTOOL_DLOPEN +AC_LIBTOOL_WIN32_DLL +AC_PROG_MAKE_SET +AC_PROG_LIBTOOL + +dnl Check for system header files +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS(assert.h) +AC_CHECK_HEADERS(ctype.h) +AC_CHECK_HEADERS(errno.h) +AC_CHECK_HEADERS(fcntl.h) +AC_CHECK_HEADERS(grp.h) +AC_CHECK_HEADERS(pwd.h) +AC_CHECK_HEADERS(libio.h) +AC_CHECK_HEADERS(locale.h) +AC_CHECK_HEADERS(math.h) +AC_CHECK_HEADERS(pthread.h) +AC_CHECK_HEADERS(sys/types.h) +AC_CHECK_HEADERS(sys/stat.h) +AC_CHECK_HEADERS(sys/uio.h) +AC_HEADER_SYS_WAIT +AC_HEADER_TIME +AC_CHECK_HEADERS(sys/time.h) +AC_CHECK_HEADERS(sys/timeb.h) +AC_CHECK_HEADERS(sys/param.h) +AC_CHECK_HEADERS(sys/mount.h) +AC_CHECK_HEADERS(sys/ioctl.h) +AC_CHECK_HEADERS(sys/select.h) +AC_CHECK_HEADERS(limits.h) +AC_CHECK_HEADERS(setjmp.h) +AC_CHECK_HEADERS(stdarg.h) +AC_CHECK_HEADERS(stdlib.h) +AC_CHECK_HEADERS(string.h) +AC_CHECK_HEADERS(signal.h sys/signal.h sys/siginfo.h) +AC_CHECK_HEADERS(termio.h termios.h) +if test "$EDITLINE_FLG" = "Y"; then + AC_HEADER_DIRENT + AC_DEFINE(HAVE_EDITLINE_H, 1, [Define this if editline is in use]) +fi +AC_CHECK_HEADERS(unistd.h) +AC_CHECK_HEADERS(varargs.h) +AC_CHECK_HEADERS(crypt.h) +AC_CHECK_HEADERS(netinet/in.h rpc/rpc.h netconfig.h) +AC_CHECK_HEADERS(rpc/xdr.h,,,[#include <rpc/rpc.h>]) +AC_CHECK_HEADERS(aio.h) +AC_CHECK_HEADERS(mntent.h mnttab.h sys/mntent.h sys/mnttab.h) +AC_CHECK_HEADERS(sys/ipc.h sys/file.h) +AC_CHECK_HEADERS(socket.h sys/socket.h sys/sockio.h winsock2.h) +AC_CHECK_HEADERS(sys/resource.h) +AC_CHECK_HEADERS(sys/sem.h) +AC_CHECK_HEADERS(semaphore.h) +AC_CHECK_HEADERS(float.h) +AC_CHECK_HEADERS(atomic.h) +AC_CHECK_HEADERS(atomic_ops.h) +AC_CHECK_HEADERS(poll.h) +AC_CHECK_HEADERS(langinfo.h) +AC_CHECK_HEADERS(iconv.h) +AC_CHECK_HEADERS(libio.h) + +dnl check for ICU presence +AC_CHECK_HEADER(unicode/ucnv.h,,AC_MSG_ERROR(ICU support not found - please install development ICU package)) +dnl setting ICU_OK here is done to only avoid default action +AC_CHECK_LIB(icuuc, main, ICU_OK=yes, AC_MSG_ERROR(ICU support not found - please install development ICU package)) + +dnl check for tommath presence +XE_SAVE_ENV() +LIBS= +AC_CHECK_HEADER(tommath.h,,AC_MSG_ERROR(Include file for tommath not found - please install development tommath package)) +AC_CHECK_LIB(tommath, mp_init, MATHLIB=-ltommath, AC_MSG_ERROR(Library tommath not found - please install development tommath package)) +XE_RESTORE_ENV() +AC_SUBST(MATHLIB) + +dnl Check for libraries +AC_SEARCH_LIBS(dlopen, dl) +AC_CHECK_LIB(m, main) +if test "$EDITLINE_FLG" = "Y"; then + AC_CHECK_LIB(curses, tgetent, TERMLIB=curses, \ + AC_CHECK_LIB(ncurses, tgetent, TERMLIB=ncurses, \ + AC_CHECK_LIB(termcap, tgetent, TERMLIB=termcap, \ + AC_CHECK_LIB(tinfo, tgetent, TERMLIB=tinfo, \ + AC_MSG_ERROR(termcap support not found))))) + AC_SUBST(TERMLIB) + XE_APPEND(-l$TERMLIB, LIBS) +fi + +AC_SEARCH_LIBS(inet_aton, resolv) + +dnl HP-UX atomic routines are in atomic library, not standard C library. +dnl If we can't find atomic routines in vendor library, look for atomic_ops. +AC_SEARCH_LIBS(atomic_inc, atomic,, + AC_CHECK_LIB(atomic_ops, main)) + + +dnl Check for libraries for static C++ runtime linking +AC_CHECK_LIB(supc++, main, XE_APPEND(-lsupc++, STATIC_CXXSUPPORT_LIB)) +AC_CHECK_LIB(gcc_eh, main, XE_APPEND(-lgcc_eh, STATIC_CXXSUPPORT_LIB)) +AC_SUBST(STATIC_CXXSUPPORT_LIB) + +AC_LANG_PUSH(C++) +dnl check for INFINITY in math.h +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include <math.h>]], [[double x = INFINITY;]])], + AC_DEFINE(HAVE_INFINITY, 1, [Define this if INFINITY is defined in math.h])) + +dnl check for va_copy() in stdarg.h +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include <stdarg.h> + void vafun(const char* fmt, ...) {va_list par, par2; va_start(par, fmt); va_copy(par2, par); va_end(par2); va_end(par);}]], + [[return 0;]])], + AC_DEFINE(HAVE_VA_COPY, 1, [Define this if va_copy() is defined in stdarg.h])) + +if test "$AR_OPT_CHECK" = "true"; then +dnl if 64-bit mode, then archive tool, ar, needs -X64 option + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM(,[[int lp64 = __64BIT__; ]])], + [AR_OPTIONS=-X64],) +fi +AC_LANG_POP(C++) + +dnl Check for functions +AC_CHECK_FUNCS(gettimeofday) +if test "$ac_cv_func_gettimeofday" = "yes"; then + AC_MSG_CHECKING(if gettimeofday accepts second (timezone) argument) + AC_TRY_COMPILE([#include <sys/time.h>], + [struct timeval tp; gettimeofday(&tp, (struct timezone *)0);], + [AC_DEFINE(GETTIMEOFDAY_RETURNS_TIMEZONE, 1, + [Define this if gettimeofday accepts second (timezone) argument]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + AH_BOTTOM([#ifdef GETTIMEOFDAY_RETURNS_TIMEZONE +#define GETTIMEOFDAY(x) gettimeofday((x), (struct timezone *)0) +#else +#define GETTIMEOFDAY(x) gettimeofday((x)) +#endif]) +fi +AC_CHECK_FUNCS(time times) +AC_CHECK_FUNCS(nanosleep) +AC_SEARCH_LIBS(gethostname,nsl) +AC_SEARCH_LIBS(gethostbyname,nsl) +AC_SEARCH_LIBS(connect,socket) +AC_CHECK_FUNCS(strcasecmp stricmp) +AC_CHECK_FUNCS(strncasecmp strnicmp) +if test "$ac_cv_func_strcasecmp" = "no" -a "$ac_cv_func_stricmp" = "no"; then + dnl EKU: On SINIX-Z strcasecmp is in libresolv. + dnl CVC: Maybe other platforms need this, too? Otherwise, delete the block. + AC_CHECK_LIB(resolv, strcasecmp, + [XE_APPEND(-lresolv,LIBS) + unset ac_cv_func_strcasecmp + AC_CHECK_FUNCS(strcasecmp)],, $LIBS) +fi +AC_SEARCH_LIBS(dirname, gen) +AC_CHECK_FUNCS(dirname) +AC_CHECK_FUNCS(sigaction setitimer) +AC_CHECK_FUNCS(snprintf vsnprintf) +AC_CHECK_FUNCS(swab _swab) +AC_FUNC_MMAP +AC_FUNC_FORK +AC_FUNC_SETPGRP +AC_CHECK_FUNCS(setpgid) +AC_FUNC_GETPGRP +AC_CHECK_FUNCS(flock) +AC_CHECK_FUNCS(dladdr) +AC_CHECK_FUNCS(initgroups) +AC_CHECK_FUNCS(getpagesize) +AC_CHECK_FUNCS(pread pwrite) +AC_CHECK_FUNCS(getcwd getwd) +AC_CHECK_FUNCS(setmntent getmntent) +if test "$ac_cv_func_getmntent" = "yes"; then + AC_MSG_CHECKING(if getmntent needs second argument) + AC_TRY_COMPILE([#include <stdio.h> +#include <sys/mnttab.h>], + [FILE *f; struct mntent *m; getmntent(f, m);], + [AC_DEFINE(GETMNTENT_TAKES_TWO_ARGUMENTS, 1, + [Define this if getmntent needs second argument]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) +fi +AC_CHECK_FUNCS(setrlimit getrlimit) +AC_CHECK_FUNCS(tcgetattr strdup) +AC_CHECK_FUNCS(mkstemp) +AC_CHECK_FUNCS(pthread_keycreate pthread_key_create) +AC_CHECK_FUNCS(llrint) +AC_CHECK_FUNCS(localtime_r) +AC_CHECK_FUNCS(gmtime_r) +AC_CHECK_FUNCS(fchmod) +AC_CHECK_FUNCS(semtimedop) +AC_CHECK_FUNCS(fegetenv) +AC_CHECK_FUNCS(strerror_r) +case $host in + *-darwin*) + ac_cv_func_fdatasync=no + ;; + *) + AC_CHECK_FUNCS(fdatasync fsync) + ;; +esac +AC_CHECK_FUNCS(poll) +dnl AC_CHECK_FUNCS(AO_compare_and_swap_full) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include <atomic_ops.h>]], [[AO_T x; AO_compare_and_swap_full(&x, 0, 0); return 0;]])], + AC_DEFINE(HAVE_AO_COMPARE_AND_SWAP_FULL, 1, [Define this if AO_compare_and_swap_full() is defined in atomic_ops.h])) + +dnl Check for time function +AC_SEARCH_LIBS(clock_gettime, rt) +AC_CHECK_FUNCS(clock_gettime) + +dnl Checks for pthread functions +AC_CHECK_FUNCS(pthread_mutexattr_setprotocol) +AC_CHECK_FUNCS(pthread_mutexattr_setrobust_np) +AC_CHECK_FUNCS(pthread_mutex_consistent_np) +AC_CHECK_FUNCS(pthread_rwlockattr_setkind_np) +AC_CHECK_FUNCS(pthread_cancel) +AC_CHECK_FUNCS(sigset) + +dnl Semaphores +if test "$ac_cv_header_semaphore_h" = "yes"; then +AC_SEARCH_LIBS(sem_init, rt pthread) +AC_CHECK_FUNCS(sem_timedwait) +AC_CHECK_FUNCS(sem_init) +if test "$ac_cv_func_sem_init" = "yes"; then +AC_MSG_CHECKING(for working sem_init()) +AC_TRY_RUN([#include <semaphore.h> + main () { + sem_t s; + exit(sem_init(&s,0,0)); + } + ], +[AC_DEFINE(WORKING_SEM_INIT,1,[Define this if sem_init() works on the platform]) +AC_MSG_RESULT(yes)], +[AC_MSG_RESULT(no) +AC_SEARCH_LIBS(sem_open, rt)]) +fi +fi + +dnl Some OS place iconv() support in separate library +if test "$ac_cv_header_iconv_h" = "yes"; then +AC_SEARCH_LIBS(iconv_open, iconv) +fi + +dnl HPUX has a bug in .h files. To detect it we need C++ here. +AC_LANG_PUSH(C++) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include <fcntl.h>]], [[posix_fadvise(0, 0, 0, 0);]])], + AC_DEFINE(HAVE_POSIX_FADVISE, 1, [Define this if posix_fadvise() is present on the platform])) +AC_LANG_POP(C++) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_BIGENDIAN +AC_C_VOLATILE +AC_TYPE_SIGNAL +AC_TYPE_OFF_T +AC_TYPE_SIZE_T +AC_TYPE_UID_T +AC_SYS_LARGEFILE +if test "$ac_cv_sys_file_offset_bits" = "no"; then + AC_MSG_CHECKING(for native large file support) + AC_TRY_RUN([#include <unistd.h> + main () { + exit(!(sizeof(off_t) == 8)); + }], + [ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) +fi + +AC_CHECK_SIZEOF(void *) +VOID_PTR_SIZE=$ac_cv_sizeof_void_p +AC_SUBST(VOID_PTR_SIZE) + +AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(size_t) +AC_CHECK_TYPES([socklen_t],,,[#include <sys/socket.h>]) +AH_BOTTOM([#ifndef HAVE_SOCKLEN_T +typedef int socklen_t; +#endif]) +AC_CHECK_TYPES([semun]) +if test "$ac_cv_type_semun" = "no"; then + AC_MSG_CHECKING(if sem.h defines semun) + AC_TRY_COMPILE([#include <sys/types.h> + #include <sys/ipc.h> + #include <sys/sem.h>], + [union semun s;], + [ac_cv_type_semun=yes; AC_DEFINE(HAVE_SEMUN) AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) +fi + +AC_CHECK_TYPES([struct XDR::xdr_ops],,,[#include <rpc/rpc.h> +#include <rpc/xdr.h>]) +AC_CHECK_TYPES([struct xdr_ops],,,[#include <rpc/rpc.h> +#include <rpc/xdr.h>]) + +dnl AC_STRUCT_DIRENT_D_TYPE +AC_CHECK_MEMBER([struct dirent.d_type], + AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE,1,[Define this if struct dirent has d_type]),, + [#include <dirent.h>]) + +dnl EKU: try to determine the alignment of long and double +dnl replaces FB_ALIGNMENT and FB_DOUBLE_ALIGN in src/jrd/common.h +AC_MSG_CHECKING(alignment of long) +AC_TRY_RUN([main () { + struct s { + char a; + long long b; + }; + exit((int)&((struct s*)0)->b); +}], ac_cv_c_alignment=$ac_status, ac_cv_c_alignment=$ac_status) +AC_MSG_RESULT($ac_cv_c_alignment) +AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_c_alignment, [Alignment of long]) + +AC_MSG_CHECKING(alignment of double) +AC_TRY_RUN([main () { + struct s { + char a; + double b; + }; + exit((int)&((struct s*)0)->b); +}], ac_cv_c_double_align=$ac_status, ac_cv_c_double_align=$ac_status) +AC_MSG_RESULT($ac_cv_c_double_align) +AC_DEFINE_UNQUOTED(FB_DOUBLE_ALIGN, $ac_cv_c_double_align, [Alignment of double]) + +dnl EKU: don't know how to convert this into an autoconf test: +dnl #define FB_ALIGN(n,b) ... +dnl +dnl VMS (n) -> no +dnl sun_68k ((n+1) & ~1) -> even +dnl XENIX ((n+1) & ~1) -> even +dnl netware_386 ((n+1) & ~1) -> even +dnl all others ((n + b - 1) & ~(b - 1)) -> multiple of b +dnl +dnl volunters are welcome! + + + +dnl EKU: Add any platform specific tests below +case "$PLATFORM" in + LINUX) + dnl MOD: Check for /proc/self/exe mainly used on linux systems + dnl this is used to determine path to executable file. + AC_CHECK_FILES(/proc/self/exe) + ;; + + FREEBSD|GENTOOFREEBSD) + dnl the AC_CHECK_TYPES for socklen_t doesn't include sys/socket.h + dnl so test for socklen_t with sys/socket.h included + AC_MSG_CHECKING(if sys/socket.h defines socklen_t) + AC_TRY_COMPILE([#include <sys/types.h> + #include <sys/socket.h>], + [socklen_t s;], + [AC_DEFINE(HAVE_SOCKLEN_T) AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + ;; + + SOLARIS|solx86) + if test "$EDITLINE_FLG" = "Y"; then + AC_CHECK_LIB(termcap, main, XE_APPEND(-ltermcap,EDITLINE_A)) + fi + + AC_CHECK_TYPES([caddr_t]) + + AC_ARG_WITH(sfio, + AC_HELP_STRING([--with-sfio=PATH], + [use sfio (replacement stdio on Solaris) (default=no)]), + [ac_cv_use_sfio=$withval],[ac_cv_use_sfio=no]) + + if test "$ac_cv_use_sfio" = "no"; then + SFIO_DIR="" + SFIO_FLAGS="" + SFIO_LDFLAGS="" + else + AC_CHECK_LIB(sfio, main) + dnl Kkuznetsov: using sfio-mt looks like double protecting of FILE* + dnl and I avoid to use vthread based on posix threading + #AC_CHECK_LIB(sfio-mt, main,, + #AC_MSG_ERROR([sfio library not found]),-lvthread) + #XE_PREPEND(-lvthread,LIBS) + + SFIO_DIR="$ac_cv_use_sfio" + SFIO_FLAGS="-DSFIO -I$ac_cv_use_sfio/include" + SFIO_LDFLAGS="-L$ac_cv_use_sfio/lib" + SFIO_EXAMPLES="Y" + fi + ;; + + win32) + FB_PIPE_NAME=interbas + AC_ARG_WITH(pipe-name, + [ --with-pipe-name specify wnet pipe name (default=interbas)], + [FB_PIPE_NAME=${withval}]) + AH_VERBATIM(FB_PIPE_NAME, +[/* Wnet pipe name */ +#define FB_PIPE_NAME "interbas"]) + AC_DEFINE_UNQUOTED(FB_PIPE_NAME,"$FB_PIPE_NAME") + AC_SUBST(FB_PIPE_NAME) + XE_PREPEND( -mno-cygwin -mthreads -lmpr -lversion -lws2_32 -lole32,LIBS) + ;; + + *) + ;; +esac + +dnl Detect support for ISO syntax for thread-locals +XE_SAVE_ENV() +CXXFLAGS=$TLS_OPTIONS +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[__thread int a = 42;]],[[a = a + 1;]])], + AC_DEFINE(HAVE___THREAD, 1, [Define it if compiler supports ISO syntax for thread-local storage]),) +XE_RESTORE_ENV() +AC_SUBST(TLS_OPTIONS) +AC_SUBST(ATOMIC_OPTIONS) +AC_SUBST(CAS_OPTIONS) + +dnl ##################### DO NOT ADD ANY TESTS BELOW ########################### + +AC_SUBST(SFIO_DIR) +AC_SUBST(SFIO_FLAGS) +AC_SUBST(SFIO_LDFLAGS) +AC_SUBST(SFIO_EXAMPLES) + +dnl The following file defines the version number strings. Specially for install/uninstall routines +. ./src/misc/writeBuildNum.sh + +AC_SUBST(FIREBIRD_VERSION) +AC_SUBST(FIREBIRD_PACKAGE_VERSION) +AC_SUBST(FB_BUILD_NUM, $BuildNum) + +BUILD_ROOT_DIR=`pwd` +SRC_ROOT=$BUILD_ROOT_DIR/src +GEN_ROOT=$BUILD_ROOT_DIR/gen +NEW_FIREBIRD_DIR=$GEN_ROOT/firebird + +AC_SUBST(BUILD_ROOT_DIR) +AC_SUBST(NEW_FIREBIRD_DIR) +AC_SUBST(EXPORT_SYMBOLS_STYLE) + +AC_DEFINE_UNQUOTED(FB_PREFIX, $(if test "x$prefix" = "xNONE" ; then echo \"$ac_default_prefix\"; else echo \"$prefix\"; fi), [Installation path prefix]) + +FB_TARGETS="Debug Release" +test "x$CROSS" = "x" || FB_TARGETS="$FB_TARGETS Native" + +AC_CONFIG_COMMANDS(,,[ + +FB_TARGETS="$FB_TARGETS" +for fb_tgt in \$FB_TARGETS; do + + echo "Creating \$fb_tgt directories" + +dnl ### GEN ### directories for databases and misc + mkdir -p gen/\$fb_tgt/examples + mkdir -p gen/\$fb_tgt/refDatabases + +dnl # output + mkdir -p gen/\$fb_tgt/include + mkdir -p gen/\$fb_tgt/intl + mkdir -p gen/\$fb_tgt/firebird/UDF + mkdir -p gen/\$fb_tgt/firebird/bin + mkdir -p gen/\$fb_tgt/firebird/plugins + mkdir -p gen/\$fb_tgt/firebird/examples/api + mkdir -p gen/\$fb_tgt/firebird/examples/dyn + dnl # mkdir -p gen/\$fb_tgt/firebird/examples/build_unix + dnl # mkdir -p gen/\$fb_tgt/firebird/examples/build_win32 + mkdir -p gen/\$fb_tgt/firebird/examples/empbuild + mkdir -p gen/\$fb_tgt/firebird/examples/include + mkdir -p gen/\$fb_tgt/firebird/examples/udr + mkdir -p gen/\$fb_tgt/firebird/examples/stat + mkdir -p gen/\$fb_tgt/firebird/examples/udf + mkdir -p gen/\$fb_tgt/firebird/lib + mkdir -p gen/\$fb_tgt/firebird/misc + mkdir -p gen/\$fb_tgt/firebird/help + mkdir -p gen/\$fb_tgt/firebird/plugins/udr + +dnl ### TEMP ### directories for generated .cpp, .o and .d by module name + for src_dir in `cd src; ls -R -1 * | grep : | tr -d : | tr "\n" " "; cd ..`; do + mkdir -p temp/\$fb_tgt/\$src_dir + done + + src/misc/writeBuildNum.sh createMakeVersion gen/Make.Version + +dnl # sql files for UDF declarations + for sql_file in ib_udf.sql fbudf/fbudf.sql ib_udf2.sql; do + cp src/extlib/\$sql_file gen/\$fb_tgt/firebird/UDF + done +done + +for src_dir in `ls -R -1 examples | grep : | tr -d : | tr "\n" " "`; do + mkdir -p temp/\$src_dir +done + +dnl # rebuild version header if needed +./src/misc/writeBuildNum.sh rebuildHeader + +]) + + +MAKE_SRC_DIR=builds/posix + +dnl common files for all posix hosts +dnl TODO: fix "arch-specific/linux/" paths for common posix scripts with SVN +for fb_tgt in $FB_TARGETS; do +AC_CONFIG_FILES([ +gen/$fb_tgt/firebird/firebird.conf:builds/install/misc/firebird.conf.in +gen/$fb_tgt/firebird/aliases.conf:builds/install/misc/aliases.conf.in +gen/$fb_tgt/firebird/fbtrace.conf:src/utilities/ntrace/fbtrace.conf +gen/$fb_tgt/firebird/intl/fbintl.conf:builds/install/misc/fbintl.conf +gen/$fb_tgt/firebird/plugins.conf:builds/install/misc/plugins.conf +]) +done + +if test "x$CROSS" != "x"; then +AC_CONFIG_FILES([gen/make.crossPlatform:builds/posix/make.$CROSS]) +fi + +AC_CONFIG_FILES([ +gen/Release/firebird/bin/fb_config:builds/install/misc/fb_config.in +gen/Release/firebird/bin/posixLibrary.sh:builds/install/misc/posixLibrary.sh.in +gen/Release/firebird/bin/changeRunUser.sh:builds/install/misc/changeRunUser.sh.in +gen/Release/firebird/bin/restoreRootRunUser.sh:builds/install/misc/restoreRootRunUser.sh.in +gen/Release/firebird/bin/tarMainInstall.sh:builds/install/arch-specific/linux/misc/tarMainInstall.sh.in +gen/Release/firebird/bin/tarinstall.sh:builds/install/arch-specific/linux/misc/tarinstall.sh.in +gen/Release/firebird/bin/preinstall.sh:builds/install/arch-specific/linux/misc/preinstall.sh.in +gen/Release/firebird/bin/postinstall.sh:builds/install/arch-specific/linux/misc/postinstall.sh.in +gen/Release/firebird/bin/preuninstall.sh:builds/install/arch-specific/linux/misc/preuninstall.sh.in +gen/Release/firebird/bin/postuninstall.sh:builds/install/arch-specific/linux/misc/postuninstall.sh.in +gen/Release/firebird/bin/taruninstall.sh:builds/install/arch-specific/linux/misc/taruninstall.sh.in +gen/Release/firebird/bin/tarMainUninstall.sh:builds/install/arch-specific/linux/misc/tarMainUninstall.sh.in +gen/Release/firebird/bin/changeDBAPassword.sh:builds/install/misc/changeDBAPassword.sh.in +gen/Release/firebird/bin/changeMultiConnectMode.sh:builds/install/misc/changeMultiConnectMode.sh.in +gen/Release/firebird/bin/createAliasDB.sh:builds/install/misc/createAliasDB.sh.in +gen/vers.sh:builds/posix/vers.sh.in +]) + +dnl: Platform Specific Files + +case "$PLATFORM" in + LINUX|GENTOOFREEBSD) + AC_CONFIG_COMMANDS(,,[ + mkdir -p gen/install/scripts + mkdir -p gen/install/misc]) + + INSTALL_SRC_DIR=builds/install/arch-specific/linux + AC_CONFIG_FILES([ + gen/install/makeInstallImage.sh:builds/install/arch-specific/linux/misc/makeInstallImage.sh.in + gen/install/misc/firebird.xinetd:builds/install/arch-specific/linux/misc/firebird.xinetd.in + gen/install/misc/firebird.init.d.generic:builds/install/arch-specific/linux/misc/firebird.init.d.generic.in + gen/install/misc/firebird.init.d.mandrake:builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in + gen/install/misc/firebird.init.d.suse:builds/install/arch-specific/linux/misc/firebird.init.d.suse.in + gen/install/misc/firebird.init.d.debian:builds/install/arch-specific/linux/misc/firebird.init.d.debian.in + gen/install/misc/firebird.init.d.gentoo:builds/install/arch-specific/linux/misc/firebird.init.d.gentoo.in + gen/install/misc/firebird.init.d.slackware:builds/install/arch-specific/linux/misc/firebird.init.d.slackware.in + gen/install/misc/rc.config.firebird:builds/install/arch-specific/linux/misc/rc.config.firebird.in + gen/Release/firebird/bin/linuxLibrary.sh:builds/install/arch-specific/linux/misc/linuxLibrary.sh.in + ], + [chmod a+x gen/install/scripts/*.sh gen/install/*sh 2>/dev/null]) + ;; + + HPUX) + HP_INSTALL_SRC_DIR=builds/install/arch-specific/hpux + AC_CONFIG_FILES([gen/install/makeinstallImage.sh:${HP_INSTALL_SRC_DIR}/makeinstallImage.sh.in + gen/firebirdCS.psf:${HP_INSTALL_SRC_DIR}/firebirdCS.psf.in + gen/firebird/bin/preInstall.sh:${HP_INSTALL_SRC_DIR}/preInstall.sh.in + gen/firebird/bin/tarInstall.sh:${HP_INSTALL_SRC_DIR}/tarInstall.sh.in + gen/firebird/bin/tarmainInstall.sh:${HP_INSTALL_SRC_DIR}/tarmainInstall.sh.in + gen/firebird/bin/tarUninstall.sh:${HP_INSTALL_SRC_DIR}/tarUninstall.sh.in + gen/firebird/bin/tarmainUninstall.sh:${HP_INSTALL_SRC_DIR}/tarmainUninstall.sh.in + gen/firebird/bin/postInstall.sh:${HP_INSTALL_SRC_DIR}/postInstall.sh.in + gen/firebird/bin/preUninstall.sh:${HP_INSTALL_SRC_DIR}/preUninstall.sh.in + gen/firebird/bin/postUninstall.sh:${HP_INSTALL_SRC_DIR}/postUninstall.sh.in + gen/install/misc/firebird.init.d.hpux:builds/install/arch-specific/hpux/misc/firebird.init.d.hpux.in + gen/install/misc/rc.config.firebird.hpux:builds/install/arch-specific/hpux/misc/rc.config.firebird.hpux.in + gen/Release/firebird/bin/hpuxLibrary.sh:builds/install/arch-specific/hpux/misc/hpuxLibrary.sh.in], + [chmod a+x gen/install/scripts/*.sh gen/install/*.sh 2>/dev/null]) + ;; + + AIX) + AIX_INSTALL_SRC_DIR=builds/install/arch-specific/aix + AC_CONFIG_FILES([gen/install/scripts/rpmheader.aix.txt:${AIX_INSTALL_SRC_DIR}/rpmheader.txt.in + gen/install/scripts/rpmfiles.aix.txt:${AIX_INSTALL_SRC_DIR}/rpmfiles.txt.in + gen/install/makeInstallImage.aix.sh:${AIX_INSTALL_SRC_DIR}/makeInstallImage.sh.in + gen/firebird/bin/preinstall.aix.sh:builds/install/arch-specific/aix/misc/preinstall.sh.in + gen/firebird/bin/tarinstall.aix.sh:builds/install/arch-specific/aix/misc/tarinstall.sh.in + gen/firebird/bin/tarmaininstall.aix.sh:builds/install/arch-specific/aix/misc/tarmaininstall.sh.in + gen/firebird/bin/taruninstall.aix.sh:builds/install/arch-specific/aix/misc/taruninstall.sh.in + gen/firebird/bin/tarmainuninstall.aix.sh:builds/install/arch-specific/aix/misc/tarmainuninstall.sh.in + gen/firebird/bin/postinstall.aix.sh:builds/install/arch-specific/aix/misc/postinstall.sh.in + gen/firebird/bin/preuninstall.aix.sh:builds/install/arch-specific/aix/misc/preuninstall.sh.in + gen/firebird/bin/postuninstall.aix.sh:builds/install/arch-specific/aix/misc/postuninstall.sh.in + gen/install/misc/firebird.init.d.aix:builds/install/arch-specific/aix/misc/firebird.init.d.aix.in + gen/install/misc/rc.config.firebird.aix:builds/install/arch-specific/aix/misc/rc.config.firebird.aix.in + gen/firebird/bin/changedbapassword.aix.sh:builds/install/misc/changeDBAPassword.sh.in + gen/firebird/bin/changemulticonnectmode.aix.sh:builds/install/misc/changeMultiConnectMode.sh.in + gen/firebird/bin/changegdslibrarycompatiblelink.aix.sh:builds/install/misc/changeGdsLibraryCompatibleLink.sh.in + gen/firebird/bin/createaliasdb.aix.sh:builds/install/misc/createAliasDB.sh.in + gen/firebird/bin/aixLibrary.sh:builds/install/arch-specific/aix/misc/aixLibrary.sh.in], + [chmod a+x gen/install/scripts/*.sh gen/install/*.sh 2>/dev/null]) + ;; + FREEBSD) + AC_CONFIG_FILES([gen/install/install.sh:builds/install/arch-specific/freebsd/install.sh.in + gen/firebird/bin/freebsdLibrary.sh:builds/install/arch-specific/freebsd/freebsdLibrary.sh.in] + ,[chmod a+x gen/install/*.sh gen/firebird/bin/*sh 2>/dev/null]) + ;; + + + NETBSD) + AC_CONFIG_FILES([gen/install/install.netbsd.sh:builds/install/arch-specific/netbsd/install.sh.in] + ,[chmod a+x gen/install/install.netbsd.sh 2>/dev/null]) + ;; + + + solx86|SOLARIS) + AC_CONFIG_FILES([gen/install/Pkginfo:builds/install/arch-specific/solaris/pkginfo.in + gen/install/prototype.main:builds/install/arch-specific/solaris/prototype.in + gen/install/Preinstall:builds/install/arch-specific/solaris/preinstall.in + gen/install/Postinstall:builds/install/arch-specific/solaris/postinstall.in + gen/install/Postremove:builds/install/arch-specific/solaris/postremove.in + gen/install/prototypelg:builds/install/arch-specific/solaris/libgcc/prototypelg.in + gen/install/pkginfolg:builds/install/arch-specific/solaris/libgcc/pkginfolg.in + ],[chmod a+x gen/install/Pre* gen/install/Post* 2>/dev/null]) + ;; + + DARWIN) + ;; +esac +if test -f ${MAKE_SRC_DIR}/postfix.${MAKEFILE_POSTFIX};then + POSTFIX_FILE=gen/make.platform.postfix:${MAKE_SRC_DIR}/postfix.${MAKEFILE_POSTFIX} + POSTFIX_INCLUDE='include $(ROOT)/gen/make.platform.postfix' +else + POSTFIX_FILE= + POSTFIX_INCLUDE= +fi +AC_SUBST(POSTFIX_INCLUDE) + +UDF_COMMENT="#" +if test -n "${with_fbudf}"; then + UDF_COMMENT="# +# # For this build Restrict UDF means Restrict ${with_fbudf} +#" +fi +AC_SUBST(UDF_COMMENT) + +AC_CONFIG_FILES( +gen/make.rules:${MAKE_SRC_DIR}/make.rules +gen/make.defaults:${MAKE_SRC_DIR}/make.defaults +gen/make.platform:${MAKE_SRC_DIR}/prefix.${MAKEFILE_PREFIX} +gen/darwin.defaults:${MAKE_SRC_DIR}/darwin.defaults +${POSTFIX_FILE} +gen/make.shared.variables:${MAKE_SRC_DIR}/make.shared.variables +gen/make.shared.targets:${MAKE_SRC_DIR}/make.shared.targets +gen/Makefile:${MAKE_SRC_DIR}/Makefile.in +gen/examples/Makefile.examples:${MAKE_SRC_DIR}/Makefile.in.examples +gen/examples/Makefile.plugins_examples:${MAKE_SRC_DIR}/Makefile.in.plugins_examples +gen/Makefile.install:builds/install/arch-specific/${INSTALL_PREFIX}/Makefile.in +Makefile:Makefile.in +) +if test "$STD_EDITLINE" = "false"; then + AC_CONFIG_FILES(gen/Makefile.extern.editline:${MAKE_SRC_DIR}/Makefile.in.extern.editline) +fi + + +case "$PLATFORM" in + SOLARIS | solx86 ) +AC_CONFIG_FILES( +gen/make.platform.solaris.examples:${MAKE_SRC_DIR}/make.platform.solaris.examples +) +;; +esac + +AC_OUTPUT + +dnl Print out the build configuration (the most interesting thing) +echo +echo +echo The Firebird3 package has been configured with the following options: +echo + +case $DEVEL_FLG in + Y) echo " Developer mode : enabled";; + N) echo " Developer mode : disabled";; +esac + +if test $ac_cv_sizeof_void_p -lt 8; then + case $ac_cv_sys_file_offset_bits in + no) echo "64 bit I/O for 32-bit platforms : disabled";; + 64) echo "64 bit I/O for 32-bit platforms : enabled";; + esac +fi + +case $RAW_DEVICES_FLG in + Y) echo " Raw devices : enabled";; + N) echo " Raw devices : disabled";; +esac + +echo " Service name : $FB_SERVICE_NAME" +echo " Service port : $FB_SERVICE_PORT" + +case "$PLATFORM" in + win32) echo " Pipe name : $FB_PIPE_NAME";; +esac + +echo " GPRE modules : c_cxx.cpp$GPRE_LANGUAGE_MODULES" +echo + +echo " Install Dir : $prefix" +echo + +dnl EOF Property changes on: firebird/trunk/configure.ac ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Deleted: firebird/trunk/configure.in =================================================================== --- firebird/trunk/configure.in 2013-03-25 10:17:47 UTC (rev 57834) +++ firebird/trunk/configure.in 2013-03-25 11:07:11 UTC (rev 57835) @@ -1,1328 +0,0 @@ -dnl ############################# INITIALISATION ############################### - -AC_PREREQ(2.56) -AC_INIT(src) - -AC_CONFIG_AUX_DIR(builds/make.new/config) -AC_CACHE_VAL(ac_cv_prog_make_set, [AC_PROG_MAKE_SET]) -AC_PREFIX_DEFAULT(/usr/local/firebird) - -m4_ifdef([AC_CONFIG_MACRO_DIR], - [], - [m4_define([AC_CONFIG_MACRO_DIR], [])]) -AC_CONFIG_MACRO_DIR(m4) - -AC_CONFIG_HEADER(src/include/gen/autoconfig.auto:builds/make.new/config/config.h.in) - -dnl XE_APPEND(value, varname) -define([XE_APPEND],[[$2]="$[$2] [$1]"]) - -dnl XE_PREPEND(value, varname) -define([XE_PREPEND],[[$2]="[$1] $[$2]"]) - -dnl XE_CONF_DIR(param, help, variable, default) -define([XE_CONF_DIR],[ -AC_ARG_WITH([$1], - [AC_HELP_STRING([--with-$1], [$2])], - [[$3]="$withval" - AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])], - [[$3]="[`if test ""x$prefix"" = ""xNONE"" ; then echo ""$ac_default_prefix""; else echo ""$prefix""; fi`][$4]" - AC_DEFINE_UNQUOTED([$3], [""], [$2])] -) -AC_SUBST([$3]) -]) - -define([XE_CONF_FILE],[ -AC_ARG_WITH([$1], - [AC_HELP_STRING([--with-$1], [$2])], - [[$3]="$withval" - AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])], - [[$3]="$4" - AC_DEFINE_UNQUOTED([$3], ["$4"], [$2])] -) -AC_SUBST([$3]) -]) - -define([XE_SAVE_ENV], [ -pre_save_restore_cflags=$CFLAGS -pre_save_restore_cxxflags=$CXXFLAGS -pre_save_restore_libs=$LIBS -]) - -define([XE_RESTORE_ENV], [ -CFLAGS=$pre_save_restore_cflags -CXXFLAGS=$pre_save_restore_cxxflags -LIBS=$pre_save_restore_libs -]) - -sinclude(acx_pthread.m4) -sinclude(binreloc.m4) - -dnl ############################# ADD TESTS BELOW ############################## - -AC_CANONICAL_SYSTEM -CPU_TYPE=$target_cpu -AC_SUBST(CPU_TYPE) - - -dnl EKU: set appropiate defaults for each platform -dnl EDITLINE_FLG : support fancy command line editing in isql -dnl SHRLIB_EXT : suffix of shared library files - -RAW_DEVICES_FLG=Y -EXPORT_SYMBOLS_STYLE=linux -INSTALL_PREFIX="" - -dnl Use /usr/lib for library links on most platforms except some 64-bit ones -libdir=/usr/lib - -dnl Should system editline be used -STD_EDITLINE=false - -dnl Test for special ar options? -AR_OPT_CHECK=false - -case "$target" in - x*64-*-darwin*) - MAKEFILE_PREFIX=darwin_x86_64 - MAKEFILE_POSTFIX=darwin - PLATFORM=DARWIN - INSTALL_PREFIX=darwin - AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN]) - XE_APPEND(-framework CoreFoundation,LIBS) - EDITLINE_FLG=Y - SHRLIB_EXT=dylib - CPU_TYPE=x86_64 - EXPORT_SYMBOLS_STYLE=darwin - ;; - - i*86-*-darwin*) - MAKEFILE_PREFIX=darwin_i386 - MAKEFILE_POSTFIX=darwin - PLATFORM=DARWIN - INSTALL_PREFIX=darwin - AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN]) - XE_APPEND(-framework CoreFoundation,LIBS) - EDITLINE_FLG=Y - SHRLIB_EXT=dylib - CPU_TYPE=i386 - EXPORT_SYMBOLS_STYLE=darwin - ;; - - powerpc-*-darwin*) - MAKEFILE_PREFIX=darwin_powerpc -dnl MAKEFILE_PREFIX=darwin_ppc64 - MAKEFILE_POSTFIX=darwin - PLATFORM=DARWIN - INSTALL_PREFIX=darwin - AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN]) - XE_APPEND(-framework CoreFoundation,LIBS) - EDITLINE_FLG=Y - SHRLIB_EXT=dylib -dnl CPU_TYPE=ppc64 - EXPORT_SYMBOLS_STYLE=darwin - ;; - - powerpc-*-aix*) - dnl ibm xlC has many invocations, like xlC, xlc++, or xlc_r7 - comp=`echo "$CXX" | cut -c1-3 | dd conv=lcase 2>/dev/null` - if test "$comp" = "xlc"; then - AR_OPT_CHECK=true - TLS_OPTIONS="-qtls=default" - MAKEFILE_PREFIX=aix_powerpc_xlc - else - MAKEFILE_PREFIX=aix_powerpc - fi - MAKEFILE_POSTFIX=aix - PLATFORM=AIX - INSTALL_PREFIX=aix - AC_DEFINE(AIX, 1, [Define this if OS is AIX]) - EDITLINE_FLG=N - SHRLIB_EXT=so - EXPORT_SYMBOLS_STYLE=aix - ;; - - amd64-*-freebsd* | x86_64*-*-freebsd* | x86_64*-*-k*bsd*-gnu) - MAKEFILE_PREFIX=freebsd_amd64 - case "$target" in - x86_64*-*-k*bsd-gnu) # Debian/kFreeBSD - PLATFORM=GENTOOFREEBSD - INSTALL_PREFIX=linux - ;; - *) - PLATFORM=FREEBSD - INSTALL_PREFIX=freebsd - ;; - esac - AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD]) - AC_DEFINE(AMD64, 1, [Define this if CPU is amd64]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - *-gentoo-freebsd*) - MAKEFILE_PREFIX=freebsd - PLATFORM=GENTOOFREEBSD - AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - *-*-freebsd* | *-*-k*bsd*-gnu) - MAKEFILE_PREFIX=freebsd - case "$target" in - *-*-k*bsd-gnu) # Debian/kFreeBSD - PLATFORM=GENTOOFREEBSD - INSTALL_PREFIX=linux - ;; - *) - PLATFORM=FREEBSD - ;; - esac - AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - mips-*-linux*) - MAKEFILE_PREFIX=linux_mips - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX) - EDITLINE_FLG=Y - SHRLIB_EXT=so - PTHREAD_CFLAGS=-pthread - PTHREAD_LIBS=-lpthread - ;; - - mipsel-*-linux*) - MAKEFILE_PREFIX=linux_mipsel - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX) - EDITLINE_FLG=Y - SHRLIB_EXT=so - PTHREAD_CFLAGS=-pthread - PTHREAD_LIBS=-lpthread - ;; - - x86_64*-*-linux* | x86_64*-*-gnu*) - MAKEFILE_PREFIX=linux_amd64 - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - libdir=/usr/lib64 - CPU_TYPE=amd64 - ;; - - ia64*-*-linux*) - MAKEFILE_PREFIX=linux_ia64 - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - libdir=/usr/lib - CPU_TYPE=ia64 - ;; - - arm*-*-linux*) - MAKEFILE_PREFIX=linux_arm - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - STD_EDITLINE=true - ;; - - sparc*-*-linux* | sparc*-*-gnu* | sparc*-*-k*bsd*-gnu) - MAKEFILE_PREFIX=linux_sparc32 - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - powerpc*-*-linux*) - MAKEFILE_PREFIX=linux_powerpc - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - i*86*-*-linux*) - MAKEFILE_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - s390*-*-linux*) - MAKEFILE_PREFIX=linux_s390x - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - sh*eb-*-linux*) - MAKEFILE_PREFIX=linux_generic - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - AC_DEFINE(SHEB, 1, [Architecture is big-edian sh4]) - LOCK_MANAGER_FLG=Y - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - - sh*-*-linux*) - MAKEFILE_PREFIX=linux_generic - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - AC_DEFINE(SH, 1, [Architecture is little-endian sh4]) - LOCK_MANAGER_FLG=Y - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - hppa*-*-linux*) - MAKEFILE_PREFIX=linux_generic - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - AC_DEFINE(HPPA, 1, [Define this if CPU is HPPA]) - LOCK_MANAGER_FLG=Y - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - alpha*-*-linux*) - MAKEFILE_PREFIX=linux_generic - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - AC_DEFINE(ALPHA, 1, [Define this if CPU is Alpha]) - LOCK_MANAGER_FLG=Y - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - *-*-linux* | *-*-gnu*) - MAKEFILE_PREFIX=linux_generic - INSTALL_PREFIX=linux - PLATFORM=LINUX - AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - *-*-netbsd*) - MAKEFILE_PREFIX=netbsd - PLATFORM=NETBSD - AC_DEFINE(NETBSD, 1, [Define this if OS is NetBSD]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - ia64-*-hpux*) - comp=`echo "$CXX" | cut -c1-3` - case $comp in - aCC) MAKEFILE_PREFIX=hpux_aCC ; - PTHREAD_CFLAGS=-mt - ;; - *) MAKEFILE_PREFIX=hpux_ia64 ; - ;; - esac - INSTALL_PREFIX=hpux - PLATFORM=HPUX - AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - libdir=/usr/lib/pa20_64 - EXPORT_SYMBOLS_STYLE=hpux - ;; - - hppa*-*-hpux*) - comp=`echo "$CXX" | cut -c1-3` - case $comp in - aCC) MAKEFILE_PREFIX=hpux_aCC ; - PTHREAD_CFLAGS=-mt - ;; - *) MAKEFILE_PREFIX=hpux ; - ;; - esac - INSTALL_PREFIX=hpux - PLATFORM=HPUX - AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX]) - EDITLINE_FLG=Y - SHRLIB_EXT=sl - libdir=/usr/lib/pa20_64 - EXPORT_SYMBOLS_STYLE=hpux - ;; - - i386-pc-solaris*) - dnl detect native compiler, Sun Studio Pro - comp=`echo "$CXX" | cut -c1-2` - case $comp in - CC) MAKEFILE_PREFIX=solaris - PTHREAD_CFLAGS=-mt - PTHREAD_LIBS=-lpthread - ;; - *) MAKEFILE_PREFIX=solx86gcc ; - PTHREAD_CFLAGS=-pthreads ;; - esac - dnl if this is amd64 system, we should install our libraries in /usr/lib/amd64 - isa=`isainfo -k` - if test "$isa" = "amd64"; then - libdir=/usr/lib/amd64 - fi - CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas_sax.il"; - INSTALL_PREFIX=solaris - PLATFORM=solx86 - AC_DEFINE(solx86, 1, [Define this if OS is Solarix x86]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - sparc-sun-solaris*) - dnl detect native compiler, Sun Studio Pro - comp=`echo "$CXX" | cut -c1-3` - case $comp in - CC) MAKEFILE_PREFIX=solaris ; - dnl inline assembly for atomic operations on Solaris 9 w SSPRO - PTHREAD_CFLAGS=-mt - PTHREAD_LIBS=-lpthread - if test "${target#*solaris}" = "2.9"; then - ATOMIC_OPTIONS=`pwd`"/src/common/classes/fb_atomic.il"; - fi - ;; - *) MAKEFILE_PREFIX=solaris-64gcc ; - esac - CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas.il"; - INSTALL_PREFIX=solaris - PLATFORM=SOLARIS - AC_DEFINE(SOLARIS, 1, [Define this if OS is Solaris Sparc]) - EDITLINE_FLG=Y - SHRLIB_EXT=so - ;; - - *-*-mingw*) - MAKEFILE_PREFIX=mingw - PLATFORM=win32 - AC_DEFINE(WIN_NT, 1, [Define this if OS is Windows NT]) - AC_DEFINE(HAVE_MULTI_THREAD, 1, [Define this if multi-threading should be supported]) - EDITLINE_FLG=N - RAW_DEVICES_FLG=N - SHRLIB_EXT=dll - ;; - - *) - AC_MSG_ERROR(unsupported platform ${target}) - ;; -esac - -if test "$INSTALL_PREFIX" = ""; then - INSTALL_PREFIX=$MAKEFILE_PREFIX -fi - -AM_BINRELOC - -AC_SUBST(MAKEFILE_PREFIX) -AC_SUBST(AR_OPTIONS) -AC_SUBST(PLATFORM) -AC_SUBST(SHRLIB_EXT) -AC_DEFINE(CASE_SENSITIVITY, true, [Define this if paths are case sensitive]) - - -dnl Some controllable options - -AC_ARG_ENABLE(developer, - [ --enable-developer use developer mode rules (default=no)], - [case "$enableval" in - yes) DEVEL_FLG=Y;; - no) DEVEL_FLG=N;; - *) AC_MSG_ERROR(bad value '${enableval}' for --enable-developer);; - esac]) -AC_SUBST(DEVEL_FLG) - -CROSS= -IS_CROSS=N -AC_ARG_WITH(cross-build, - [ --with-cross-build build for platform different from current one], - [CROSS=${withval} - IS_CROSS=Y]) -AC_SUBST(IS_CROSS) - -dnl Avoid dumb '-g -O2' autoconf's default -dnl Debugging information and optimization flags should be set in prefix.$platform file -dnl Should be replaced with AC_PROG_GCC_DEFAULT_FLAGS() when available -if test "$CFLAGS" = "-g -O2" -o "$CFLAGS" = "-g" -o "$CFLAGS" = "-O2"; then - CFLAGS= -fi - -dnl Find out how to use threads on this platform -XE_SAVE_ENV() -ACX_PTHREAD([ - AC_DEFINE(HAVE_MULTI_THREAD, 1, - [Define this if multi-threading should be supported])]) -XE_RESTORE_ENV() - -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CFLAGS) - -AC_ARG_ENABLE(raw-devices, - [ --enable-raw-devices enable databases on raw devices (default on POSIX)], - [case "$enableval" in - yes) RAW_DEVICES_FLG=Y;; - no) RAW_DEVICES_FLG=N;; - *) AC_MSG_ERROR(bad value '${enableval}' for --enable-raw-devices);; - esac]) -if test "$RAW_DEVICES_FLG" = "Y"; then - AC_DEFINE(SUPPORT_RAW_DEVICES, 1, - [Define this if databases on raw devices should be supported]) -fi - -AC_ARG_ENABLE(rpath, - [ --enable-rpath enable linking with RPATH (default)], - [], - [enable_rpath=yes]) -if test "x$enable_rpath" != "xno" || test "x$enable_rpath" = "x" ; then - AC_SUBST(USE_RPATH, 1) -fi - -AC_ARG_WITH(editline, - [ --with-editline support fancy command line editing], - [case "$withval" in - yes) EDITLINE_FLG=Y;; - no) EDITLINE_FLG=N;; - *) AC_MSG_ERROR(bad value '${withval}' for --with-editline);; - esac]) -AC_ARG_WITH(system-editline, - [ --with-system-editline use OS supplied libeditline], - [case "$withval" in - yes) STD_EDITLINE=true;; - no) STD_EDITLINE=false;; - *) AC_MSG_ERROR(bad value '${withval}' for --with-system-editline);; - esac]) - -# not need editline in default libs, but need to test for its presence -READLINE=edit # builtin default -XE_SAVE_ENV() -if test "$STD_EDITLINE" = "true"; then - AC_CHECK_LIB(edit, readline, [READLINE=edit EDITLINE_FLG=Y], - AC_CHECK_LIB(editline, readline, [READLINE=editline EDITLINE_FLG=Y], - AC_CHECK_LIB(readline, readline, [READLINE=readline EDITLINE_FLG=Y], - [STD_EDITLINE=false - if test "$EDITLINE_FLG" = "Y"; then - AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])]))) - fi -fi -XE_RESTORE_ENV() - -AC_SUBST(READLINE) -AC_SUBST(STD_EDITLINE) -AC_SUBST(EDITLINE_FLG) - -FB_SERVICE_NAME=gds_db -FB_SERVICE_PORT=3050 -FB_IPC_NAME=FirebirdIPI -AC_ARG_WITH(service-name, - [ --with-service-name specify inet service name (default=gds_db)], - [FB_SERVICE_NAME=${withval}]) -AC_ARG_WITH(service-port, - [ --with-service-port specify inet service port (default=3050)], - [FB_SERVICE_PORT=${withval}]) -AC_ARG_WITH(ipc-name, - [ --with-ipc-name specify local IPC name (default=FirebirdIPI)], - [FB_IPC_NAME=${withval}]) -AC_DEFINE_UNQUOTED(FB_SERVICE_NAME,"$FB_SERVICE_NAME", [Inet service name]) -AC_DEFINE_UNQUOTED(FB_SERVICE_PORT,$FB_SERVICE_PORT, [Inet service port]) -AC_DEFINE_UNQUOTED(FB_IPC_NAME,"$FB_IPC_NAME", [Local IPC name]) ... [truncated message content] |
From: <fir...@us...> - 2013-03-26 01:12:39
|
Revision: 57838 http://sourceforge.net/p/firebird/code/57838 Author: firebirds Date: 2013-03-26 01:12:35 +0000 (Tue, 26 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-25 15:59:38 UTC (rev 57837) +++ firebird/trunk/ChangeLog 2013-03-26 01:12:35 UTC (rev 57838) @@ -1,3 +1,28 @@ + 2013-03-25 15:59 asfernandes + M src/include/firebird/UdrCppEngine.h +Work in progress standardizing the external engines API. + + 2013-03-25 15:34 asfernandes + M src/include/FirebirdApi.h + M src/include/firebird/ExternalEngine.h + M src/include/firebird/UdrCppEngine.h + M src/include/firebird/UdrEngine.h + M src/jrd/ExtEngineManager.cpp + M src/jrd/ExtEngineManager.h + M src/plugins/udr_engine/UdrEngine.cpp +Work in progress standardizing the external engines API. + + 2013-03-25 11:07 mapopa + A configure.ac + D configure.in +recent version of autoconf/automake/libtool complain about the firebird +scripts aclocal: warning: autoconf input should be named 'configure.ac', not +'configure.in' + + 2013-03-25 01:25 asfernandes + M src/dsql/dsql.cpp +Fixed problem reported in fb-devel: FB3 and SQL_NULL. + 2013-03-24 16:16 dimitr M src/jrd/jrd.cpp The minimal patch for CORE-1604 (Error at database creation by user with non-ascii name) and CORE-3243 (CURRENT_USER and MON$USER don't work properly) that seems to work for the trusted authentication, but [at least] the legacy auth module has to be reviewed as it seems to deal with the user name "as is", without checking whether it arrived in UTF8 or not. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-25 15:59:38 UTC (rev 57837) +++ firebird/trunk/src/jrd/build_no.h 2013-03-26 01:12:35 UTC (rev 57838) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30292 + FORMAL BUILD NUMBER:30296 */ -#define PRODUCT_VER_STRING "3.0.0.30292" -#define FILE_VER_STRING "WI-T3.0.0.30292" -#define LICENSE_VER_STRING "WI-T3.0.0.30292" -#define FILE_VER_NUMBER 3, 0, 0, 30292 +#define PRODUCT_VER_STRING "3.0.0.30296" +#define FILE_VER_STRING "WI-T3.0.0.30296" +#define LICENSE_VER_STRING "WI-T3.0.0.30296" +#define FILE_VER_NUMBER 3, 0, 0, 30296 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30292" +#define FB_BUILD_NO "30296" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-25 15:59:38 UTC (rev 57837) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-26 01:12:35 UTC (rev 57838) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30292 +BuildNum=30296 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2013-03-27 01:34:48
|
Revision: 57840 http://sourceforge.net/p/firebird/code/57840 Author: asfernandes Date: 2013-03-27 01:34:44 +0000 (Wed, 27 Mar 2013) Log Message: ----------- Fixed CORE-4068 - create package fails on creating header as soon as there is at least 1 procedure name. Modified Paths: -------------- firebird/trunk/builds/posix/Makefile.in.plugins_examples firebird/trunk/src/jrd/ExtEngineManager.cpp firebird/trunk/src/jrd/Function.epp firebird/trunk/src/jrd/Routine.cpp firebird/trunk/src/jrd/Routine.h firebird/trunk/src/jrd/met.epp Modified: firebird/trunk/builds/posix/Makefile.in.plugins_examples =================================================================== --- firebird/trunk/builds/posix/Makefile.in.plugins_examples 2013-03-27 01:34:10 UTC (rev 57839) +++ firebird/trunk/builds/posix/Makefile.in.plugins_examples 2013-03-27 01:34:44 UTC (rev 57840) @@ -52,8 +52,7 @@ .PHONY: all udrcpp_example dc_example kh_example -#all: udrcpp_example dc_example kh_example -all: dc_example kh_example +all: udrcpp_example dc_example kh_example UDR_Objects = $(call makeObjects,../examples/udr,UdrCppExample.cpp) Modified: firebird/trunk/src/jrd/ExtEngineManager.cpp =================================================================== --- firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-27 01:34:10 UTC (rev 57839) +++ firebird/trunk/src/jrd/ExtEngineManager.cpp 2013-03-27 01:34:44 UTC (rev 57840) @@ -439,7 +439,7 @@ if (relation) { - format = Routine::createFormat(pool, metadata->triggerFields); + format = Routine::createFormat(pool, metadata->triggerFields, false); for (unsigned i = 0; i < format->fmt_count / 2; ++i) fieldsPos.add(i); @@ -671,8 +671,8 @@ try { - udf->setInputFormat(Routine::createFormat(pool, metadata->inputParameters)); - udf->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters)); + udf->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false)); + udf->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, false)); udf->fun_external = FB_NEW(getPool()) Function(tdbb, this, attInfo->engine, metadata.release(), externalFunction, udf); @@ -744,8 +744,8 @@ try { - prc->setInputFormat(Routine::createFormat(pool, metadata->inputParameters)); - prc->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters)); + prc->setInputFormat(Routine::createFormat(pool, metadata->inputParameters, false)); + prc->setOutputFormat(Routine::createFormat(pool, metadata->outputParameters, false)); prc->setExternal(FB_NEW(getPool()) Procedure(tdbb, this, attInfo->engine, metadata.release(), externalProcedure, prc)); Modified: firebird/trunk/src/jrd/Function.epp =================================================================== --- firebird/trunk/src/jrd/Function.epp 2013-03-27 01:34:10 UTC (rev 57839) +++ firebird/trunk/src/jrd/Function.epp 2013-03-27 01:34:44 UTC (rev 57840) @@ -374,58 +374,55 @@ function->fun_external = NULL; function->setStatement(NULL); - if (!X.RDB$ENGINE_NAME.NULL || !X.RDB$FUNCTION_BLR.NULL) + if (!X.RDB$ENGINE_NAME.NULL) { - if (!X.RDB$ENGINE_NAME.NULL) + HalfStaticArray<UCHAR, 512> body; + + if (!X.RDB$FUNCTION_SOURCE.NULL) { - HalfStaticArray<UCHAR, 512> body; + blb* const blob = blb::open(tdbb, sysTransaction, &X.RDB$FUNCTION_SOURCE); + const ULONG len = blob->BLB_get_data(tdbb, + body.getBuffer(blob->blb_length + 1), blob->blb_length + 1); + body[MIN(blob->blb_length, len)] = 0; + } + else + body.getBuffer(1)[0] = 0; - if (!X.RDB$FUNCTION_SOURCE.NULL) - { - blb* const blob = blb::open(tdbb, sysTransaction, &X.RDB$FUNCTION_SOURCE); - const ULONG len = blob->BLB_get_data(tdbb, - body.getBuffer(blob->blb_length + 1), blob->blb_length + 1); - body[MIN(blob->blb_length, len)] = 0; - } - else - body.getBuffer(1)[0] = 0; + dbb->dbb_extManager.makeFunction(tdbb, function, X.RDB$ENGINE_NAME, + (X.RDB$ENTRYPOINT.NULL ? "" : X.RDB$ENTRYPOINT), (char*) body.begin()); - dbb->dbb_extManager.makeFunction(tdbb, function, X.RDB$ENGINE_NAME, - (X.RDB$ENTRYPOINT.NULL ? "" : X.RDB$ENTRYPOINT), (char*) body.begin()); + if (!function->fun_external) + function->setDefined(false); + } + else if (!X.RDB$FUNCTION_BLR.NULL) + { + MemoryPool* const csb_pool = attachment->createPool(); + Jrd::ContextPoolHolder context(tdbb, csb_pool); - if (!function->fun_external) - function->setDefined(false); - } - else + try { - MemoryPool* const csb_pool = attachment->createPool(); - Jrd::ContextPoolHolder context(tdbb, csb_pool); + AutoPtr<CompilerScratch> csb(CompilerScratch::newCsb(*csb_pool, 5)); + if (!X.RDB$DEBUG_INFO.NULL) + DBG_parse_debug_info(tdbb, &X.RDB$DEBUG_INFO, *csb->csb_dbg_info); + try { - AutoPtr<CompilerScratch> csb(CompilerScratch::newCsb(*csb_pool, 5)); - - if (!X.RDB$DEBUG_INFO.NULL) - DBG_parse_debug_info(tdbb, &X.RDB$DEBUG_INFO, *csb->csb_dbg_info); - - try - { - MET_parse_routine_blr(tdbb, function, &X.RDB$FUNCTION_BLR, csb); - } - catch (const Exception&) - { - const string name = function->getName().toString(); - status_exception::raise(Arg::Gds(isc_bad_fun_BLR) << Arg::Str(name)); - } + MET_parse_routine_blr(tdbb, function, &X.RDB$FUNCTION_BLR, csb); } catch (const Exception&) { - attachment->deletePool(csb_pool); - throw; + const string name = function->getName().toString(); + status_exception::raise(Arg::Gds(isc_bad_fun_BLR) << Arg::Str(name)); } + } + catch (const Exception&) + { + attachment->deletePool(csb_pool); + throw; + } - function->getStatement()->function = function; - } + function->getStatement()->function = function; } else if (!X.RDB$MODULE_NAME.NULL && !X.RDB$ENTRYPOINT.NULL) { @@ -444,7 +441,17 @@ function->setDefined(false); } else + { + RefPtr<MsgMetadata> inputMetadata(createMetadata(function->getInputFields())); + inputMetadata->release(); + function->setInputFormat(createFormat(function->getPool(), inputMetadata, false)); + + RefPtr<MsgMetadata> outputMetadata(createMetadata(function->getOutputFields())); + outputMetadata->release(); + function->setOutputFormat(createFormat(function->getPool(), outputMetadata, true)); + function->setImplemented(false); + } if (X.RDB$VALID_BLR.NULL || X.RDB$VALID_BLR == FALSE) valid_blr = false; Modified: firebird/trunk/src/jrd/Routine.cpp =================================================================== --- firebird/trunk/src/jrd/Routine.cpp 2013-03-27 01:34:10 UTC (rev 57839) +++ firebird/trunk/src/jrd/Routine.cpp 2013-03-27 01:34:44 UTC (rev 57840) @@ -48,14 +48,14 @@ } // Create a Format based on an IMessageMetadata. -Format* Routine::createFormat(MemoryPool& pool, IMessageMetadata* params) +Format* Routine::createFormat(MemoryPool& pool, IMessageMetadata* params, bool addEof) { LocalStatus status; unsigned count = params->getCount(&status); status.check(); - Format* format = Format::newFormat(pool, count * 2); + Format* format = Format::newFormat(pool, count * 2 + (addEof ? 1 : 0)); unsigned runOffset = 0; dsc* desc = format->fmt_desc.begin(); @@ -85,6 +85,13 @@ ++desc; } + if (addEof) + { + // Next item is aligned on USHORT, so as the previous one. + desc->makeShort(0, (SSHORT*)(IPTR) runOffset); + runOffset += sizeof(USHORT); + } + format->fmt_length = runOffset; return format; Modified: firebird/trunk/src/jrd/Routine.h =================================================================== --- firebird/trunk/src/jrd/Routine.h 2013-03-27 01:34:10 UTC (rev 57839) +++ firebird/trunk/src/jrd/Routine.h 2013-03-27 01:34:44 UTC (rev 57840) @@ -62,7 +62,7 @@ public: static Firebird::MsgMetadata* createMetadata( const Firebird::Array<NestConst<Parameter> >& parameters); - static Format* createFormat(MemoryPool& pool, Firebird::IMessageMetadata* params); + static Format* createFormat(MemoryPool& pool, Firebird::IMessageMetadata* params, bool addEof); public: USHORT getId() const Modified: firebird/trunk/src/jrd/met.epp =================================================================== --- firebird/trunk/src/jrd/met.epp 2013-03-27 01:34:10 UTC (rev 57839) +++ firebird/trunk/src/jrd/met.epp 2013-03-27 01:34:44 UTC (rev 57840) @@ -3062,45 +3062,64 @@ if (!external) { - MemoryPool* csb_pool = attachment->createPool(); + if (!P.RDB$PROCEDURE_BLR.NULL) + { + MemoryPool* csb_pool = attachment->createPool(); - Jrd::ContextPoolHolder context(tdbb, csb_pool); - CompilerScratch* csb = CompilerScratch::newCsb(*tdbb->getDefaultPool(), 5); + Jrd::ContextPoolHolder context(tdbb, csb_pool); + CompilerScratch* csb = CompilerScratch::newCsb(*tdbb->getDefaultPool(), 5); - if (!P.RDB$DEBUG_INFO.NULL) - DBG_parse_debug_info(tdbb, &P.RDB$DEBUG_INFO, *csb->csb_dbg_info); + if (!P.RDB$DEBUG_INFO.NULL) + DBG_parse_debug_info(tdbb, &P.RDB$DEBUG_INFO, *csb->csb_dbg_info); - try - { - MET_parse_routine_blr(tdbb, procedure, - (P.RDB$PROCEDURE_BLR.NULL ? NULL : &P.RDB$PROCEDURE_BLR), csb); - } - catch (const Exception&) - { - delete csb; + try + { + MET_parse_routine_blr(tdbb, procedure, + (P.RDB$PROCEDURE_BLR.NULL ? NULL : &P.RDB$PROCEDURE_BLR), csb); + } + catch (const Exception&) + { + delete csb; - if (procedure->getStatement()) - procedure->releaseStatement(tdbb); - else - attachment->deletePool(csb_pool); + if (procedure->getStatement()) + procedure->releaseStatement(tdbb); + else + attachment->deletePool(csb_pool); - ERR_post(Arg::Gds(isc_bad_proc_BLR) << Arg::Str(procedure->getName().toString())); - } + ERR_post(Arg::Gds(isc_bad_proc_BLR) << Arg::Str(procedure->getName().toString())); + } - procedure->getStatement()->procedure = procedure; - for (size_t i = 0; i < csb->csb_rpt.getCount(); i++) - { - MessageNode* node = csb->csb_rpt[i].csb_message; + procedure->getStatement()->procedure = procedure; + for (size_t i = 0; i < csb->csb_rpt.getCount(); i++) + { + MessageNode* node = csb->csb_rpt[i].csb_message; - /*** - if (node) - { - if (node->messageNumber == 1) - procedure->prc_output_msg = node; + /*** + if (node) + { + if (node->messageNumber == 1) + procedure->prc_output_msg = node; + } + ***/ } - ***/ + delete csb; } - delete csb; + else + { + RefPtr<MsgMetadata> inputMetadata( + Routine::createMetadata(procedure->getInputFields())); + inputMetadata->release(); + procedure->setInputFormat( + Routine::createFormat(procedure->getPool(), inputMetadata, false)); + + RefPtr<MsgMetadata> outputMetadata( + Routine::createMetadata(procedure->getOutputFields())); + outputMetadata->release(); + procedure->setOutputFormat( + Routine::createFormat(procedure->getPool(), outputMetadata, true)); + + procedure->setImplemented(false); + } } if (P.RDB$VALID_BLR.NULL || P.RDB$VALID_BLR == FALSE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2013-03-27 11:45:05
|
Revision: 57841 http://sourceforge.net/p/firebird/code/57841 Author: alexpeshkoff Date: 2013-03-27 11:45:02 +0000 (Wed, 27 Mar 2013) Log Message: ----------- Added operator include to config files Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/common/config/ConfigCache.cpp firebird/trunk/src/common/config/ConfigCache.h firebird/trunk/src/common/config/config.cpp firebird/trunk/src/common/config/config.h firebird/trunk/src/common/config/config_file.cpp firebird/trunk/src/common/config/config_file.h firebird/trunk/src/common/db_alias.cpp firebird/trunk/src/common/os/path_utils.h firebird/trunk/src/common/os/posix/path_utils.cpp firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql firebird/trunk/src/remote/server/os/posix/inet_server.cpp firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp firebird/trunk/src/utilities/ntrace/TraceConfiguration.cpp Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2013-03-27 11:45:02 UTC (rev 57841) @@ -1516,6 +1516,16 @@ PARAMETER (GDS__no_output_format = 335545051) INTEGER*4 GDS__item_finish PARAMETER (GDS__item_finish = 335545052) + INTEGER*4 GDS__miss_config + PARAMETER (GDS__miss_config = 335545053) + INTEGER*4 GDS__conf_line + PARAMETER (GDS__conf_line = 335545054) + INTEGER*4 GDS__conf_include + PARAMETER (GDS__conf_include = 335545055) + INTEGER*4 GDS__include_depth + PARAMETER (GDS__include_depth = 335545056) + INTEGER*4 GDS__include_miss + PARAMETER (GDS__include_miss = 335545057) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/lang_helpers/gds_codes.pas 2013-03-27 11:45:02 UTC (rev 57841) @@ -765,6 +765,11 @@ gds_wrong_message_length = 335545050; gds_no_output_format = 335545051; gds_item_finish = 335545052; + gds_miss_config = 335545053; + gds_conf_line = 335545054; + gds_conf_include = 335545055; + gds_include_depth = 335545056; + gds_include_miss = 335545057; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/common/config/ConfigCache.cpp =================================================================== --- firebird/trunk/src/common/config/ConfigCache.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/config/ConfigCache.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -28,6 +28,8 @@ #include "../common/config/ConfigCache.h" #include "../common/config/config_file.h" +#include "gen/iberror.h" + #include <sys/types.h> #include <sys/stat.h> @@ -37,39 +39,50 @@ #include <errno.h> #endif -ConfigCache::ConfigCache(Firebird::MemoryPool& p, const Firebird::PathName& fName) - : PermanentStorage(p), fileName(getPool(), fName), fileTime(0) -{ -} +using namespace Firebird; +ConfigCache::ConfigCache(MemoryPool& p, const PathName& fName) + : PermanentStorage(p), files(FB_NEW(getPool()) ConfigCache::File(getPool(), fName)) +{ } + ConfigCache::~ConfigCache() { + delete files; } void ConfigCache::checkLoadConfig() { - time_t newTime = getTime(); - if (fileTime == newTime) - { - return; + { // scope + ReadLockGuard guard(rwLock, "ConfigCache::checkLoadConfig"); + if (files->checkLoadConfig(false)) + { + return; + } } - Firebird::WriteLockGuard guard(rwLock, "ConfigCache::checkLoadConfig"); - + WriteLockGuard guard(rwLock, "ConfigCache::checkLoadConfig"); // may be someone already reloaded? - newTime = getTime(); - if (fileTime == newTime) + if (files->checkLoadConfig(true)) { return; } - fileTime = newTime; - + files->trim(); loadConfig(); } -time_t ConfigCache::getTime() +void ConfigCache::addFile(const Firebird::PathName& fName) { + files->add(fName); +} + +Firebird::PathName ConfigCache::getFileName() +{ + return files->fileName; +} + +time_t ConfigCache::File::getTime() +{ struct stat st; if (stat(fileName.c_str(), &st) != 0) { @@ -78,7 +91,58 @@ // config file is missing, but this is not our problem return 0; } - Firebird::system_call_failed::raise("stat"); + system_call_failed::raise("stat"); } return st.st_mtime; } + +ConfigCache::File::File(MemoryPool& p, const PathName& fName) + : PermanentStorage(p), fileName(getPool(), fName), fileTime(0), next(NULL) +{ } + +ConfigCache::File::~File() +{ + delete next; +} + +bool ConfigCache::File::checkLoadConfig(bool set) +{ + time_t newTime = getTime(); + if (fileTime == newTime) + { + return next ? next->checkLoadConfig(set) : true; + } + + if (set) + { + fileTime = newTime; + if (next) + { + next->checkLoadConfig(set); + } + } + return false; +} + +void ConfigCache::File::add(const PathName& fName) +{ + if (fName == fileName) + { + return; + } + + if (next) + { + next->add(fName); + } + else + { + next = FB_NEW(getPool()) ConfigCache::File(getPool(), fName); + } +} + +void ConfigCache::File::trim() +{ + delete next; + next = NULL; +} Modified: firebird/trunk/src/common/config/ConfigCache.h =================================================================== --- firebird/trunk/src/common/config/ConfigCache.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/config/ConfigCache.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -39,19 +39,35 @@ virtual ~ConfigCache(); void checkLoadConfig(); + void addFile(const Firebird::PathName& fName); + Firebird::PathName getFileName(); protected: virtual void loadConfig() = 0; private: - time_t getTime(); + class File : public Firebird::PermanentStorage + { + public: + File(Firebird::MemoryPool& p, const Firebird::PathName& fName); + ~File(); + bool checkLoadConfig(bool set); + void add(const Firebird::PathName& fName); + void trim(); + + public: + Firebird::PathName fileName; + + private: + volatile time_t fileTime; + File* next; + time_t getTime(); + }; + File* files; + public: Firebird::RWLock rwLock; - Firebird::PathName fileName; - -private: - volatile time_t fileTime; }; #endif // COMMON_CONFIG_CASHE_H Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/config/config.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -45,15 +45,25 @@ { public: explicit ConfigImpl(Firebird::MemoryPool& p) - : Firebird::PermanentStorage(p), confMessage(getPool()) + : Firebird::PermanentStorage(p), missConf(false) { - ConfigFile file(fb_utils::getPrefix(fb_utils::FB_DIR_CONF, CONFIG_FILE)); - defaultConfig = new Config(file); - - if (file.getMessage()) + try { - confMessage = file.getMessage(); + ConfigFile file(fb_utils::getPrefix(fb_utils::FB_DIR_CONF, CONFIG_FILE)); + defaultConfig = new Config(file); } + catch (const Firebird::status_exception& ex) + { + if (ex.value()[1] != isc_miss_config) + { + throw; + } + + missConf = true; + + ConfigFile file(ConfigFile::USE_TEXT, ""); + defaultConfig = new Config(file); + } } /* void changeDefaultConfig(Config* newConfig) @@ -66,9 +76,9 @@ return defaultConfig; } - const char* getMessage() + bool missFirebirdConf() { - return confMessage.nullStr(); + return missConf; } private: @@ -77,7 +87,7 @@ ConfigImpl(const ConfigImpl&); void operator=(const ConfigImpl&); - Firebird::string confMessage; + bool missConf; }; /****************************************************************************** @@ -196,7 +206,7 @@ if (entries[i].data_type == TYPE_STRING && values[i]) { ConfigFile::String expand((const char*)values[i]); - if (file.macroParse(expand) && expand != (const char*) values[i]) + if (file.macroParse(expand, NULL) && expand != (const char*) values[i]) { ConfigFile::String& saved(tempStrings.add()); saved = expand; @@ -313,9 +323,9 @@ return firebirdConf().getDefaultConfig(); } -const char* Config::getMessage() +bool Config::missFirebirdConf() { - return firebirdConf().getMessage(); + return firebirdConf().missFirebirdConf(); } const char* Config::getInstallDirectory() Modified: firebird/trunk/src/common/config/config.h =================================================================== --- firebird/trunk/src/common/config/config.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/config/config.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -185,9 +185,9 @@ Config(const ConfigFile& file, const Config& base); // use to build db-specific config ~Config(); - // Check for errors in .conf file + // Check for missing firebird.conf - static const char* getMessage(); + static bool missFirebirdConf(); // Interface to support command line root specification. // This ugly solution was required to make it possible to specify root Modified: firebird/trunk/src/common/config/config_file.cpp =================================================================== --- firebird/trunk/src/common/config/config_file.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/config/config_file.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -26,7 +26,9 @@ #include "../common/classes/auto.h" #include "../common/config/config_file.h" #include "../common/config/config.h" +#include "../common/config/ConfigCache.h" #include "../common/os/path_utils.h" +#include "../common/ScanDir.h" #include <stdio.h> #ifdef HAVE_STDLIB_H @@ -37,16 +39,36 @@ namespace { +bool hasWildCards(const PathName& s) +{ + return s.find_first_of("?*") != PathName::npos; +} + +void strip2slashes(ConfigFile::String& to) +{ + // strip double slashes + char sep2[3]; + sep2[0] = PathUtils::dir_sep; + sep2[1] = sep2[0]; + sep2[2] = 0; + + size_t pos = 0; + while((pos = to.find(sep2, pos)) != PathName::npos) + { + to.erase(pos, 1); + } +} + class MainStream : public ConfigFile::Stream { public: - MainStream(const char* fname, PathName& errString) - : file(fopen(fname, "rt")), l(0) + MainStream(const char* fname) + : file(fopen(fname, "rt")), fileName(fname), l(0) { if (!file) { // config file does not exist - errString.printf("Missing configuration file: %s", fname); + (Arg::Gds(isc_miss_config) << fname << Arg::OsError()).raise(); } } @@ -65,7 +87,10 @@ { return false; } - input.LoadFromFile(file); + if (!input.LoadFromFile(file)) + { + return false; + } ++l; input.alltrim(" \t\r"); } while (input.isEmpty() || input[0] == '#'); @@ -74,8 +99,19 @@ return true; } + bool active() + { + return file.hasData(); + } + + const char* getFileName() const + { + return fileName.c_str(); + } + private: AutoPtr<FILE, FileClose> file; + Firebird::PathName fileName; unsigned int l; }; @@ -125,6 +161,11 @@ return true; } + const char* getFileName() const + { + return NULL; + } + private: const char* s; unsigned int l; @@ -133,8 +174,8 @@ class SubStream : public ConfigFile::Stream { public: - SubStream() - : cnt(0) + SubStream(const char* fName) + : fileName(fName), cnt(0) { } bool getLine(ConfigFile::String& input, unsigned int& line) @@ -157,65 +198,71 @@ data.push(Line(input, line)); } + const char* getFileName() const + { + return fileName; + } + private: typedef Pair<Left<ConfigFile::String, unsigned int> > Line; ObjectsArray<Line> data; + const char* fileName; size_t cnt; }; } // anonymous namespace -ConfigFile::ConfigFile(const Firebird::PathName& file, USHORT fl) +ConfigFile::ConfigFile(const Firebird::PathName& file, USHORT fl, ConfigCache* cache) : AutoStorage(), - configFile(getPool(), file), parameters(getPool()), flags(fl), - lastMessage(getPool()) + includeLimit(0), + filesCache(cache) { - MainStream s(configFile.c_str(), lastMessage); + MainStream s(file.c_str()); parse(&s); } -ConfigFile::ConfigFile(const char* file, USHORT fl) +ConfigFile::ConfigFile(const char* file, USHORT fl, ConfigCache* cache) : AutoStorage(), - configFile(getPool(), String(file)), parameters(getPool()), flags(fl), - lastMessage(getPool()) + includeLimit(0), + filesCache(cache) { - MainStream s(configFile.c_str(), lastMessage); + MainStream s(file); parse(&s); } ConfigFile::ConfigFile(UseText, const char* configText, USHORT fl) : AutoStorage(), - configFile(getPool()), parameters(getPool()), flags(fl), - lastMessage(getPool()) + includeLimit(0), + filesCache(NULL) { TextStream s(configText); parse(&s); } -ConfigFile::ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl) +ConfigFile::ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl, ConfigCache* cache) : AutoStorage(p), - configFile(getPool(), file), parameters(getPool()), flags(fl), - lastMessage(getPool()) + includeLimit(0), + filesCache(cache) { - MainStream s(configFile.c_str(), lastMessage); + MainStream s(file.c_str()); parse(&s); } -ConfigFile::ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl, const Firebird::PathName& file) +ConfigFile::ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl) : AutoStorage(p), - configFile(getPool(), file), parameters(getPool()), flags(fl), - lastMessage(getPool()) + includeLimit(0), + filesCache(NULL) { parse(s); } @@ -229,12 +276,14 @@ * Parse line, taking quotes into account */ -ConfigFile::LineType ConfigFile::parseLine(const String& input, KeyType& key, String& value) +ConfigFile::LineType ConfigFile::parseLine(const char* fileName, const String& input, KeyType& key, String& value) { int inString = 0; String::size_type valStart = 0; String::size_type eol = String::npos; bool hasSub = false; + const char* include = "include"; + const unsigned incLen = strlen(include); for (String::size_type n = 0; n < input.length(); ++n) { @@ -271,6 +320,22 @@ case ' ': case '\t': + if (n == incLen && key.isEmpty()) + { + KeyType inc = input.substr(0, n).ToNoCaseString(); + if (inc == include) + { + value = input.substr(n); + value.alltrim(" \t\r"); + + if (!macroParse(value, fileName)) + { + return LINE_BAD; + } + return LINE_INCLUDE; + } + } + // fall down ... case '\r': break; @@ -317,7 +382,7 @@ } // Now expand macros in value - if (!macroParse(value)) + if (!macroParse(value, fileName)) { return LINE_BAD; } @@ -330,7 +395,7 @@ * Substitute macro values in a string */ -bool ConfigFile::macroParse(String& value) const +bool ConfigFile::macroParse(String& value, const char* fileName) const { String::size_type subFrom; @@ -341,7 +406,7 @@ { String macro; String m = value.substr(subFrom + 2, subTo - (subFrom + 2)); - if (! translate(m, macro)) + if (! translate(fileName, m, macro)) { return false; } @@ -353,6 +418,7 @@ } } + strip2slashes(value); return true; } @@ -361,7 +427,7 @@ * Find macro value */ -bool ConfigFile::translate(const String& from, String& to) const +bool ConfigFile::translate(const char* fileName, const String& from, String& to) const { if (from == "root") { @@ -373,28 +439,28 @@ } else if (from == "this") { - if (configFile.isEmpty()) + if (!fileName) { return false; } - PathName tempPath = configFile; + PathName tempPath(fileName); #ifdef UNIX if (PathUtils::isSymLink(tempPath)) { // If $(this) is a symlink, expand it. TEXT temp[MAXPATHLEN]; - const int n = readlink(configFile.c_str(), temp, sizeof(temp)); + const int n = readlink(fileName, temp, sizeof(temp)); - if (n != -1 && n < sizeof(temp)) + if (n != -1 && unsigned(n) < sizeof(temp)) { tempPath = temp; if (PathUtils::isRelative(tempPath)) { PathName parent; - PathUtils::splitLastComponent(parent, tempPath, configFile); + PathUtils::splitLastComponent(parent, tempPath, fileName); PathUtils::concatPath(tempPath, parent, temp); } } @@ -460,10 +526,9 @@ * Take into an account fault line */ -void ConfigFile::badLine(const String& line) +void ConfigFile::badLine(const char* fileName, const String& line) { - lastMessage.printf("%s: illegal line <%s>", - (configFile.hasData() ? configFile.c_str() : "Passed text"), line.c_str()); + (Arg::Gds(isc_conf_line) << (fileName ? fileName : "Passed text") << line).raise(); } /****************************************************************************** @@ -476,28 +541,33 @@ String inputLine; Parameter* previous = NULL; unsigned int line; + const char* streamName = stream->getFileName(); while (stream->getLine(inputLine, line)) { Parameter current; current.line = line; - switch (parseLine(inputLine, current.name, current.value)) + switch (parseLine(streamName, inputLine, current.name, current.value)) { case LINE_BAD: - badLine(inputLine); + badLine(streamName, inputLine); return; case LINE_REGULAR: if (current.name.isEmpty()) { - badLine(inputLine); + badLine(streamName, inputLine); return; } previous = ¶meters[parameters.add(current)]; break; + case LINE_INCLUDE: + include(streamName, current.value.ToPathName()); + break; + case LINE_START_SUB: if (current.name.hasData()) { @@ -506,7 +576,7 @@ } { // subconf scope - SubStream subStream; + SubStream subStream(stream->getFileName()); while (stream->getLine(inputLine, line)) { if (inputLine[0] == '}') @@ -515,7 +585,7 @@ s.ltrim(" \t\r"); if (s.hasData() && s[0] != '#') { - badLine(s); + badLine(streamName, s); return; } break; @@ -523,20 +593,128 @@ subStream.putLine(inputLine, line); } - previous->sub = FB_NEW(getPool()) ConfigFile(getPool(), &subStream, - flags & ~HAS_SUB_CONF, configFile); + previous->sub = FB_NEW(getPool()) + ConfigFile(getPool(), &subStream, flags & ~HAS_SUB_CONF); } break; } } } +//#define DEBUG_INCLUDES + /****************************************************************************** * - * Check for parse/load error + * Parse include operator */ -const char* ConfigFile::getMessage() const +void ConfigFile::include(const char* currentFileName, const PathName& parPath) { - return lastMessage.nullStr(); + // We should better limit include depth + AutoSetRestore<unsigned> depth(&includeLimit, includeLimit + 1); + if (includeLimit > INCLUDE_LIMIT) + { + (Arg::Gds(isc_conf_include) << currentFileName << parPath << Arg::Gds(isc_include_depth)).raise(); + } + + // for relative paths first of all prepend with current path (i.e. path of current conf file) + PathName path; + if (PathUtils::isRelative(parPath)) + { + PathName curPath; + PathUtils::splitLastComponent(curPath, path /*dummy*/, currentFileName); + PathUtils::concatPath(path, curPath, parPath); + } + else + { + path = parPath; + } + + // split path into components + PathName pathPrefix; + PathUtils::splitPrefix(path, pathPrefix); + PathName savedPath(path); // Expect no *? in prefix + FilesArray components; + while (path.hasData()) + { + PathName cur, tmp; + PathUtils::splitLastComponent(tmp, cur, path); + +#ifdef DEBUG_INCLUDES + fprintf(stderr, "include: path=%s cur=%s tmp=%s\n", path.c_str(), cur.c_str(), tmp.c_str()); +#endif + + components.push(cur); + path = tmp; + } + + // analyze components for wildcards + if (!wildCards(currentFileName, pathPrefix, components)) + { + // no matches found - check for presence of wild symbols in path + if (!hasWildCards(savedPath)) + { + (Arg::Gds(isc_conf_include) << currentFileName << parPath << Arg::Gds(isc_include_miss)).raise(); + } + } } + +/****************************************************************************** + * + * Parse wildcards + * - calls parse for found files + * - fills filesCache + * - returns true if some match was found + */ + +bool ConfigFile::wildCards(const char* currentFileName, const PathName& pathPrefix, FilesArray& components) +{ + // Any change in directory can cause config change + PathName prefix(pathPrefix); + if(!pathPrefix.hasData()) + prefix = "."; + + bool found = false; + PathName next(components.pop()); + +#ifdef DEBUG_INCLUDES + fprintf(stderr, "wildCards: prefix=%s next=%s left=%d\n", + prefix.c_str(), next.c_str(), components.getCount()); +#endif + + ScanDir list(prefix.c_str(), next.c_str()); + while (list.next()) + { + PathName name; + const PathName fileName = list.getFileName(); + if (fileName == ".") + continue; + if (fileName[0] == '.' && next[0] != '.') + continue; + PathUtils::concatPath(name, pathPrefix, fileName); + +#ifdef DEBUG_INCLUDES + fprintf(stderr, "in Scan: name=%s pathPrefix=%s list.fileName=%s\n", + name.c_str(), pathPrefix.c_str(), fileName.c_str()); +#endif + + if (filesCache) + filesCache->addFile(name); + + if (components.hasData()) // should be directory + { + found = found || wildCards(currentFileName, name, components); + } + else + { + MainStream include(name.c_str()); + if (include.active()) + { + found = true; + parse(&include); + } + } + } + + return found; +} Modified: firebird/trunk/src/common/config/config_file.h =================================================================== --- firebird/trunk/src/common/config/config_file.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/config/config_file.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -46,6 +46,8 @@ (common/config/config.cpp) and server-side alias manager (common/db_alias.cpp). **/ +class ConfigCache; + class ConfigFile : public Firebird::AutoStorage, public Firebird::RefCounted { public: @@ -65,6 +67,7 @@ public: virtual ~Stream(); virtual bool getLine(String&, unsigned int&) = 0; + virtual const char* getFileName() const = 0; }; struct Parameter : public AutoStorage @@ -90,15 +93,16 @@ typedef Firebird::SortedObjectsArray<Parameter, Firebird::InlineStorage<Parameter*, 100>, KeyType, Parameter> Parameters; + typedef Firebird::ObjectsArray<Firebird::PathName> FilesArray; - ConfigFile(const Firebird::PathName& file, USHORT fl = 0); - ConfigFile(const char* file, USHORT fl = 0); + ConfigFile(const Firebird::PathName& file, USHORT fl = 0, ConfigCache* cache = NULL); + ConfigFile(const char* file, USHORT fl = 0, ConfigCache* cache = NULL); ConfigFile(UseText, const char* configText, USHORT fl = 0); - ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl = 0); + ConfigFile(MemoryPool& p, const Firebird::PathName& file, USHORT fl = 0, ConfigCache* cache = NULL); private: - ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl, const Firebird::PathName& file); + ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl); public: // key and value management @@ -111,26 +115,25 @@ return parameters; } - // was there some error parsing config file? - const char* getMessage() const; - // Substitute macro values in a string - bool macroParse(String& value) const; + bool macroParse(String& value, const char* fileName) const; private: - enum LineType {LINE_BAD, LINE_REGULAR, LINE_START_SUB}; + enum LineType {LINE_BAD, LINE_REGULAR, LINE_START_SUB, LINE_INCLUDE}; - Firebird::PathName configFile; Parameters parameters; USHORT flags; - USHORT badLinesCount; - Firebird::PathName lastMessage; + unsigned includeLimit; + ConfigCache* filesCache; + static const unsigned INCLUDE_LIMIT = 64; // utilities void parse(Stream* stream); - LineType parseLine(const String& input, KeyType& key, String& value); - bool translate(const String& from, String& to) const; - void badLine(const String& line); + LineType parseLine(const char* fileName, const String& input, KeyType& key, String& value); + bool translate(const char* fileName, const String& from, String& to) const; + void badLine(const char* fileName, const String& line); + void include(const char* currentFileName, const Firebird::PathName& path); + bool wildCards(const char* currentFileName, const Firebird::PathName& pathPrefix, FilesArray& components); }; #endif // CONFIG_CONFIG_FILE_H Modified: firebird/trunk/src/common/db_alias.cpp =================================================================== --- firebird/trunk/src/common/db_alias.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/db_alias.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -198,7 +198,7 @@ } databases.clear(); - ConfigFile aliasConfig(fileName, ConfigFile::HAS_SUB_CONF); + ConfigFile aliasConfig(getFileName(), ConfigFile::HAS_SUB_CONF, this); const ConfigFile::Parameters& params = aliasConfig.getParameters(); for (n = 0; n < params.getCount(); ++n) Modified: firebird/trunk/src/common/os/path_utils.h =================================================================== --- firebird/trunk/src/common/os/path_utils.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/os/path_utils.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -147,6 +147,13 @@ static void splitLastComponent(Firebird::PathName&, Firebird::PathName&, const Firebird::PathName&); + /** splitPrefix takes a path as the first argument, splits OS-dependent prefix + from it (something like C:\, D: or \ in windows or / in posix), + and returns stripped path inplace, i.e. as first argument. + Prefix is returned as the second argument. + **/ + static void splitPrefix(Firebird::PathName& path, Firebird::PathName& prefix); + /** This is the factory method for allocating dir_iterator objects. It takes a reference to a memory pool to use for all heap allocations, and the path of the directory to iterate (in that order). It is the Modified: firebird/trunk/src/common/os/posix/path_utils.cpp =================================================================== --- firebird/trunk/src/common/os/posix/path_utils.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/common/os/posix/path_utils.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -118,6 +118,16 @@ file.append(orgPath, pos + 1, orgPath.length() - pos - 1); } +void PathUtils::splitPrefix(Firebird::PathName& path, Firebird::PathName& prefix) +{ + prefix.erase(); + while (path[0] == dir_sep) + { + prefix = dir_sep; + path.erase(0, 1); + } +} + void PathUtils::concatPath(Firebird::PathName& result, const Firebird::PathName& first, const Firebird::PathName& second) Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/include/gen/codetext.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -754,6 +754,11 @@ {"wrong_message_length", 335545050}, {"no_output_format", 335545051}, {"item_finish", 335545052}, + {"miss_config", 335545053}, + {"conf_line", 335545054}, + {"conf_include", 335545055}, + {"include_depth", 335545056}, + {"include_miss", 335545057}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/include/gen/iberror.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -788,6 +788,11 @@ const ISC_STATUS isc_wrong_message_length = 335545050L; const ISC_STATUS isc_no_output_format = 335545051L; const ISC_STATUS isc_item_finish = 335545052L; +const ISC_STATUS isc_miss_config = 335545053L; +const ISC_STATUS isc_conf_line = 335545054L; +const ISC_STATUS isc_conf_include = 335545055L; +const ISC_STATUS isc_include_depth = 335545056L; +const ISC_STATUS isc_include_miss = 335545057L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1232,7 +1237,7 @@ const ISC_STATUS isc_trace_switch_param_miss = 337182758L; const ISC_STATUS isc_trace_param_act_notcompat = 337182759L; const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L; -const ISC_STATUS isc_err_max = 1176; +const ISC_STATUS isc_err_max = 1181; #else /* c definitions */ @@ -1990,6 +1995,11 @@ #define isc_wrong_message_length 335545050L #define isc_no_output_format 335545051L #define isc_item_finish 335545052L +#define isc_miss_config 335545053L +#define isc_conf_line 335545054L +#define isc_conf_include 335545055L +#define isc_include_depth 335545056L +#define isc_include_miss 335545057L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2434,7 +2444,7 @@ #define isc_trace_switch_param_miss 337182758L #define isc_trace_param_act_notcompat 337182759L #define isc_trace_mandatory_switch_miss 337182760L -#define isc_err_max 1176 +#define isc_err_max 1181 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/include/gen/msgs.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -757,6 +757,11 @@ {335545050, "Message length passed from user application does not match set of columns"}, /* wrong_message_length */ {335545051, "Resultset is missing output format information"}, /* no_output_format */ {335545052, "Message metadata not ready - item @1 is not finished"}, /* item_finish */ + {335545053, "Missing configuration file: @1"}, /* miss_config */ + {335545054, "@1: illegal line <@2>"}, /* conf_line */ + {335545055, "Invalid include operator in @1 for <@2>"}, /* conf_include */ + {335545056, "Include depth too big"}, /* include_depth */ + {335545057, "File to include not found"}, /* include_miss */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/include/gen/sql_code.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -753,6 +753,11 @@ {335545050, -804}, /* 730 wrong_message_length */ {335545051, -804}, /* 731 no_output_format */ {335545052, -804}, /* 732 item_finish */ + {335545053, -902}, /* 733 miss_config */ + {335545054, -902}, /* 734 conf_line */ + {335545055, -902}, /* 735 conf_include */ + {335545056, -902}, /* 736 include_depth */ + {335545057, -902}, /* 737 include_miss */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/include/gen/sql_state.h 2013-03-27 11:45:02 UTC (rev 57841) @@ -753,6 +753,11 @@ {335545050, "07000"}, // 730 wrong_message_length {335545051, "07000"}, // 731 no_output_format {335545052, "HY021"}, // 732 item_finish + {335545053, "XX000"}, // 733 miss_config + {335545054, "XX000"}, // 734 conf_line + {335545055, "XX000"}, // 735 conf_include + {335545056, "XX000"}, // 736 include_depth + {335545057, "XX000"}, // 737 include_miss {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/msgs/facilities2.sql 2013-03-27 11:45:02 UTC (rev 57841) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2013-02-21 18:12:38', 'JRD', 0, 733) +('2013-03-26 17:52:41', 'JRD', 0, 738) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2009-07-16 05:26:11', 'GFIX', 3, 121) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/msgs/messages2.sql 2013-03-27 11:45:02 UTC (rev 57841) @@ -840,6 +840,11 @@ ('wrong_message_length', NULL, 'why.cpp', NULL, 0, 730, NULL, 'Message length passed from user application does not match set of columns', NULL, NULL); ('no_output_format', NULL, 'why.cpp', NULL, 0, 731, NULL, 'Resultset is missing output format information', NULL, NULL); ('item_finish', NULL, 'MsgMetadata.cpp', NULL, 0, 732, NULL, 'Message metadata not ready - item @1 is not finished', NULL, NULL); +('miss_config', NULL, 'config_file.cpp', NULL, 0, 733, NULL, 'Missing configuration file: @1', NULL, NULL); +('conf_line', NULL, 'config_file.cpp', NULL, 0, 734, NULL, '@1: illegal line <@2>', NULL, NULL); +('conf_include', NULL, 'config_file.cpp', NULL, 0, 735, NULL, 'Invalid include operator in @1 for <@2>', NULL, NULL); +('include_depth', NULL, 'config_file.cpp', NULL, 0, 736, NULL, 'Include depth too big', NULL, NULL); +('include_miss', NULL, 'config_file.cpp', NULL, 0, 737, NULL, 'File to include not found', NULL, NULL); -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/msgs/system_errors2.sql 2013-03-27 11:45:02 UTC (rev 57841) @@ -739,6 +739,11 @@ (-804, '07', '000', 0, 730, 'wrong_message_length', NULL, NULL) (-804, '07', '000', 0, 731, 'no_output_format', NULL, NULL) (-804, 'HY', '021', 0, 732, 'item_finish', NULL, NULL) +(-902, 'XX', '000', 0, 733, 'miss_config', NULL, NULL) +(-902, 'XX', '000', 0, 734, 'conf_line', NULL, NULL) +(-902, 'XX', '000', 0, 735, 'conf_include', NULL, NULL) +(-902, 'XX', '000', 0, 736, 'include_depth', NULL, NULL) +(-902, 'XX', '000', 0, 737, 'include_miss', NULL, NULL) -- GFIX (-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL) (-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL) Modified: firebird/trunk/src/remote/server/os/posix/inet_server.cpp =================================================================== --- firebird/trunk/src/remote/server/os/posix/inet_server.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/remote/server/os/posix/inet_server.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -39,6 +39,7 @@ #include "../jrd/ibase.h" #include "../common/classes/init.h" #include "../common/config/config.h" +#include "../common/os/fbsyslog.h" #include <sys/param.h> #ifdef HAVE_SYS_TYPES_H @@ -156,6 +157,8 @@ * Run the server with apollo mailboxes. * **************************************/ + try + { RemPortPtr port; // 01 Sept 2003, Nickolay Samofatov @@ -339,6 +342,13 @@ divorce_terminal(mask); } + // check firebird.conf presence - must be for server + if (Config::missFirebirdConf()) + { + Firebird::Syslog::Record(Firebird::Syslog::Error, "Missing master config file firebird.conf"); + exit(STARTUP_ERROR); + } + if (super || standaloneClassic) { try @@ -424,6 +434,21 @@ fb_shutdown(10000, fb_shutrsn_exit_called); return FINI_OK; + } + catch(const Firebird::Exception& ex) + { + ISC_STATUS_ARRAY status; + ex.stuff_exception(status); + + char s[100]; + const ISC_STATUS* st = status; + fb_interpret(s, sizeof(s), &st); + + Firebird::Syslog::Record(Firebird::Syslog::Error, "Firebird startup error"); + Firebird::Syslog::Record(Firebird::Syslog::Error, s); + + exit(STARTUP_ERROR); + } } } // extern "C" Modified: firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp =================================================================== --- firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/remote/server/os/win32/srvr_w32.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -206,10 +206,10 @@ return STARTUP_ERROR; // see /common/common.h } - // Check for errors/missing firebird.conf - const char* anyError = Config::getMessage(); - if (anyError) + // Check for missing firebird.conf + if (Config::missFirebirdConf()) { + const char* anyError = "Missing master config file firebird.conf"; Syslog::Record(Syslog::Error, anyError); MessageBox(NULL, anyError, "Firebird server failure", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL | MB_DEFAULT_DESKTOP_ONLY); Modified: firebird/trunk/src/utilities/ntrace/TraceConfiguration.cpp =================================================================== --- firebird/trunk/src/utilities/ntrace/TraceConfiguration.cpp 2013-03-27 01:34:44 UTC (rev 57840) +++ firebird/trunk/src/utilities/ntrace/TraceConfiguration.cpp 2013-03-27 11:45:02 UTC (rev 57841) @@ -92,10 +92,6 @@ void TraceCfgReader::readConfig() { ConfigFile cfgFile(ConfigFile::USE_TEXT, m_text, ConfigFile::HAS_SUB_CONF); - if (cfgFile.getMessage()) - { - fatal_exception::raiseFmt(ERROR_PREFIX"%s", cfgFile.getMessage()); - } m_subpatterns[0].start = 0; m_subpatterns[0].end = m_databaseName.length(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-28 00:36:03
|
Revision: 57854 http://sourceforge.net/p/firebird/code/57854 Author: firebirds Date: 2013-03-28 00:35:57 +0000 (Thu, 28 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-27 16:09:18 UTC (rev 57853) +++ firebird/trunk/ChangeLog 2013-03-28 00:35:57 UTC (rev 57854) @@ -1,3 +1,58 @@ + 2013-03-27 16:09 asfernandes + M src/dsql/DdlNodes.epp +Fixed CORE-4071 - external function declaration with "returns parameter" crashes the server. + + 2013-03-27 15:54 asfernandes + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h +Fixed CORE-4070 - NOT-NULL-column can be used as primary key and filled with NULL-values. + + 2013-03-27 12:32 alexpeshkoff + M src/common/os/win32/path_utils.cpp +Aproximate change for windows - not checked + + 2013-03-27 11:45 alexpeshkoff + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/common/config/ConfigCache.cpp + M src/common/config/ConfigCache.h + M src/common/config/config.cpp + M src/common/config/config.h + M src/common/config/config_file.cpp + M src/common/config/config_file.h + M src/common/db_alias.cpp + M src/common/os/path_utils.h + M src/common/os/posix/path_utils.cpp + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql + M src/remote/server/os/posix/inet_server.cpp + M src/remote/server/os/win32/srvr_w32.cpp + M src/utilities/ntrace/TraceConfiguration.cpp +Added operator include to config files + + 2013-03-27 01:34 asfernandes + M builds/posix/Makefile.in.plugins_examples + M src/jrd/ExtEngineManager.cpp + M src/jrd/Function.epp + M src/jrd/Routine.cpp + M src/jrd/Routine.h + M src/jrd/met.epp +Fixed CORE-4068 - create package fails on creating header as soon as there is at least 1 procedure name. + + 2013-03-27 01:34 asfernandes + M src/common/MsgMetadata.cpp + M src/common/MsgMetadata.h + M src/jrd/ExtEngineManager.cpp + A src/jrd/Routine.cpp + M src/jrd/Routine.h +Refactor. + 2013-03-25 15:59 asfernandes M src/include/firebird/UdrCppEngine.h Work in progress standardizing the external engines API. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-27 16:09:18 UTC (rev 57853) +++ firebird/trunk/src/jrd/build_no.h 2013-03-28 00:35:57 UTC (rev 57854) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30296 + FORMAL BUILD NUMBER:30302 */ -#define PRODUCT_VER_STRING "3.0.0.30296" -#define FILE_VER_STRING "WI-T3.0.0.30296" -#define LICENSE_VER_STRING "WI-T3.0.0.30296" -#define FILE_VER_NUMBER 3, 0, 0, 30296 +#define PRODUCT_VER_STRING "3.0.0.30302" +#define FILE_VER_STRING "WI-T3.0.0.30302" +#define LICENSE_VER_STRING "WI-T3.0.0.30302" +#define FILE_VER_NUMBER 3, 0, 0, 30302 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30296" +#define FB_BUILD_NO "30302" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-27 16:09:18 UTC (rev 57853) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-28 00:35:57 UTC (rev 57854) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30296 +BuildNum=30302 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2013-03-28 09:32:33
|
Revision: 57856 http://sourceforge.net/p/firebird/code/57856 Author: mapopa Date: 2013-03-28 09:32:30 +0000 (Thu, 28 Mar 2013) Log Message: ----------- update config files after fixing recent version of autoconf/automake/libtool complain about the firebird scripts aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in' Modified Paths: -------------- firebird/trunk/builds/make.new/config/install-sh firebird/trunk/extern/editline/configure Modified: firebird/trunk/builds/make.new/config/install-sh =================================================================== --- firebird/trunk/builds/make.new/config/install-sh 2013-03-28 07:24:25 UTC (rev 57855) +++ firebird/trunk/builds/make.new/config/install-sh 2013-03-28 09:32:30 UTC (rev 57856) @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2010-02-06.18; # UTC +scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -156,6 +156,10 @@ -s) stripcmd=$stripprog;; -t) dst_arg=$2 + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac shift;; -T) no_target_directory=true;; @@ -186,6 +190,10 @@ fi shift # arg dst_arg=$arg + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -232,9 +240,9 @@ for src do - # Protect names starting with `-'. + # Protect names problematic for `test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -256,12 +264,7 @@ echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. @@ -389,7 +392,7 @@ case $dstdir in /*) prefix='/';; - -*) prefix='./';; + [-=\(\)!]*) prefix='./';; *) prefix='';; esac @@ -407,7 +410,7 @@ for d do - test -z "$d" && continue + test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then Modified: firebird/trunk/extern/editline/configure =================================================================== --- firebird/trunk/extern/editline/configure 2013-03-28 07:24:25 UTC (rev 57855) +++ firebird/trunk/extern/editline/configure 2013-03-28 09:32:30 UTC (rev 57856) @@ -1,11 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.67 for libedit 2.10. +# Generated by GNU Autoconf 2.69 for libedit 2.10. # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -89,6 +87,7 @@ IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -133,6 +132,31 @@ # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -166,7 +190,8 @@ else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -211,14 +236,25 @@ if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -320,6 +356,14 @@ } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -441,6 +485,10 @@ chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -475,16 +523,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -496,28 +544,8 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -702,7 +730,7 @@ # Identity of this package. PACKAGE_NAME='libedit' -PACKAGE_TARNAME='libedit-20110601' +PACKAGE_TARNAME='libedit-20130325' PACKAGE_VERSION='2.10' PACKAGE_STRING='libedit 2.10' PACKAGE_BUGREPORT='' @@ -1286,7 +1314,7 @@ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1337,8 +1365,6 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1473,7 +1499,7 @@ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root - [DATAROOTDIR/doc/libedit-20110601] + [DATAROOTDIR/doc/libedit-20130325] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1601,9 +1627,9 @@ if $ac_init_version; then cat <<\_ACEOF libedit configure 2.10 -generated by GNU Autoconf 2.67 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1647,7 +1673,7 @@ ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1679,7 +1705,7 @@ test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1693,7 +1719,7 @@ # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -1730,7 +1756,7 @@ ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -1743,10 +1769,10 @@ ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval "test \"\${$3+set}\"" = set; then : + if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -1809,7 +1835,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -1818,7 +1844,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel @@ -1859,7 +1885,7 @@ ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -1873,7 +1899,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1891,7 +1917,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -1903,7 +1929,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1958,7 +1984,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func @@ -1995,7 +2021,7 @@ ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile @@ -2032,7 +2058,7 @@ ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp @@ -2064,7 +2090,7 @@ test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -2078,7 +2104,7 @@ # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link @@ -2116,7 +2142,7 @@ ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_f77_try_compile @@ -2148,7 +2174,7 @@ test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -2162,7 +2188,7 @@ # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_f77_try_link @@ -2176,7 +2202,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -2217,7 +2243,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type cat >config.log <<_ACEOF @@ -2225,7 +2251,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by libedit $as_me 2.10, which was -generated by GNU Autoconf 2.67. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2483,7 +2509,7 @@ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi done @@ -2623,7 +2649,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2643,7 +2669,7 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2800,7 +2826,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -2812,7 +2838,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2840,7 +2866,7 @@ $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -2893,7 +2919,7 @@ # Define the identity of the package. - PACKAGE='libedit-20110601' + PACKAGE='libedit-20130325' VERSION='2.10' @@ -2934,7 +2960,7 @@ set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -2946,7 +2972,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2974,7 +3000,7 @@ set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -2986,7 +3012,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3042,7 +3068,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias @@ -3058,7 +3084,7 @@ $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -3076,7 +3102,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : +if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then @@ -3091,7 +3117,7 @@ $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -3263,7 +3289,7 @@ set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3275,7 +3301,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3303,7 +3329,7 @@ set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3315,7 +3341,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3356,7 +3382,7 @@ set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3368,7 +3394,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3396,7 +3422,7 @@ set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3409,7 +3435,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -3455,7 +3481,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3467,7 +3493,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3499,7 +3525,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3511,7 +3537,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3554,7 +3580,7 @@ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3669,7 +3695,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3712,7 +3738,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -3771,7 +3797,7 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi fi fi @@ -3782,7 +3808,7 @@ ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3823,7 +3849,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -3833,7 +3859,7 @@ ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3870,7 +3896,7 @@ ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -3948,7 +3974,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -3957,8 +3983,7 @@ /* end confdefs.h. */ #include <stdarg.h> #include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -4047,7 +4072,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : +if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then @@ -4154,7 +4179,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${lt_cv_path_SED+set}" = set; then : +if ${lt_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else # Loop through the user's path and test for sed and gsed. @@ -4166,7 +4191,7 @@ test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done @@ -4213,7 +4238,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -4227,7 +4252,7 @@ for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4276,7 +4301,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -4293,7 +4318,7 @@ for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4388,7 +4413,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${lt_cv_path_LD+set}" = set; then : +if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -4428,7 +4453,7 @@ test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : +if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. @@ -4448,7 +4473,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then : +if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' @@ -4473,7 +4498,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD-compatible nm" >&5 $as_echo_n "checking for BSD-compatible nm... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then : +if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then @@ -4537,7 +4562,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then : +if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' @@ -4771,7 +4796,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4774 "configure"' > conftest.$ac_ext + echo '#line 4799 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4865,7 +4890,7 @@ CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then : +if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c @@ -4948,7 +4973,7 @@ CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -5064,7 +5089,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -5076,7 +5101,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5206,7 +5231,7 @@ for ac_header in dlfcn.h do : ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" -if test "x$ac_cv_header_dlfcn_h" = x""yes; then : +if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF @@ -5231,7 +5256,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : +if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then @@ -5243,7 +5268,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5275,7 +5300,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : +if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then @@ -5287,7 +5312,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5353,7 +5378,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : +if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5390,7 +5415,7 @@ ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : +if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag @@ -5476,7 +5501,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then : +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then @@ -5594,7 +5619,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then : + if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded @@ -5710,7 +5735,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=cpp @@ -5727,13 +5752,13 @@ ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_F77+set}" = set; then : +if ${ac_cv_prog_F77+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$F77"; then @@ -5745,7 +5770,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5771,13 +5796,13 @@ fi if test -z "$F77"; then ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_F77+set}" = set; then : +if ${ac_cv_prog_ac_ct_F77+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_F77"; then @@ -5789,7 +5814,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_F77="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5859,7 +5884,7 @@ ac_ext=F { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 $as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } -if test "${ac_cv_f77_compiler_gnu+set}" = set; then : +if ${ac_cv_f77_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.$ac_ext <<_ACEOF @@ -5887,7 +5912,7 @@ FFLAGS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 $as_echo_n "checking whether $F77 accepts -g... " >&6; } -if test "${ac_cv_prog_f77_g+set}" = set; then : +if ${ac_cv_prog_f77_g+:} false; then : $as_echo_n "(cached) " >&6 else FFLAGS=-g @@ -5939,7 +5964,7 @@ # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then : +if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 @@ -6063,7 +6088,7 @@ # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : +if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else @@ -6275,7 +6300,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then : +if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null @@ -6342,7 +6367,7 @@ set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then : +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -6354,7 +6379,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6382,7 +6407,7 @@ set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : +if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -6394,7 +6419,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6434,7 +6459,7 @@ set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -6446,7 +6471,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6474,7 +6499,7 @@ set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -6486,7 +6511,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6526,7 +6551,7 @@ set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -6538,7 +6563,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6566,7 +6591,7 @@ set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -6578,7 +6603,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6669,7 +6694,7 @@ if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -6731,7 +6756,7 @@ if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -6806,7 +6831,7 @@ set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : +if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then @@ -6818,7 +6843,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6846,7 +6871,7 @@ set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then @@ -6858,7 +6883,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6898,7 +6923,7 @@ set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then : +if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then @@ -6910,7 +6935,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6938,7 +6963,7 @@ set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then @@ -6950,7 +6975,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6988,7 +7013,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then : +if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no @@ -7011,7 +7036,7 @@ $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : +if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no @@ -7195,7 +7220,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no @@ -7211,11 +7236,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7214: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7239: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7218: \$? = $ac_status" >&5 + echo "$as_me:7243: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7485,7 +7510,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : +if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no @@ -7501,11 +7526,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7504: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7529: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7508: \$? = $ac_status" >&5 + echo "$as_me:7533: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7548,7 +7573,7 @@ wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then : +if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no @@ -7586,7 +7611,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : +if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no @@ -7605,11 +7630,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7608: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7633: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7612: \$? = $ac_status" >&5 + echo "$as_me:7637: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9269,14 +9294,14 @@ $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then : +if ${lt_cv_sys_lib_search_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" fi sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then : +if ${lt_cv_sys_lib_dlsearch_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" @@ -9385,7 +9410,7 @@ # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -9419,7 +9444,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else @@ -9433,12 +9458,12 @@ *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = x""yes; then : +if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then : +if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -9472,16 +9497,16 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = x""yes; then : +if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -9515,12 +9540,12 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : +if test "x$ac_c... [truncated message content] |
From: <ale...@us...> - 2013-03-28 15:35:32
|
Revision: 57864 http://sourceforge.net/p/firebird/code/57864 Author: alexpeshkoff Date: 2013-03-28 15:35:29 +0000 (Thu, 28 Mar 2013) Log Message: ----------- Added macros for main firebird directories to config files Modified Paths: -------------- firebird/trunk/builds/install/misc/aliases.conf.in firebird/trunk/src/common/config/config_file.cpp firebird/trunk/src/common/config/config_file.h Modified: firebird/trunk/builds/install/misc/aliases.conf.in =================================================================== --- firebird/trunk/builds/install/misc/aliases.conf.in 2013-03-28 13:55:16 UTC (rev 57863) +++ firebird/trunk/builds/install/misc/aliases.conf.in 2013-03-28 15:35:29 UTC (rev 57864) @@ -5,11 +5,8 @@ # # Example Database: # -#employee.fdb = @FB_SAMPLEDBDIR@/employee.fdb -#employee = @FB_SAMPLEDBDIR@/employee.fdb -# TODO: When added appropriate feature to config - use $(SAMPLEDBDIR) instead -employee.fdb = $(root)/examples/empbuild/employee.fdb -employee = $(root)/examples/empbuild/employee.fdb +employee.fdb = $(dir_sampledb)/employee.fdb +employee = $(dir_sampledb)/employee.fdb # # Live Databases: Modified: firebird/trunk/src/common/config/config_file.cpp =================================================================== --- firebird/trunk/src/common/config/config_file.cpp 2013-03-28 13:55:16 UTC (rev 57863) +++ firebird/trunk/src/common/config/config_file.cpp 2013-03-28 15:35:29 UTC (rev 57864) @@ -29,6 +29,7 @@ #include "../common/config/ConfigCache.h" #include "../common/os/path_utils.h" #include "../common/ScanDir.h" +#include "../common/utils_proto.h" #include <stdio.h> #ifdef HAVE_STDLIB_H @@ -471,18 +472,51 @@ PathUtils::splitLastComponent(path, file, tempPath); to = path.ToString(); } - /* ToDo - implement this feature - else if (!substituteOneOfStandardFirebirdDirs(from, to)) + else if (!substituteStandardDir(from, to)) { return false; } - */ - else + + return true; +} + +/****************************************************************************** + * + * Return parameter value as boolean + */ + +bool ConfigFile::substituteStandardDir(const String& from, String& to) const +{ + using namespace fb_utils; + + struct Dir { + FB_DIR code; + const char* name; + } dirs[] = { +#define NMDIR(a) {a, #a}, + NMDIR(FB_DIR_CONF) + NMDIR(FB_DIR_SECDB) + NMDIR(FB_DIR_PLUGINS) + NMDIR(FB_DIR_UDF) + NMDIR(FB_DIR_SAMPLE) + NMDIR(FB_DIR_SAMPLEDB) + NMDIR(FB_DIR_INTL) + NMDIR(FB_DIR_MSG) +#undef NMDIR + {FB_DIR_LAST, NULL} + }; + + for (const Dir* d = dirs; d->name; ++d) { - return false; + const char* target = &(d->name[3]); // skip FB_ + if (from.equalsNoCase(target)) + { + to = getPrefix(d->code, "").c_str(); + return true; + } } - return true; + return false; } /****************************************************************************** @@ -794,6 +828,11 @@ return sign * ret; } +/****************************************************************************** + * + * Return parameter value as boolean + */ + bool ConfigFile::Parameter::asBoolean() const { return (atoi(value.c_str()) != 0) || Modified: firebird/trunk/src/common/config/config_file.h =================================================================== --- firebird/trunk/src/common/config/config_file.h 2013-03-28 13:55:16 UTC (rev 57863) +++ firebird/trunk/src/common/config/config_file.h 2013-03-28 15:35:29 UTC (rev 57864) @@ -138,6 +138,7 @@ void badLine(const char* fileName, const String& line); void include(const char* currentFileName, const Firebird::PathName& path); bool wildCards(const char* currentFileName, const Firebird::PathName& pathPrefix, FilesArray& components); + bool substituteStandardDir(const String& from, String& to) const; }; #endif // CONFIG_CONFIG_FILE_H This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-29 00:38:23
|
Revision: 57866 http://sourceforge.net/p/firebird/code/57866 Author: firebirds Date: 2013-03-29 00:38:19 +0000 (Fri, 29 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-28 16:52:03 UTC (rev 57865) +++ firebird/trunk/ChangeLog 2013-03-29 00:38:19 UTC (rev 57866) @@ -1,3 +1,66 @@ + 2013-03-28 16:52 hvlad + M src/jrd/cch.cpp + M src/jrd/cch.h +Refactor a bit + + 2013-03-28 15:35 alexpeshkoff + M builds/install/misc/aliases.conf.in + M src/common/config/config_file.cpp + M src/common/config/config_file.h +Added macros for main firebird directories to config files + + 2013-03-28 13:55 alexpeshkoff + M builds/install/misc/firebird.conf.in +Make default firebird.conf better readable. No need in conversion tables any more. + + 2013-03-28 13:43 alexpeshkoff + M src/common/config/config.cpp + M src/common/config/config.h + M src/common/config/config_file.cpp + M src/common/config/config_file.h + M src/include/firebird/Plugin.h + M src/yvalve/PluginManager.cpp +Fixed problems when config file is missing +Make config manager and it's external interfaces work with 64-bit integers +Added support for boolean values (like 'true' & 'yes') to external config interfaces +Added support for kmg multipliers to config manager + + 2013-03-28 13:15 hvlad + M src/common/os/win32/path_utils.cpp +Well, there is a case where relative path could contain drive letter, for ex. C:xxx\yyy\zzz. +Correct first version of code. + + 2013-03-28 12:46 mapopa + M src/isql/isql.epp +MUISQL (QA Test bed Multiuser environment) target is not builded anymore from Firebird 1.x ages + + 2013-03-28 12:09 hvlad + M builds/win32/msvc10/engine.vcxproj + M builds/win32/msvc10/engine.vcxproj.filters + M builds/win32/msvc8/engine.vcproj + M builds/win32/msvc9/engine.vcproj +Update Windows build + + 2013-03-28 12:04 hvlad + M src/common/os/win32/path_utils.cpp +If path contains drive letter - it is definitely not relative path + + 2013-03-28 10:15 mapopa + M doc/license/IDPL.txt + M doc/license/README.license.usage.txt +Fix licenses urls , sourcecode tree is moved to SVN from CVS + + 2013-03-28 09:32 mapopa + M builds/make.new/config/install-sh + M extern/editline/configure +update config files after fixing recent version of autoconf/automake/libtool complain about the firebird +scripts aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in' + + 2013-03-28 07:24 alexpeshkoff + M src/common/os/posix/path_utils.cpp + M src/common/os/win32/path_utils.cpp +Fixed case with empty path - thanks to Dmitry Kovalenko + 2013-03-27 16:09 asfernandes M src/dsql/DdlNodes.epp Fixed CORE-4071 - external function declaration with "returns parameter" crashes the server. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-28 16:52:03 UTC (rev 57865) +++ firebird/trunk/src/jrd/build_no.h 2013-03-29 00:38:19 UTC (rev 57866) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30302 + FORMAL BUILD NUMBER:30313 */ -#define PRODUCT_VER_STRING "3.0.0.30302" -#define FILE_VER_STRING "WI-T3.0.0.30302" -#define LICENSE_VER_STRING "WI-T3.0.0.30302" -#define FILE_VER_NUMBER 3, 0, 0, 30302 +#define PRODUCT_VER_STRING "3.0.0.30313" +#define FILE_VER_STRING "WI-T3.0.0.30313" +#define LICENSE_VER_STRING "WI-T3.0.0.30313" +#define FILE_VER_NUMBER 3, 0, 0, 30313 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30302" +#define FB_BUILD_NO "30313" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-28 16:52:03 UTC (rev 57865) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-29 00:38:19 UTC (rev 57866) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30302 +BuildNum=30313 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-30 01:06:22
|
Revision: 57871 http://sourceforge.net/p/firebird/code/57871 Author: firebirds Date: 2013-03-30 01:06:19 +0000 (Sat, 30 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-29 23:25:43 UTC (rev 57870) +++ firebird/trunk/ChangeLog 2013-03-30 01:06:19 UTC (rev 57871) @@ -1,3 +1,16 @@ + 2013-03-29 23:25 asfernandes + M src/dsql/dsql.cpp +Make it work as before, although I think openCursor should fail with DDL statements. +Please check CursorTest.cpp (ddlFetch) in fbstuff. + + 2013-03-29 23:25 asfernandes + M src/include/firebird/Message.h +Correction. + + 2013-03-29 07:39 alexpeshkoff + M src/include/consts_pub.h +Avoid reusing old dpb codes as it was suggested some time ago in devel - looks like we have enough of them + 2013-03-28 16:52 hvlad M src/jrd/cch.cpp M src/jrd/cch.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-29 23:25:43 UTC (rev 57870) +++ firebird/trunk/src/jrd/build_no.h 2013-03-30 01:06:19 UTC (rev 57871) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30313 + FORMAL BUILD NUMBER:30316 */ -#define PRODUCT_VER_STRING "3.0.0.30313" -#define FILE_VER_STRING "WI-T3.0.0.30313" -#define LICENSE_VER_STRING "WI-T3.0.0.30313" -#define FILE_VER_NUMBER 3, 0, 0, 30313 +#define PRODUCT_VER_STRING "3.0.0.30316" +#define FILE_VER_STRING "WI-T3.0.0.30316" +#define LICENSE_VER_STRING "WI-T3.0.0.30316" +#define FILE_VER_NUMBER 3, 0, 0, 30316 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30313" +#define FB_BUILD_NO "30316" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-29 23:25:43 UTC (rev 57870) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-30 01:06:19 UTC (rev 57871) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30313 +BuildNum=30316 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-03-31 00:32:22
|
Revision: 57882 http://sourceforge.net/p/firebird/code/57882 Author: firebirds Date: 2013-03-31 00:32:18 +0000 (Sun, 31 Mar 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-30 16:15:36 UTC (rev 57881) +++ firebird/trunk/ChangeLog 2013-03-31 00:32:18 UTC (rev 57882) @@ -1,3 +1,14 @@ + 2013-03-30 02:31 asfernandes + M src/include/firebird/UdrCppEngine.h + M src/include/firebird/UdrEngine.h + M src/jrd/cch.cpp + M src/jrd/dpm.epp + M src/jrd/met.epp + M src/remote/client/interface.cpp + M src/remote/server/os/posix/inet_server.cpp + M src/remote/server/os/win32/srvr_w32.cpp +Misc. + 2013-03-29 23:25 asfernandes M src/dsql/dsql.cpp Make it work as before, although I think openCursor should fail with DDL statements. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-30 16:15:36 UTC (rev 57881) +++ firebird/trunk/src/jrd/build_no.h 2013-03-31 00:32:18 UTC (rev 57882) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30316 + FORMAL BUILD NUMBER:30317 */ -#define PRODUCT_VER_STRING "3.0.0.30316" -#define FILE_VER_STRING "WI-T3.0.0.30316" -#define LICENSE_VER_STRING "WI-T3.0.0.30316" -#define FILE_VER_NUMBER 3, 0, 0, 30316 +#define PRODUCT_VER_STRING "3.0.0.30317" +#define FILE_VER_STRING "WI-T3.0.0.30317" +#define LICENSE_VER_STRING "WI-T3.0.0.30317" +#define FILE_VER_NUMBER 3, 0, 0, 30317 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30316" +#define FB_BUILD_NO "30317" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-30 16:15:36 UTC (rev 57881) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-03-31 00:32:18 UTC (rev 57882) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30316 +BuildNum=30317 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-04-01 01:24:02
|
Revision: 57886 http://sourceforge.net/p/firebird/code/57886 Author: firebirds Date: 2013-04-01 01:23:59 +0000 (Mon, 01 Apr 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-03-31 18:23:54 UTC (rev 57885) +++ firebird/trunk/ChangeLog 2013-04-01 01:23:59 UTC (rev 57886) @@ -1,3 +1,26 @@ + 2013-03-31 18:23 asfernandes + M src/dsql/StmtNodes.cpp + M src/dsql/StmtNodes.h + M src/jrd/JrdStatement.cpp + M src/jrd/Relation.h + M src/jrd/evl.cpp + M src/jrd/exe.h + M src/jrd/met.epp + M src/jrd/par.cpp + M src/jrd/par_proto.h +Cleanup. + + 2013-03-31 15:55 asfernandes + M src/common/classes/BlrReader.h + M src/dsql/StmtNodes.cpp + M src/jrd/Function.epp + M src/jrd/Routine.cpp + M src/jrd/Routine.h + M src/jrd/dfw.epp + M src/jrd/met.epp + M src/jrd/met_proto.h +Refactor. + 2013-03-30 02:31 asfernandes M src/include/firebird/UdrCppEngine.h M src/include/firebird/UdrEngine.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-03-31 18:23:54 UTC (rev 57885) +++ firebird/trunk/src/jrd/build_no.h 2013-04-01 01:23:59 UTC (rev 57886) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30317 + FORMAL BUILD NUMBER:30319 */ -#define PRODUCT_VER_STRING "3.0.0.30317" -#define FILE_VER_STRING "WI-T3.0.0.30317" -#define LICENSE_VER_STRING "WI-T3.0.0.30317" -#define FILE_VER_NUMBER 3, 0, 0, 30317 +#define PRODUCT_VER_STRING "3.0.0.30319" +#define FILE_VER_STRING "WI-T3.0.0.30319" +#define LICENSE_VER_STRING "WI-T3.0.0.30319" +#define FILE_VER_NUMBER 3, 0, 0, 30319 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30317" +#define FB_BUILD_NO "30319" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-03-31 18:23:54 UTC (rev 57885) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-01 01:23:59 UTC (rev 57886) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30317 +BuildNum=30319 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2013-04-01 17:54:07
|
Revision: 57889 http://sourceforge.net/p/firebird/code/57889 Author: mapopa Date: 2013-04-01 17:54:03 +0000 (Mon, 01 Apr 2013) Log Message: ----------- FLINT_CACHE was never used , dead leftover from ib 4.0 product years http://sourceforge.net/mailarchive/message.php?msg_id=5975155 (FLINSTONE is gone) Modified Paths: -------------- firebird/trunk/doc/emacros-cross_ref.html firebird/trunk/src/gpre/gpre.h firebird/trunk/src/gpre/sql.cpp Modified: firebird/trunk/doc/emacros-cross_ref.html =================================================================== --- firebird/trunk/doc/emacros-cross_ref.html 2013-04-01 16:04:52 UTC (rev 57888) +++ firebird/trunk/doc/emacros-cross_ref.html 2013-04-01 17:54:03 UTC (rev 57889) @@ -83,22 +83,6 @@ used in jrd\pcmet.epp(200) with #ifdef <br> </td></tr> <tr><td valign="top"> -(5) FLINT_CACHE</td><td>Unknown.</td></tr> -<tr><td> </td><td> -used in dudley\parse.cpp(53) with #ifdef <br> -used in dudley\parse.cpp(101) with #ifdef <br> -used in dudley\parse.cpp(640) with #ifdef <br> -used in dudley\parse.cpp(743) with #ifdef <br> -used in dudley\parse.cpp(808) with #ifdef <br> -used in gpre\sql.cpp(56) with #ifdef <br> -used in gpre\sql.cpp(115) with #ifdef <br> -used in gpre\sql.cpp(1087) with #ifdef <br> -used in gpre\sql.cpp(1135) with #ifdef <br> -used in gpre\sql.cpp(4849) with #ifdef <br> -used in gpre\sql.cpp(6293) with #ifdef <br> -used in gpre\sql.cpp(6370) with #ifdef <br> -</td></tr> -<tr><td valign="top"> (6) GDS32</td><td>Build with GDS Compatibility.</td></tr> <tr><td> </td><td> used in jrd\ibinitdll.cpp(29) with #ifdef <br> Modified: firebird/trunk/src/gpre/gpre.h =================================================================== --- firebird/trunk/src/gpre/gpre.h 2013-04-01 16:04:52 UTC (rev 57888) +++ firebird/trunk/src/gpre/gpre.h 2013-04-01 17:54:03 UTC (rev 57889) @@ -837,9 +837,6 @@ int dbb_buffercount; ULONG dbb_length; // Length of database in pages, if known gpre_file* dbb_logfiles; -#ifdef FLINT_CACHE // In practice, never used. - gpre_file* dbb_cache_file; -#endif gpre_file* dbb_files; }; Modified: firebird/trunk/src/gpre/sql.cpp =================================================================== --- firebird/trunk/src/gpre/sql.cpp 2013-04-01 16:04:52 UTC (rev 57888) +++ firebird/trunk/src/gpre/sql.cpp 2013-04-01 17:54:03 UTC (rev 57889) @@ -47,10 +47,6 @@ #include "../common/utils_proto.h" -#ifdef FLINT_CACHE -const int MIN_CACHE_BUFFERS = 250; -const int DEF_CACHE_BUFFERS = 1000; -#endif const int DEFAULT_BLOB_SEGMENT_LENGTH = 80; // bytes static act* act_alter(); @@ -103,9 +99,6 @@ static bool check_filename(const TEXT *); static void connect_opts(const TEXT**, const TEXT**, const TEXT**, const TEXT**, USHORT*); -#ifdef FLINT_CACHE -static gpre_file* define_cache(); -#endif static gpre_file* define_file(); static gpre_file* define_log_file(); static gpre_dbb* dup_dbb(const gpre_dbb*); @@ -1133,15 +1126,8 @@ ; // ignore DROP LOG database->dbb_flags |= DBB_drop_log; else if (MSC_match(KW_CASCADE)) ; // ignore DROP CASCADE database->dbb_flags |= DBB_cascade; -#ifdef FLINT_CACHE - else if (MSC_match(KW_CACHE)) - ; // ignore DROP CACHE database->dbb_flags |= DBB_drop_cache; else - PAR_error("only log or cache can be dropped"); -#else - else PAR_error("only log file can be dropped"); -#endif // FLINT_CACHE } else if (MSC_match(KW_ADD)) { @@ -1184,10 +1170,6 @@ database->dbb_logfiles = define_log_file(); } } -#ifdef FLINT_CACHE - else if (MSC_match(KW_CACHE)) - database->dbb_cache_file = define_cache(); -#endif // FLINT_CACHE } else if (MSC_match(KW_SET)) { @@ -4848,48 +4830,8 @@ } } - -#ifdef FLINT_CACHE //____________________________________________________________ // -// Add a shared cache to an existing database. -// - -static gpre_file* define_cache() -{ - gpre_file* file = (gpre_file*) MSC_alloc(FIL_LEN); - if (isQuoted(gpreGlob.token_global.tok_type)) - { - TEXT* string = (TEXT*) MSC_alloc(gpreGlob.token_global.tok_length + 1); - file->fil_name = string; - MSC_copy(gpreGlob.token_global.tok_string, gpreGlob.token_global.tok_length, string); - PAR_get_token(); - } - else - CPR_s_error("<quoted filename>"); - if (!check_filename(file->fil_name)) - PAR_error("node name not permitted"); // a node name is not permitted in a shared cache file name - - if (MSC_match(KW_LENGTH)) - { - file->fil_length = EXP_ULONG_ordinal(true); - if (file->fil_length < MIN_CACHE_BUFFERS) - { - TEXT err_string[ERROR_LENGTH]; - sprintf(err_string, "Minimum of %d cache pages required", MIN_CACHE_BUFFERS); - PAR_error(err_string); - } - MSC_match(KW_PAGES); - } - else - file->fil_length = DEF_CACHE_BUFFERS; // default cache buffers - - return file; -} -#endif - -//____________________________________________________________ -// // Add a new file to an existing database. // @@ -6304,15 +6246,8 @@ ; // Ignore DROP LOG database->dbb_flags |= DBB_drop_log; else if (MSC_match(KW_CASCADE)) ; // ignore DROP CASCADE database->dbb_flags |= DBB_cascade; -#ifdef FLINT_CACHE - else if (MSC_match(KW_CACHE)) - ; // ignore DROP CACHE database->dbb_flags |= DBB_drop_cache; else - PAR_error("only log files or shared cache can be dropped"); // msg 121 only SECURITY_CLASS, DESCRIPTION and CACHE can be dropped -#else - else PAR_error("only log files can be dropped"); // msg 121 only SECURITY_CLASS, DESCRIPTION and CACHE can be dropped -#endif // FLINT_CACHE //else if (MSC_match (KW_DESCRIP)) // database->dbb_flags |= DBB_null_description; @@ -6387,10 +6322,6 @@ database->dbb_logfiles = define_log_file(); } } -#ifdef FLINT_CACHE - else if (MSC_match(KW_CACHE)) - database->dbb_cache_file = define_cache(); -#endif // FLINT_CACHE else break; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2013-04-02 00:30:22
|
Revision: 57893 http://sourceforge.net/p/firebird/code/57893 Author: firebirds Date: 2013-04-02 00:30:20 +0000 (Tue, 02 Apr 2013) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2013-04-01 21:54:16 UTC (rev 57892) +++ firebird/trunk/ChangeLog 2013-04-02 00:30:20 UTC (rev 57893) @@ -1,3 +1,30 @@ + 2013-04-01 21:54 mapopa + M configure.ac +Remove absolete sinixz check + + 2013-04-01 21:40 mapopa + M src/common/isc_sync.cpp + M src/remote/inet.cpp +SIGURG is not used , cleanup commented code + + 2013-04-01 18:37 mapopa + M src/gpre/sql.cpp +Cleanup commented code , was a wrong copy paste + + 2013-04-01 17:54 mapopa + M doc/emacros-cross_ref.html + M src/gpre/gpre.h + M src/gpre/sql.cpp +FLINT_CACHE was never used , dead leftover from ib 4.0 product years http://sourceforge.net/mailarchive/message.php?msg_id=5975155 (FLINSTONE is gone) + + 2013-04-01 16:04 mapopa + M doc/emacros-cross_ref.html +Cleanup reference + + 2013-04-01 15:37 asfernandes + M src/jrd/par.cpp +Misc. + 2013-03-31 18:23 asfernandes M src/dsql/StmtNodes.cpp M src/dsql/StmtNodes.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2013-04-01 21:54:16 UTC (rev 57892) +++ firebird/trunk/src/jrd/build_no.h 2013-04-02 00:30:20 UTC (rev 57893) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30319 + FORMAL BUILD NUMBER:30325 */ -#define PRODUCT_VER_STRING "3.0.0.30319" -#define FILE_VER_STRING "WI-T3.0.0.30319" -#define LICENSE_VER_STRING "WI-T3.0.0.30319" -#define FILE_VER_NUMBER 3, 0, 0, 30319 +#define PRODUCT_VER_STRING "3.0.0.30325" +#define FILE_VER_STRING "WI-T3.0.0.30325" +#define LICENSE_VER_STRING "WI-T3.0.0.30325" +#define FILE_VER_NUMBER 3, 0, 0, 30325 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30319" +#define FB_BUILD_NO "30325" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2013-04-01 21:54:16 UTC (rev 57892) +++ firebird/trunk/src/misc/writeBuildNum.sh 2013-04-02 00:30:20 UTC (rev 57893) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30319 +BuildNum=30325 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |