+++ /dev/null
---- src/common/classes/array.h.orig 2012-06-20 09:58:37.000000000 +0200
-+++ src/common/classes/array.h 2012-06-26 10:37:49.000000000 +0200
-@@ -347,7 +347,7 @@
- size_t add(const Value& item) {
- size_t pos;
- find(KeyOfValue::generate(this, item), pos);
-- insert(pos, item);
-+ this->insert(pos, item);
- return pos;
- }
- };
---- src/common/classes/stack.h.orig 2012-06-20 09:58:37.000000000 +0200
-+++ src/common/classes/stack.h 2012-06-26 10:41:54.000000000 +0200
-@@ -48,7 +48,7 @@
- Entry(Object e, Entry* stk)
- : inherited(), next(stk)
- {
-- add(e);
-+ this->add(e);
- }
-
- Entry(Entry* stk) : inherited(), next(stk) { }
-@@ -62,7 +62,7 @@
- {
- if (inherited::getCount() < this->getCapacity())
- {
-- add(e);
-+ this->add(e);
- return this;
- }
- Entry* newEntry = FB_NEW(p) Entry(e, this);
---- src/common/classes/vector.h.orig 2012-06-20 09:58:37.000000000 +0200
-+++ src/common/classes/vector.h 2012-06-26 10:37:49.000000000 +0200
-@@ -135,7 +135,7 @@
- size_t add(const Value& item) {
- size_t pos;
- find(KeyOfValue::generate(this, item), pos);
-- insert(pos, item);
-+ this->insert(pos, item);
- return pos;
- }
- };
---- src/jrd/Collation.cpp.orig 2012-06-20 09:58:27.000000000 +0200
-+++ src/jrd/Collation.cpp 2012-06-26 11:35:42.000000000 +0200
-@@ -191,154 +191,53 @@
-
-
- template <class SLEUTHTYPE>
--bool SLEUTHNAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj, USHORT flags,
-- const SLEUTHTYPE* search, SLONG search_len,
-- const SLEUTHTYPE* match, SLONG match_len)
--{
--/**************************************
-- *
-- * E V L _ ? ? _ s l e u t h _ c h e c k
-- *
-- **************************************
-- *
-- * Functional description
-- * Evaluate the "sleuth" search operator.
-- *
-- * Turn the (pointer, byte length) input parameters into
-- * (pointer, end_pointer) for use in SLEUTH_AUX
-- *
-- **************************************/
-- fb_assert((match_len % sizeof(SLEUTHTYPE)) == 0);
-- fb_assert((search_len % sizeof(SLEUTHTYPE)) == 0);
-- fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
--
-- const SLEUTHTYPE* const end_match = match + (match_len / sizeof(SLEUTHTYPE));
-- const SLEUTHTYPE* const end_search = search + (search_len / sizeof(SLEUTHTYPE));
--
-- return SLEUTH_AUX(obj, flags, search, end_search, match, end_match);
--}
--
--
--template <class SLEUTHTYPE>
--ULONG SLEUTH_MERGE_NAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj,
-- const SLEUTHTYPE* match, SLONG match_bytes,
-- const SLEUTHTYPE* control, SLONG control_bytes,
-- SLEUTHTYPE* combined, SLONG combined_bytes)
-+static bool SLEUTH_CLASS_NAME(
-+ Jrd::TextType* obj,
-+ USHORT flags,
-+ const SLEUTHTYPE* char_class,
-+ const SLEUTHTYPE* const end_class,
-+ SLEUTHTYPE character)
- {
- /**************************************
- *
-- * E V L _ ? ? _ s l e u t h _ m e r g e
-+ * s l e u t h _ c l a s s
- *
- **************************************
- *
- * Functional description
-- * Merge the matching pattern and control strings to give a cannonical
-- * matching pattern. Return the length of the combined string.
-- *
-- * What this routine does is to take the language template, strip off
-- * the prefix and put it in the output string, then parse the definitions
-- * into an array of character pointers. The index array is the defined
-- * character. The routine then takes the actual match pattern and uses
-- * the characters in it to index into the definitions to produce an equivalent
-- * pattern in the cannonical language.
-- *
-- * The silly loop setting *v++ to zero initializes the array up to the
-- * highest character defined (also max_op). Believe it or not, that part
-- * is not a bug.
-+ * See if a character is a member of a class.
-+ * Japanese version operates on short-based buffer,
-+ * instead of SCHAR-based.
- *
- **************************************/
-- fb_assert(match != NULL);
-- fb_assert(control != NULL);
-- fb_assert(combined != NULL);
--
-- fb_assert((match_bytes % sizeof(SLEUTHTYPE)) == 0);
-- fb_assert((control_bytes % sizeof(SLEUTHTYPE)) == 0);
-+ fb_assert(char_class != NULL);
-+ fb_assert(end_class != NULL);
-+ fb_assert(char_class <= end_class);
- fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
-
-- const SLEUTHTYPE* const end_match = match + (match_bytes / sizeof(SLEUTHTYPE));
-- const SLEUTHTYPE* const end_control = control + (control_bytes / sizeof(SLEUTHTYPE));
--
-- SLEUTHTYPE max_op = 0;
-- SLEUTHTYPE* comb = combined;
-- SLEUTHTYPE* vector[256];
-- SLEUTHTYPE** v = vector;
-- SLEUTHTYPE temp[256];
-- SLEUTHTYPE* t = temp;
--
--/* Parse control string into substitution strings and initializing string */
-+ bool result = true;
-
-- while (control < end_control) {
-- SLEUTHTYPE c = *control++;
-- if (*control == *(SLEUTHTYPE*)obj->getGdmlSubstituteCanonic()) {
-- /* Note: don't allow substitution characters larger than vector */
-- SLEUTHTYPE** const end_vector =
-- vector + (((int)c < FB_NELEM(vector)) ? c : 0);
-- while (v <= end_vector)
-- *v++ = 0;
-- *end_vector = t;
-- ++control;
-- while (control < end_control) {
-- c = *control++;
-- if ((t > temp && t[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
-- || ((c != *(SLEUTHTYPE*)obj->getGdmlCommaCanonic()) && (c != *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())))
-- {
-- *t++ = c;
-- }
-- else
-- break;
-- }
-- *t++ = 0;
-- }
-- else if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && control < end_control)
-- *comb++ = *control++;
-- else if (c == *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())
-- break;
-- else if (c != *(SLEUTHTYPE*)obj->getGdmlLParenCanonic())
-- *comb++ = c;
-+ if (*char_class == *(SLEUTHTYPE*)obj->getGdmlNotCanonic()) {
-+ ++char_class;
-+ result = false;
- }
-
-- max_op = v - vector;
--
--/* Interpret matching string, substituting where appropriate */
--
-- while (match < end_match) {
-- const SLEUTHTYPE c = *match++;
--
-- /* if we've got a defined character, slurp the definition */
--
-- SLEUTHTYPE* p;
-- if (c <= max_op && (p = vector[c])) {
-- while (*p)
-- *comb++ = *p++;
--
-- /* if we've got the definition of a quote character,
-- slurp the next character too */
--
-- if (comb > combined && comb[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && *match)
-- *comb++ = *match++;
-+ while (char_class < end_class) {
-+ const SLEUTHTYPE c = *char_class++;
-+ if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic()) {
-+ if (*char_class++ == character)
-+ return true;
- }
--
-- /* at this point we've got a non-match, but as it might be one of ours,
-- quote it. */
--
-- else {
-- if ((((size_t) c) < FB_NELEM(special)) && special[c] &&
-- comb > combined && comb[-1] != *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
-- {
-- *comb++ = *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic();
-- }
-- *comb++ = c;
-+ else if (*char_class == *(SLEUTHTYPE*)obj->getGdmlRangeCanonic()) {
-+ char_class += 2;
-+ if (character >= c && character <= char_class[-1])
-+ return result;
- }
-+ else if (character == c)
-+ return result;
- }
-
--/* Put in trailing stuff */
--
-- while (control < end_control)
-- *comb++ = *control++;
--
-- /* YYY - need to add code watching for overflow of combined */
--
-- return (comb - combined) * sizeof(SLEUTHTYPE);
-+ return !result;
- }
-
-
-@@ -473,53 +372,154 @@
-
-
- template <class SLEUTHTYPE>
--static bool SLEUTH_CLASS_NAME(
-- Jrd::TextType* obj,
-- USHORT flags,
-- const SLEUTHTYPE* char_class,
-- const SLEUTHTYPE* const end_class,
-- SLEUTHTYPE character)
-+bool SLEUTHNAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj, USHORT flags,
-+ const SLEUTHTYPE* search, SLONG search_len,
-+ const SLEUTHTYPE* match, SLONG match_len)
- {
- /**************************************
- *
-- * s l e u t h _ c l a s s
-+ * E V L _ ? ? _ s l e u t h _ c h e c k
- *
- **************************************
- *
- * Functional description
-- * See if a character is a member of a class.
-- * Japanese version operates on short-based buffer,
-- * instead of SCHAR-based.
-+ * Evaluate the "sleuth" search operator.
-+ *
-+ * Turn the (pointer, byte length) input parameters into
-+ * (pointer, end_pointer) for use in SLEUTH_AUX
- *
- **************************************/
-- fb_assert(char_class != NULL);
-- fb_assert(end_class != NULL);
-- fb_assert(char_class <= end_class);
-+ fb_assert((match_len % sizeof(SLEUTHTYPE)) == 0);
-+ fb_assert((search_len % sizeof(SLEUTHTYPE)) == 0);
- fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
-
-- bool result = true;
-+ const SLEUTHTYPE* const end_match = match + (match_len / sizeof(SLEUTHTYPE));
-+ const SLEUTHTYPE* const end_search = search + (search_len / sizeof(SLEUTHTYPE));
-
-- if (*char_class == *(SLEUTHTYPE*)obj->getGdmlNotCanonic()) {
-- ++char_class;
-- result = false;
-+ return SLEUTH_AUX(obj, flags, search, end_search, match, end_match);
-+}
-+
-+
-+template <class SLEUTHTYPE>
-+ULONG SLEUTH_MERGE_NAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj,
-+ const SLEUTHTYPE* match, SLONG match_bytes,
-+ const SLEUTHTYPE* control, SLONG control_bytes,
-+ SLEUTHTYPE* combined, SLONG combined_bytes)
-+{
-+/**************************************
-+ *
-+ * E V L _ ? ? _ s l e u t h _ m e r g e
-+ *
-+ **************************************
-+ *
-+ * Functional description
-+ * Merge the matching pattern and control strings to give a cannonical
-+ * matching pattern. Return the length of the combined string.
-+ *
-+ * What this routine does is to take the language template, strip off
-+ * the prefix and put it in the output string, then parse the definitions
-+ * into an array of character pointers. The index array is the defined
-+ * character. The routine then takes the actual match pattern and uses
-+ * the characters in it to index into the definitions to produce an equivalent
-+ * pattern in the cannonical language.
-+ *
-+ * The silly loop setting *v++ to zero initializes the array up to the
-+ * highest character defined (also max_op). Believe it or not, that part
-+ * is not a bug.
-+ *
-+ **************************************/
-+ fb_assert(match != NULL);
-+ fb_assert(control != NULL);
-+ fb_assert(combined != NULL);
-+
-+ fb_assert((match_bytes % sizeof(SLEUTHTYPE)) == 0);
-+ fb_assert((control_bytes % sizeof(SLEUTHTYPE)) == 0);
-+ fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
-+
-+ const SLEUTHTYPE* const end_match = match + (match_bytes / sizeof(SLEUTHTYPE));
-+ const SLEUTHTYPE* const end_control = control + (control_bytes / sizeof(SLEUTHTYPE));
-+
-+ SLEUTHTYPE max_op = 0;
-+ SLEUTHTYPE* comb = combined;
-+ SLEUTHTYPE* vector[256];
-+ SLEUTHTYPE** v = vector;
-+ SLEUTHTYPE temp[256];
-+ SLEUTHTYPE* t = temp;
-+
-+/* Parse control string into substitution strings and initializing string */
-+
-+ while (control < end_control) {
-+ SLEUTHTYPE c = *control++;
-+ if (*control == *(SLEUTHTYPE*)obj->getGdmlSubstituteCanonic()) {
-+ /* Note: don't allow substitution characters larger than vector */
-+ SLEUTHTYPE** const end_vector =
-+ vector + (((int)c < FB_NELEM(vector)) ? c : 0);
-+ while (v <= end_vector)
-+ *v++ = 0;
-+ *end_vector = t;
-+ ++control;
-+ while (control < end_control) {
-+ c = *control++;
-+ if ((t > temp && t[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
-+ || ((c != *(SLEUTHTYPE*)obj->getGdmlCommaCanonic()) && (c != *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())))
-+ {
-+ *t++ = c;
-+ }
-+ else
-+ break;
-+ }
-+ *t++ = 0;
-+ }
-+ else if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && control < end_control)
-+ *comb++ = *control++;
-+ else if (c == *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())
-+ break;
-+ else if (c != *(SLEUTHTYPE*)obj->getGdmlLParenCanonic())
-+ *comb++ = c;
- }
-
-- while (char_class < end_class) {
-- const SLEUTHTYPE c = *char_class++;
-- if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic()) {
-- if (*char_class++ == character)
-- return true;
-+ max_op = v - vector;
-+
-+/* Interpret matching string, substituting where appropriate */
-+
-+ while (match < end_match) {
-+ const SLEUTHTYPE c = *match++;
-+
-+ /* if we've got a defined character, slurp the definition */
-+
-+ SLEUTHTYPE* p;
-+ if (c <= max_op && (p = vector[c])) {
-+ while (*p)
-+ *comb++ = *p++;
-+
-+ /* if we've got the definition of a quote character,
-+ slurp the next character too */
-+
-+ if (comb > combined && comb[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && *match)
-+ *comb++ = *match++;
- }
-- else if (*char_class == *(SLEUTHTYPE*)obj->getGdmlRangeCanonic()) {
-- char_class += 2;
-- if (character >= c && character <= char_class[-1])
-- return result;
-+
-+ /* at this point we've got a non-match, but as it might be one of ours,
-+ quote it. */
-+
-+ else {
-+ if ((((size_t) c) < FB_NELEM(special)) && special[c] &&
-+ comb > combined && comb[-1] != *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
-+ {
-+ *comb++ = *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic();
-+ }
-+ *comb++ = c;
- }
-- else if (character == c)
-- return result;
- }
-
-- return !result;
-+/* Put in trailing stuff */
-+
-+ while (control < end_control)
-+ *comb++ = *control++;
-+
-+ /* YYY - need to add code watching for overflow of combined */
-+
-+ return (comb - combined) * sizeof(SLEUTHTYPE);
- }
-
-
+++ /dev/null
---- Firebird-2.5.0.26074-0/builds/posix/prefix.linux.orig 2010-09-08 10:41:23.000000000 +0200
-+++ Firebird-2.5.0.26074-0/builds/posix/prefix.linux 2010-10-28 08:55:49.323734339 +0200
-@@ -18,8 +18,8 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
-
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -march=i586 -mtune=i686 -fno-omit-frame-pointer
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
-
- PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_amd64.orig 2007-05-03 13:24:50.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_amd64 2010-08-29 10:48:42.742820781 +0200
-@@ -18,8 +18,8 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
-
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
-
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_arm.orig 2008-04-15 16:11:33.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_arm 2010-08-29 10:50:20.766823295 +0200
-@@ -23,11 +23,11 @@
-
- #LD=@CXX@
-
--#PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DNDEBUG -DLINUX -pipe -MMD -fPIC
--#DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall -Wno-switch
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -DARM -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0
-+OPTIMIZE_FLAGS=
-
--PROD_FLAGS=-O3 -DNDEBUG -DLINUX -DARM -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0
--DEV_FLAGS=-ggdb -DLINUX -DARM -pipe -p -MMD -fPIC -Wall -fsigned-char -fmessage-length=0
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=$(COMMON_FLAGS) -Wall
-
- OS_ServerFiles=inet_server.cpp
-
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_generic.orig 2007-05-03 13:24:50.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_generic 2010-08-29 10:50:59.358822457 +0200
-@@ -18,10 +18,11 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
-
--COMMON_FLAGS=-DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL
-+OPTIMIZE_FLAGS=
-
--PROD_FLAGS=-ggdb -O3 -DNDEBUG $(COMMON_FLAGS)
--DEV_FLAGS=-ggdb -p -Wall -Wno-switch $(COMMON_FLAGS)
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=-Wall -Wno-switch $(COMMON_FLAGS)
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
-
- OS_ServerFiles=inet_server.cpp
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_ia64.orig 2008-05-31 04:33:45.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_ia64 2010-08-29 10:51:21.938821619 +0200
-@@ -18,8 +18,8 @@
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
- # Adriano dos Santos Fernandes
-
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DIA64 -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DIA64 -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
-
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mips.orig 2008-01-17 13:20:44.000000000 +0100
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mips 2010-08-29 10:51:45.386816591 +0200
-@@ -1,5 +1,5 @@
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer -fno-builtin
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
-
- PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mipsel.orig 2007-05-04 03:18:21.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mipsel 2010-08-29 10:58:57.222819943 +0200
-@@ -19,10 +19,12 @@
-
- LD=@CXX@
-
--# -fno-builtin is used because GCC 3.0-3.2.2 had bug with builtins expansion
--# you may remove it if engine is getting compiled with any other GCC version
--PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DNDEBUG -DLINUX -pipe -MMD -fPIC
--DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall -Wno-switch
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -pipe -MMD -fPIC
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
-+WARN_FLAGS=-Wall -Wno-switch
-+
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=-DDEBUG_GDS_ALLOC -p $(COMMON_FLAGS) $(WARN_FLAGS)
-
- OS_ServerFiles=inet_server.cpp
-
---- Firebird-2.5.0.26074-0/builds/posix/prefix.linux_powerpc.orig 2010-09-08 10:41:23.000000000 +0200
-+++ Firebird-2.5.0.26074-0/builds/posix/prefix.linux_powerpc 2010-10-28 09:02:24.423734339 +0200
-@@ -18,9 +18,12 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
-
--PROD_FLAGS=-ggdb -fno-omit-frame-pointer -fsigned-char -DNDEBUG -DLINUX -pipe -MMD -fPIC -fmessage-length=0 -DLINUX -DPowerPC -DPPC -O3 -mcpu=powerpc
--DEV_FLAGS=-ggdb -O0 -DLINUX -pipe -MMD -p -fPIC -Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -fmessage-length=0 -fsigned-char -DLINUX -DPowerPC -DPPC
--#DEV_FLAGS=-DUSE_VALGRIND -ggdb -O0 -DLINUX -pipe -MMD -p -fPIC -Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -fmessage-length=0 -DLINUX -DPowerPC -DPPC
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -DPowerPC -DPPC -fsigned-char -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
-+WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
-+
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=-p $(COMMON_FLAGS) $(WARN_FLAGS)
-
- OS_ServerFiles=inet_server.cpp
-
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_sparc32.orig 2007-05-03 13:24:50.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_sparc32 2010-08-29 11:04:26.538821619 +0200
-@@ -18,9 +18,10 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
-
--COMMON_FLAGS=-m32 -DLINUX -pipe -MMD -fPIC -Dsparc -DFB_SEND_FLAGS=MSG_NOSIGNAL
--PROD_FLAGS=-ggdb -mcpu=ultrasparc -mtune=ultrasparc -O3 -DNDEBUG $(COMMON_FLAGS)
--DEV_FLAGS=-ggdb -p -Wall -Wno-switch $(COMMON_FLAGS)
-+COMMON_FLAGS=@CFLAGS@ -m32 -DLINUX -pipe -MMD -fPIC -Dsparc -DFB_SEND_FLAGS=MSG_NOSIGNAL
-+
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS)
-+DEV_FLAGS=-p -Wall -Wno-switch $(COMMON_FLAGS)
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
-
- OS_ServerFiles=inet_server.cpp