New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Travis CI Fixes #1077

Merged
merged 39 commits into from Sep 30, 2017

Conversation

Projects
None yet
2 participants
@RobertBColton
Member

RobertBColton commented Sep 28, 2017

Our goal with this PR is to get all the Travis builds passing.

  1. Fixed one issue caused by a template declaration in the spline drawing functions. The container is used as a pointer so I just had to add a * and it continued to work.
  2. Each compiler now gets its own objects folder eliminating the need to rebuild on a simple compiler switch.
  3. Fixes typo in clang32.ey where ldlags should have been ldflags
  4. Fixed GTK+ by copying the CFLAGS override for CXXFLAGS
  5. Fixed the Matrix Math extension by renaming the folder from Matrix to MatrixMath which matches the Identifier: specified in the About.ey file. This extension actually had the problem since it was created but it only surfaced after my changes in commit 73a7170 to make the plugin consistent about which field is human-readable and which is not.
  6. Box2D just needed the same fix as #5 to rename the folder from Box2D to Box2DPhysics so that it matched the identifier.
  7. Cleaned up the async extension formatting and fixed a bug that caused travis to fail. I was statically initializing the async_load global which the DataStructures extension doesn't support because it also uses a statically initialized map for storing the actual datastructures themselves. Hence, I just moved the ds_map_create call into createThread so it's not created until it's first needed. The extension seems to be working again and I tested the events. I also removed the DataStructures extension from the Asynchronous extension's makefile because that's not correct. What we need is better UI support and to use the Depends: field correctly. For example, when enabling the Asynchronous extension a dialog would ask if you also want to enable the DataStructures extension since it depends on it. Additionally, I changed the travis yml file to only test Asynchronous extension with DataStructures extension also enabled, in the same way that it tests the JSON extension.
  8. Made the JSON extension build again, but it looks like it never worked to begin with. I have no idea what @fundies and @sssstest were smoking at the time but it clearly didn't work for them. Removed also the flags that were enabling exceptions, because ENIGMA does not do exceptions.
  9. Fixed some errors in the Berkeley sockets networking system related to recvfrom and getsockname casts. On Windows they take an int and on Linux they take socklen_t.
  10. Cleans up the None audio system and provides two stubs for GM5Compat extension to build with it.
  11. Fixes the Bullet extension makefile similar to the GTK one so that it properly finds the headers using the pkg config.

Miscellaneous Changes

  • Enables Unicode for Windows but it will be difficult to complete because Windows is still in the dark ages. For now, we created a helper for converting the strings and used it to make show_message support UTF-8, which is a start to fixing #1074. Other dialogs and such will also need to make use of this helper. I want to note that defining UNICODE did not automatically map MessageBox to MessageBoxW so I had to explicitly change it to MessageBoxW.
  • Changed the get_login function to use the '\0' null-terminator for delimiting username and password. This is pretty standard and means the user can now use vertical bar '|' in their username or password.
  • Expanded the None widget system to include get_login, get_integer, get_string, and show_question functions. This was necessary to get the Async extension building in Travis.

RobertBColton added some commits Sep 27, 2017

Fixes for Windows and cleanup
1) Cleaned up all of the about files to have the correct specificity.
Windows should now be selected as the correct default platform when on
Windows, and OpenGL1.1 should be the default graphics everywhere, since
again, we consider it most stable.
2) Reverted @fundies change to the ENIGMASystem/SHELL/Makefile because
what @JoshDreamland had before was correct. This didn't even compile and
broke Windows which was reported in #1033 that we couldn't figure out.
3) Added follow_object to roomsystem.h so the graphics systems would
compile again.
@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Sep 28, 2017

Member

@JoshDreamland for #4 could you tell me if I should have just deleted CFLAGS in 7b22590 since we only use g++ now? Or is it fine since it's not hurting anything?

Member

RobertBColton commented Sep 28, 2017

@JoshDreamland for #4 could you tell me if I should have just deleted CFLAGS in 7b22590 since we only use g++ now? Or is it fine since it's not hurting anything?

@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Sep 28, 2017

Member

@JoshDreamland Yeah I'd like you to review commit 73a7170 just to make sure my changes were logical. This is related to #5 but regardless of whether I need to go back and undo those earlier changes, this change is still needed to match the folder name with the id/identifier. Please see the related forum topic too where I discuss the changes that I had made at the time to the plugin:
http://enigma-dev.org/forums/index.php?topic=2718

I just want those changes audited.

Member

RobertBColton commented Sep 28, 2017

@JoshDreamland Yeah I'd like you to review commit 73a7170 just to make sure my changes were logical. This is related to #5 but regardless of whether I need to go back and undo those earlier changes, this change is still needed to match the folder name with the id/identifier. Please see the related forum topic too where I discuss the changes that I had made at the time to the plugin:
http://enigma-dev.org/forums/index.php?topic=2718

I just want those changes audited.

Show outdated Hide outdated CompilerSource/compiler/compile.cpp
Show outdated Hide outdated CompilerSource/settings-parse/parse_ide_settings.cpp
Show outdated Hide outdated CompilerSource/settings.h
Show outdated Hide outdated ENIGMAsystem/SHELL/Universal_System/Extensions/Asynchronous/ASYNCdialog.cpp
@@ -25,6 +25,49 @@ using std::string;
#include "GameSettings.h"
#include <iostream>

This comment has been minimized.

@JoshDreamland

JoshDreamland Sep 29, 2017

Member

This change is sufficiently complex to warrant updating the copyright headers. Just extend the years to today under both our names.

@JoshDreamland

JoshDreamland Sep 29, 2017

Member

This change is sufficiently complex to warrant updating the copyright headers. Just extend the years to today under both our names.

This comment has been minimized.

@RobertBColton
@RobertBColton
Show outdated Hide outdated ENIGMAsystem/SHELL/Widget_Systems/Win32/dialogs.cpp
@JoshDreamland

This comment has been minimized.

Show comment
Hide comment
@JoshDreamland

JoshDreamland Sep 29, 2017

Member

And just like that, we have our first green build, in the history of this project. Wow, what a fun day this has been. Good job; this has to be the most substantial positive change the project has seen in years. Thank you again.

Member

JoshDreamland commented Sep 29, 2017

And just like that, we have our first green build, in the history of this project. Wow, what a fun day this has been. Good job; this has to be the most substantial positive change the project has seen in years. Thank you again.

@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Sep 29, 2017

Member

I'm just proud of the fact that we actually fixed everything instead of a cop out where we just disabled the ones we couldn't get working. We stuck it out and got them ALL working. 👍

Member

RobertBColton commented Sep 29, 2017

I'm just proud of the fact that we actually fixed everything instead of a cop out where we just disabled the ones we couldn't get working. We stuck it out and got them ALL working. 👍

@JoshDreamland JoshDreamland merged commit b173f92 into enigma-dev:master Sep 30, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@JoshDreamland

This comment has been minimized.

Show comment
Hide comment
@JoshDreamland

JoshDreamland Sep 30, 2017

Member

So... build's green.

Member

JoshDreamland commented Sep 30, 2017

So... build's green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment