RPCS3 Forums
Regarding zlib and wxWidgets - Printable Version

+- RPCS3 Forums (https://forums.rpcs3.net)
+-- Forum: Support & Issues (https://forums.rpcs3.net/forumdisplay.php?fid=17)
+--- Forum: Support (https://forums.rpcs3.net/forumdisplay.php?fid=18)
+--- Thread: Regarding zlib and wxWidgets (/showthread.php?tid=174374)



RE: Regarding zlib and wxWidgets - markus - 03-17-2016

Hello. This is my first post on the forum, so if this is in the wrong place, please let me know.

I've forked the build for RPCS3 and started working on removing wx dependencies in emucore. So far I've only changed rpcs3/Crypto/unself.cpp to use zlib instead of wxStreams to handle decompression of 64-bit SELF files.

As far as I can tell, this hasn't affected my build, but I haven't found a good SELF file to test on. So that's problem number 1.

Problem number 2 is that zlib.h is packaged inside wxWidgets, so I have to #include "../../wxWidgets/src/zlib/zlib.h". Obviously, this doesn't really eliminate the dependency on wxWidgets.

So, how should I handle these two problems? Thanks!



RE: Regarding zlib and wxWidgets - tambre - 03-17-2016

(03-17-2016, 01:51 AM)markus Wrote: Hello. This is my first post on the forum, so if this is in the wrong place, please let me know.

I've forked the build for RPCS3 and started working on removing wx dependencies in emucore. So far I've only changed rpcs3/Crypto/unself.cpp to use zlib instead of wxStreams to handle decompression of 64-bit SELF files.

As far as I can tell, this hasn't affected my build, but I haven't found a good SELF file to test on. So that's problem number 1.

Problem number 2 is that zlib.h is packaged inside wxWidgets, so I have to #include "../../wxWidgets/src/zlib/zlib.h". Obviously, this doesn't really eliminate the dependency on wxWidgets.

So, how should I handle these two problems? Thanks!

You'll have more success asking on the IRC or Github issues about development related things.
We also use wxWidget's zlib for libpng, to save on compilation time. It's probably worth leaving it taking it from wxWidgets until other wxWidget's core dependencies have been eliminated. Other than that, good job!



RE: Regarding zlib and wxWidgets - markus - 03-18-2016

Thanks tambre.

Would it be wise to submit a pull request at this point with my code? I've only tested it with uncompressing the EBOOT.BIN of one game, and it has no memleaks or extra compiler warnings.



RE: Regarding zlib and wxWidgets - vlj - 03-18-2016

Thanks for tackling this.

PR even at early stage always help getting comments or advice on code style or performance.



RE: Regarding zlib and wxWidgets - markus - 03-18-2016

So I utterly destroyed my repo with EOL bugs, but I fixed it. And now I'm back to this one issue (still):

I can't pass the buildbots on my PR. They all break on the include statement for zlib.h. Here's what I've tried:

Code:
#include "../../wxWidgets/src/zlib/zlib.h"
Code:
#include "wxWidgets/src/zlib/zlib.h"
Code:
#include <wxWidgets/src/zlib/zlib.h>

And I would try
Code:
#include <zlib.h>
, but that won't build in Visual Studio. I've been trying to solve this all day, to no avail.



RE: Regarding zlib and wxWidgets - tambre - 03-19-2016

(03-18-2016, 11:20 PM)markus Wrote: So I utterly destroyed my repo with EOL bugs, but I fixed it. And now I'm back to this one issue (still):

I can't pass the buildbots on my PR. They all break on the include statement for zlib.h. Here's what I've tried:

Code:
#include "../../wxWidgets/src/zlib/zlib.h"
Code:
#include "wxWidgets/src/zlib/zlib.h"
Code:
#include <wxWidgets/src/zlib/zlib.h>

And I would try
Code:
#include <zlib.h>
, but that won't build in Visual Studio. I've been trying to solve this all day, to no avail.

You should probably add wxWidget's zlib directory as an additional include directory in one of our properties sheets. I think it should be added to rpcs3_default properties sheet.



RE: Regarding zlib and wxWidgets - markus - 03-19-2016

Yep, that's exactly what I did.

Code:
<IncludePath>..\wxWidgets\src\zlib;
Code:
#include <zlib.h>

This satisfies Visual Studio and Travis, but Appveyor still fails on that include line.

EDIT: For the sake of completeness, I can quickly say what solved this issue.

I needed to include ZLIB_INCLUDE_DIR in the CMakeLists.txt file in rpcs3/rpcs3, and then I added the wxWidgets/src/zlib directory to the default props file for rpcs3. This satisfied both Appveyor and Visual Studio.