[ovs-dev] [PATCH] build: Allow building with autoconf 2.63
Thomas Graf
tgraf at noironetworks.com
Thu Jun 26 23:50:25 UTC 2014
Reduces the dependency on autoconf from 2.64 to 2.63 to ease building
on older platforms. There is only a few macros missing and they can
be provided easily.
A handful of tests needed modification. The difference in quoting
behaviour between 2.63 and later require the m4_define() to be
manually unfolded.
Tested with autoconf 2.63 and 2.69.
Cc: Scott Mann <smann at noironetworks.com>
Cc: Don Kehn <dkehn at noironetworks.com>
Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
---
configure.ac | 2 +-
m4/compat.at | 32 ++++++++++++++++++++++++++
m4/openvswitch.m4 | 2 ++
tests/ovsdb-row.at | 62 +++++++++++++++++++++++++--------------------------
tests/ovsdb-server.at | 2 +-
tests/testsuite.at | 2 ++
6 files changed, 68 insertions(+), 34 deletions(-)
create mode 100644 m4/compat.at
diff --git a/configure.ac b/configure.ac
index 9a86507..ebe4ef9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-AC_PREREQ(2.64)
+AC_PREREQ(2.63)
AC_INIT(openvswitch, 2.3.90, bugs at openvswitch.org)
AC_CONFIG_SRCDIR([datapath/datapath.c])
AC_CONFIG_MACRO_DIR([m4])
diff --git a/m4/compat.at b/m4/compat.at
new file mode 100644
index 0000000..736f1ff
--- /dev/null
+++ b/m4/compat.at
@@ -0,0 +1,32 @@
+# -*- autoconf -*-
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+m4_ifndef([AT_CHECK_UNQUOTED],
+ [m4_define([AT_CHECK_UNQUOTED],
+ [_AT_CHECK([$1], [$2], AS_ESCAPE(m4_dquote(m4_expand([$3])), [""]),
+ AS_ESCAPE(m4_dquote(m4_expand([$4])),[""]), [$5], [$6])])])
+
+m4_ifndef([AT_SKIP_IF],
+ [m4_define([AT_SKIP_IF],
+ [AT_CHECK([($1) \
+ && exit 77 || exit 0], [0], [ignore], [ignore])])])
+
+m4_ifndef([AT_FAIL_IF],
+ [m4_define([AT_FAIL_IF],
+ [AT_CHECK([($1) \
+ && exit 99 || exit 0], [0], [ignore], [ignore])])])
+
+m4_ifndef([AS_VAR_COPY],
+ [m4_define([AS_VAR_COPY],
+ [AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])])
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index fa741f6..1308d1c 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -13,6 +13,8 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+#
+m4_include([m4/compat.at])
dnl Checks for --enable-coverage and updates CFLAGS and LDFLAGS appropriately.
AC_DEFUN([OVS_CHECK_COVERAGE],
diff --git a/tests/ovsdb-row.at b/tests/ovsdb-row.at
index 34a102c..0b2ae77 100644
--- a/tests/ovsdb-row.at
+++ b/tests/ovsdb-row.at
@@ -1,7 +1,5 @@
AT_BANNER([OVSDB -- rows])
-m4_define([RESERVED_COLUMNS], [["_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"]]])
-
OVSDB_CHECK_POSITIVE([row with one string column],
[[parse-rows \
'{"columns": {"name": {"type": "string"}}}' \
@@ -9,14 +7,14 @@ OVSDB_CHECK_POSITIVE([row with one string column],
'{"name": ""}' \
'{"name": "longer string with spaces"}' \
'{}']],
- [{RESERVED_COLUMNS,"name":"value"}
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"name":"value"}
name
-{RESERVED_COLUMNS,"name":""}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"name":""}
name
-{RESERVED_COLUMNS,"name":"longer string with spaces"}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"name":"longer string with spaces"}
name
-{RESERVED_COLUMNS,"name":""}
-<none>], [])
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"name":""}
+<none>]], [])
OVSDB_CHECK_POSITIVE([row with one integer column],
[[parse-rows \
@@ -25,14 +23,14 @@ OVSDB_CHECK_POSITIVE([row with one integer column],
'{"count": -1}' \
'{"count": 2e10}' \
'{}']],
- [{RESERVED_COLUMNS,"count":1}
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"count":1}
count
-{RESERVED_COLUMNS,"count":-1}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"count":-1}
count
-{RESERVED_COLUMNS,"count":20000000000}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"count":20000000000}
count
-{RESERVED_COLUMNS,"count":0}
-<none>], [])
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"count":0}
+<none>]], [])
OVSDB_CHECK_POSITIVE([row with one real column],
[[parse-rows \
@@ -41,14 +39,14 @@ OVSDB_CHECK_POSITIVE([row with one real column],
'{"cost": -2.0}' \
'{"cost": 123000}' \
'{}']],
- [{RESERVED_COLUMNS,"cost":1}
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"cost":1}
cost
-{RESERVED_COLUMNS,"cost":-2}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"cost":-2}
cost
-{RESERVED_COLUMNS,"cost":123000}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"cost":123000}
cost
-{RESERVED_COLUMNS,"cost":0}
-<none>], [])
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"cost":0}
+<none>]], [])
OVSDB_CHECK_POSITIVE([row with one boolean column],
[[parse-rows \
@@ -56,12 +54,12 @@ OVSDB_CHECK_POSITIVE([row with one boolean column],
'{"feasible": true}' \
'{"feasible": false}' \
'{}']],
- [{RESERVED_COLUMNS,"feasible":true}
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"feasible":true}
feasible
-{RESERVED_COLUMNS,"feasible":false}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"feasible":false}
feasible
-{RESERVED_COLUMNS,"feasible":false}
-<none>], [])
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"feasible":false}
+<none>]], [])
OVSDB_CHECK_POSITIVE([row with one uuid column],
[[parse-rows \
@@ -69,26 +67,26 @@ OVSDB_CHECK_POSITIVE([row with one uuid column],
'{"ref": ["uuid", "f707423d-bf5b-48b5-b6c0-797c900ba4b6"]}' \
'{"ref": ["uuid", "33583cc5-d2f4-43de-b1ca-8aac14071b51"]}' \
'{}']],
- [{RESERVED_COLUMNS,"ref":[["uuid","f707423d-bf5b-48b5-b6c0-797c900ba4b6"]]}
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"ref":["uuid","f707423d-bf5b-48b5-b6c0-797c900ba4b6"]}
ref
-{RESERVED_COLUMNS,"ref":[["uuid","33583cc5-d2f4-43de-b1ca-8aac14071b51"]]}
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"ref":["uuid","33583cc5-d2f4-43de-b1ca-8aac14071b51"]}
ref
-{RESERVED_COLUMNS,"ref":[["uuid","00000000-0000-0000-0000-000000000000"]]}
-<none>], [])
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"ref":["uuid","00000000-0000-0000-0000-000000000000"]}
+<none>]], [])
OVSDB_CHECK_POSITIVE([row with set of 1 to 2 elements],
[[parse-rows \
'{"columns": {"myset": {"type": {"key": "integer", "min": 1, "max": 2}}}}' \
'{}']],
- [{RESERVED_COLUMNS,["myset":0]}
-<none>])
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"myset":0}
+<none>]])
OVSDB_CHECK_POSITIVE([row with map of 1 to 2 elements],
[[parse-rows \
'{"columns": {"mymap": {"type": {"key": "integer", "value": "uuid", "min": 1, "max": 2}}}}' \
'{}']],
- [{RESERVED_COLUMNS,["mymap":["map",[[0,["uuid","00000000-0000-0000-0000-000000000000"]]]]]}
-<none>], [])
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"mymap":["map",[[0,["uuid","00000000-0000-0000-0000-000000000000"]]]]}
+<none>]], [])
OVSDB_CHECK_POSITIVE([row with several columns],
[[parse-rows \
@@ -107,10 +105,10 @@ OVSDB_CHECK_POSITIVE([row with several columns],
"datapath_id": "000ae4256bb0",
"hwaddr": "00:0a:e4:25:6b:b0"}' \
'{}']],
- [{RESERVED_COLUMNS,["controller":["set",[]],"datapath_id":"000ae4256bb0","hwaddr":"00:0a:e4:25:6b:b0","listeners":["set",[]],"mirrors":["set",[]],"name":"br0","netflows":["set",[]],"snoops":["set",[]],"vswitch":["uuid","1a5c7280-0d4c-4e34-9ec7-c772339f7774"]]}
+ [[{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"controller":["set",[]],"datapath_id":"000ae4256bb0","hwaddr":"00:0a:e4:25:6b:b0","listeners":["set",[]],"mirrors":["set",[]],"name":"br0","netflows":["set",[]],"snoops":["set",[]],"vswitch":["uuid","1a5c7280-0d4c-4e34-9ec7-c772339f7774"]}
datapath_id, hwaddr, name, vswitch
-{RESERVED_COLUMNS,["controller":["set",[]],"datapath_id":["set",[]],"hwaddr":"","listeners":["set",[]],"mirrors":["set",[]],"name":"","netflows":["set",[]],"snoops":["set",[]],"vswitch":["uuid","00000000-0000-0000-0000-000000000000"]]}
-<none>], [])
+{"_uuid":["uuid","00000000-0000-0000-0000-000000000000"],"_version":["uuid","00000000-0000-0000-0000-000000000000"],"controller":["set",[]],"datapath_id":["set",[]],"hwaddr":"","listeners":["set",[]],"mirrors":["set",[]],"name":"","netflows":["set",[]],"snoops":["set",[]],"vswitch":["uuid","00000000-0000-0000-0000-000000000000"]}
+<none>]], [])
OVSDB_CHECK_POSITIVE([row hashing (scalars)],
[[compare-rows \
diff --git a/tests/ovsdb-server.at b/tests/ovsdb-server.at
index 08c56ca..89b2bc2 100644
--- a/tests/ovsdb-server.at
+++ b/tests/ovsdb-server.at
@@ -526,7 +526,7 @@ AT_CHECK(
cat stdout >> output
AT_CHECK_UNQUOTED(
[cat output], [0],
- [[[{"rows":[{"private_key":"$PKIDIR/testpki-privkey2.pem"}]}]
+ [[@<:@{"rows":@<:@{"private_key":"$PKIDIR/testpki-privkey2.pem"}@:>@}@:>@
]], [ignore], [test ! -e pid || kill `cat pid`])
OVSDB_SERVER_SHUTDOWN
AT_CLEANUP
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 012733c..74e5c6d 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -18,6 +18,8 @@ AT_TESTED([ovs-vswitchd])
AT_TESTED([ovs-vsctl])
AT_TESTED([perl])
+m4_include([m4/compat.at])
+
m4_divert_push([PREPARE_TESTS])
[
ovs_wait () {
--
1.9.3
More information about the dev
mailing list