Re: [fossil-users] Changing header include order in main.c

2014-06-23 Thread Joe Prostko
On Mon, Jun 23, 2014 at 12:29 AM, Joe Mistachkin sql...@mistachkin.com wrote:

 Joe Prostko wrote:

 If I move the zlib.h inclusion below the crypto.h inclusion's #endif,
 then Fossil compiles and works fine with both GCC2 and GCC4.


 Fixed on trunk.  Thanks for the report.

Cool, thanks for the fix!  If the fix was a lot more involved, I
simply would have made it a required patch for our packaging system,
seeing as it's kind of unfair to expect you to support ancient
compilers like GCC 2.95.3, obviously.

Thanks again, as this makes my life easier.  :)

- joe
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Changing header include order in main.c

2014-06-22 Thread Joe Prostko
Hello,

Something else I found while compiling Fossil on Haiku.  It should be
the last issue I'm having.

I admit I didn't notice it before 1.29 came out, but essentially this
commit caused me some problems:

http://fossil-scm.org/index.html/info/48f1239eb2e9098b5c2f3b7d118683e4418f4696

The change that causes the issue is the header change on line 37 of main.c.

The build works fine for Haiku if you are using the GCC4 compiler, but
it bombs out using our GCC2 compiler (which is in place since we
attempt to be binary/source compatible with BeOS applications).

This problem isn't directly because of a different header being used,
but is because of the include order of the headers in main.c that only
becomes a factor when the different header is used.

If I move the zlib.h inclusion below the crypto.h inclusion's #endif,
then Fossil compiles and works fine with both GCC2 and GCC4.

There's a good explanation of the problem in the comments of the link
below.  The last comment of the thread also shows an alternate way to
address the issue.  Basically, the heart of the problem is that
free_func is typedef'd in zlib, and that causes confusion with the
free_func that exists in OpenSSL in headers like crypto.h.
Essentially, in my case, I was getting the syntax error before
`free_func' error on lines 466 and 471 of crypto.h that comes from
OpenSSL 1.0.0m which is currently provided with Haiku.

http://compgroups.net/comp.postgresql.hackers/build-error/2936423

Patch against Fossil trunk below, which may get mangled by my mail
client.  If it does't it's easy enough to move the zlib.h inclusion
down a few lines.  :)

--- fossil-old/src/main.c   2014-06-22 22:45:33.318664838 -0400
+++ fossil/src/main.c   2014-06-22 22:47:58.151663045 -0400
@@ -32,10 +32,10 @@
 #else
 #  include errno.h /* errno global */
 #endif
-#include zlib.h
 #ifdef FOSSIL_ENABLE_SSL
 #  include openssl/crypto.h
 #endif
+#include zlib.h
 #if INTERFACE
 #ifdef FOSSIL_ENABLE_TCL
 #  include tcl.h


- joe
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Changing header include order in main.c

2014-06-22 Thread Joe Mistachkin

Joe Prostko wrote:

 If I move the zlib.h inclusion below the crypto.h inclusion's #endif,
 then Fossil compiles and works fine with both GCC2 and GCC4.
 

Fixed on trunk.  Thanks for the report.

--
Joe Mistachkin

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users