1. compiling 4.1 ?

"Missing required architecture macros."

Where do you set the X86 architecture ?

new topic     » topic index » view message » categorize

2. Re: compiling 4.1 ?

BRyan said...

"Missing required architecture macros."

Where do you set the X86 architecture ?

config.gnu - but that should have been done automatically by the configure bash shell script.

I don't understand why we even have that line in be_callc.c - we're using the C-only callc on everything but x86, and the C-only callc should work on x86 in theory as well. So, why do we even care if the macros are there or not?

new topic     » goto parent     » topic index » view message » categorize

3. Re: compiling 4.1 ?

jimcbrown said...
BRyan said...

"Missing required architecture macros."

Where do you set the X86 architecture ?

config.gnu - but that should have been done automatically by the configure bash shell script.

I don't understand why we even have that line in be_callc.c - we're using the C-only callc on everything but x86, and the C-only callc should work on x86 in theory as well. So, why do we even care if the macros are there or not?

There are still architecture related implementation details for the C-only interfaces. IIRC, this was done because there might be places where things would compile but not work without them, or possibly just a matter of providing a clearer error message than some random line failing due to a missing declaration or whatever.

Matt

new topic     » goto parent     » topic index » view message » categorize

4. Re: compiling 4.1 ?

mattlewis said...

There are still architecture related implementation details for the C-only interfaces. IIRC, this was done because there might be places where things would compile but not work without them, or possibly just a matter of providing a clearer error message than some random line failing due to a missing declaration or whatever.

Ouch. Ok, that makes sense. The goal of the C-only callc interface was to provide a single implementation that would have been portable across multiple platforms and architectures, in order to reduce the burden of porting Euphoria's runtime to a new platform/arch. That goal is still met, but I guess it was too much to hope that it'd work with zero changes to a new platform. Oh well.

new topic     » goto parent     » topic index » view message » categorize

5. Re: compiling 4.1 ?

jimcbrown said...

Ouch. Ok, that makes sense. The goal of the C-only callc interface was to provide a single implementation that would have been portable across multiple platforms and architectures, in order to reduce the burden of porting Euphoria's runtime to a new platform/arch. That goal is still met, but I guess it was too much to hope that it'd work with zero changes to a new platform. Oh well.

The real problems, IIRC, come from dealing with passing floating point arguments. When everything goes on the stack (e.g., x86) it's easy. But all of our new platforms (x86-64, ARM) use registers in various ways, and 64-bit Windows does things differently that 64-bit non-Windows (or course). Writing all this in C is a lot easier (IMHO) than writing it in platform specific ASM, but it's still tricky to get it all correct.

Matt

new topic     » goto parent     » topic index » view message » categorize

6. Re: compiling 4.1 ?

When I tried to compile 4.1 on xp using Open Watcom the architecture error caused compile to fail.

Why isn't the architecture option in configure.bat ?

new topic     » goto parent     » topic index » view message » categorize

7. Re: compiling 4.1 ?

BRyan said...

When I tried to compile 4.1 on xp using Open Watcom the architecture error caused compile to fail.

Why isn't the architecture option in configure.bat ?

We're planning on removing Watcom support in 4.1 (weren't we?).

Matt

new topic     » goto parent     » topic index » view message » categorize

8. Re: compiling 4.1 ?

mattlewis said...
BRyan said...

When I tried to compile 4.1 on xp using Open Watcom the architecture error caused compile to fail.

Why isn't the architecture option in configure.bat ?

We're planning on removing Watcom support in 4.1 (weren't we?).

Matt

A vote was taken on this issue, and the result was to remove it. http://openeuphoria.org/forum/119651.wc

No one has actually taken responsibility for removing the code though, so it's still in there, but bitrotting (and, as BRyan and SDPringle have pointed out, already broken).

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu