+@@ -281,8 +280,20 @@
+ Swig_banner(f_runtime);
+
+ Printf(f_runtime,"#define SWIGPYTHON\n");
+
++ String *package_version = NewString(PACKAGE_VERSION);
++ char *token = strtok(Char(package_version), ".");
++ String *vers = NewString("#define SWIG_VERSION 0x");
++ while (token) {
++ int len = strlen(token);
++ Printf(vers, "%s%s", (len == 1) ? "0" : "", token);
++ token = strtok(NULL, ".");
++ }
++ Printf(f_runtime, "%s\n", vers);
++ Delete(package_version);
++ Delete(vers);
++
+ if (directorsEnabled()) {
+ Printf(f_runtime,"#define SWIG_DIRECTORS\n");
+ }
+
+@@ -322,9 +333,8 @@