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

Document list of requirements for compiling from source #672

Open
midwan opened this Issue Sep 30, 2018 · 2 comments

Comments

Projects
None yet
2 participants
@midwan
Copy link

midwan commented Sep 30, 2018

Submission type

  • Feature Request

YAM version

current master branch

It would be great if there was some documentation regarding the environment requirements, in order to compile the project from source.
E.g. MUI, the various MCCs, the NDK 3.9 (if needed), etc.

Even with an educated guess that I made, I'm still missing some references to some files which don't seem to be part of external requirements.
For example, in src/tcp/Connection.c:

#include "mui/YAMApplication.h"

I cannot locate that file in the current sources?

@tboeckel

This comment has been minimized.

Copy link
Collaborator

tboeckel commented Oct 1, 2018

You cannot find that file, because it does not exist in the repository and will never exist. It will be created automatically during the build process.

To be honest, although it is possible to build YAM natively on AmigaOS4 (I never tried AmigaOS3), it is not recommended. First of all because it takes ages to build on AmigaOS (30 minutes at least), while it takes about 2 minutes on a decent Linux machine.
Second, the tools available on AmigaOS are utterly outdated. There is a port of "flex" for AmigaOS4, but that version is old and the generated code will crash. Hence the code generated by a newer flex version on Linux is required.

Apart from these obstacles all the required stuff should be included in the repository. Of course you need the system dependent SDK (AmigaOS3, AmigaOS4, MorphOS, AROS) plus the MUI headers (MUI 3.8 is sufficient). And then it is all a simple call of "make OS=os4" to build the AmigaOS4 version.

@midwan

This comment has been minimized.

Copy link
Author

midwan commented Oct 1, 2018

@tboeckel
Thanks for the reply.

I was interested in building the OS3 target (because that's one I can test locally), but not necessarily on OS3 itself, even though we could try that under UAE which is quite fast.

Instead, I thought I'd compile it using my VBCC cross compiler environment (I know you're using GCC here, but I could make the necessary changes). Worst case scenario, I could also do it in GCC under Linux, of course.

I already have the 3.9 NDK in place, as well as the MUI headers and RoadShow's SDK, but as I don't have a full list of requirements for the project I wasn't sure if anything else was needed (e.g. some MCC headers, like NList?). Checking the code showed some unresolved references like the one I mentioned above, so I thought I'd ask. :)

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