[gambit-list] calling scheme from C
Marc Feeley
feeley at iro.umontreal.ca
Sun Jun 14 10:29:36 EDT 2009
On 13-Jun-09, at 6:05 PM, Bradley Lucier wrote:
> On Sat, 2009-06-13 at 07:31 -0400, Marc Feeley wrote:
>>
>> % gsc -link scmlib.scm
>> % gcc main-c-app.c -D___LIBRARY scmlib.c scmlib_.c -lgambc
>> % ./a.out
>> hello montreal
>> returned 8
>> hello world
>> returned 5
>> */
>
>
> Marc:
>
> Once again examples of mixing C and Scheme code on this list contain
> incorrect gcc compiler options. You will quite possibly get incorrect
> results in the executable if you don't include -fwrapv,
> -fno-strict-aliasing, -mieee (on x86), etc., etc., all those options
> that you work so hard to get right in gsc-cc-o.bat.
>
> I recommend that you put together shell-scripts:
>
> gsc-compile-c-to-o
> gsc-link-c-to-scheme
>
> that will have the correct options.
>
> This is bug 103.
>
> Brad
Thanks for the suggestion. The problem is that there are so many
different ways that the C code generated by gsc can be used (creating
a .o file, creating an executable, creating a plugin, etc). Depending
on the case you may want some unusual C compiler options, like
selecting the calling convention, position independent code,
profiling, etc.
So it doesn't seem like the right solution to package all of these
decisions in a single script.
What is the right abstraction?
Marc
More information about the Gambit-list
mailing list