Skip to content
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

DRAFT: msys2 working #185

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

DRAFT: msys2 working #185

wants to merge 6 commits into from

Conversation

bitten2up
Copy link
Contributor

fixes #182 but could cause issues on other builds because of how im including sdl right now

image

tested using the command make PLATFORM=sdl_win32 CPU_ARCH="i386" PREFIX=i686-w64-mingw32- CPP=cpp AS=as AR=ar -j$(nproc) OBJCOPY=objcopy to build

@@ -1,7 +1,4 @@
#if defined(__unix__) || defined(__unix) || \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this can be removed, but what was the reason for it @JaceCear?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would assume msvc

there is defines checking for it, but i would assume we arent compiling the tools in visual studio anyways

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like BriBaSA doesn't like it if it's not there?
1d0c7df

IMO keeping VS compat in turn means theoretical (and in this case practical) independence from GCC, which is a good thing.
I do prefer building with Visual Studio because it outputs proper PDBs, unlike the tool I use to convert GCC's debug info output.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like BriBaSA doesn't like it if it's not there? 1d0c7df

IMO keeping VS compat in turn means theoretical (and in this case practical) independence from GCC, which is a good thing. I do prefer building with Visual Studio because it outputs proper PDBs, unlike the tool I use to convert GCC's debug info output.

ok would !MSVC be a better choice then

@@ -2,6 +2,7 @@ STD_REVERB = 0

$(MID_BUILDDIR)/%.o: $(MID_SUBDIR)/%.s
@echo "$(AS) <flags> -I sound -o $@ $<"
dos2unix $<
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lol, so yeah this needs to be set if you are on windows?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep,
from tools/preproc/asm_file.cpp

i tried updating it but it randomly segfaults so this is the solution im using to work around that

// Asserts that the rest of the line is empty and moves to the next one.
void AsmFile::ExpectEmptyRestOfLine()
{
    SkipWhitespace();

    if (m_buffer[m_pos] == 0)
    {
        if (m_pos >= m_size)
            RaiseWarning("file doesn't end with newline");
        else
            RaiseError("unexpected null character");
    }
    else if (m_buffer[m_pos] == '\n')
    {
        m_pos++;
        m_lineStart = m_pos;
        m_lineNum++;
    }
    else if (m_buffer[m_pos] == '\r')
    {
        RaiseError("only Unix-style LF newlines are supported");
    }
    else
    {
        RaiseError("junk at end of line");
    }
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the workaround at all.
Either the code gets proper CRLF support or not, but dos2unix is an additional dependency that we don't need.

@@ -9,7 +9,7 @@
#include <xinput.h>
#endif

#include <SDL.h>
#include <SDL2/SDL.h>
Copy link
Collaborator

@freshollie freshollie Jan 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SDL can be included the normal way if you make the includes use the correct directory for the flags.

Where is your SDL library located to make this work? It is using pkg-config sdl2?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant to set it to wip just because i knew i did this while working on it, but forgot to check the box

@bitten2up
Copy link
Contributor Author

that will now fail to build, but i can fix that soon assuming i don't get distracted

@bitten2up bitten2up changed the title msys2 working DRAFT: msys2 working Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Compile fails on MSYS2 due to missing assert include in epos.c
3 participants