Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

gambit-scheme doesn't use correct compiler after installed #17099

Closed
eraserhd opened this issue Jan 15, 2013 · 6 comments
Closed

gambit-scheme doesn't use correct compiler after installed #17099

eraserhd opened this issue Jan 15, 2013 · 6 comments
Labels

Comments

@eraserhd
Copy link
Contributor

gambit-scheme needs to refer to the compiler that built it after it's installed. This seems impossible the way homebrew is designed right now. The formula has no access to real compilers (and therefore configures compile flags in a very strange way that works for neither clang nor gcc), and either clang or gcc is used.

This is when installed with --use-gcc.

It encodes the compiler into the gambc-cc script. Manually changing it to gcc 4.2.1 produces warnings because flags were detected incorrectly.

@adamv
Copy link
Contributor

adamv commented Jan 15, 2013

Does it work with --env=std? What OS version are you on?

@eraserhd
Copy link
Contributor Author

I'm on mountain lion, and I have no idea where I would put --env=std. For example, compiling a file is:

gsc -exe foo

Like, maybe,

gsc -exe -cc-options '--env=std'

?

@adamv
Copy link
Contributor

adamv commented Jan 15, 2013

brew install gambit-scheme --env=std and then see if it wrote out the compiler files correctly.

@eraserhd
Copy link
Contributor Author

That works and detects the correct gcc. Is there a way to get the formula to do something like that when --use-gcc is passed? Or should this just be documented?

@adamv
Copy link
Contributor

adamv commented Jan 15, 2013

We can add env :std to the formula to force this behavior; a comment should be added above it explaining why it is there.

The default env is called "superenv", and uses tricks to force our use of compiler+flags through any binary invocation, which is what is confusing GS here.

@eraserhd
Copy link
Contributor Author

OK, I'll make a pull request. I think this is wise because using gambit
becomes painful for any useful size program when it compiles with clang.
(Exponential compile time based on source size.)

On Tue, Jan 15, 2013 at 3:21 PM, Adam Vandenberg
notifications@github.comwrote:

We can add env :std to the formula to force this behavior; a comment
should be added above it explaining why it is there.

The default env is called "superenv", and uses tricks to force our use of
compiler+flags through any binary invocation, which is what is confusing GS
here.


Reply to this email directly or view it on GitHubhttps://github.com//issues/17099#issuecomment-12287099.

@adamv adamv closed this as completed in a9300c8 Jan 16, 2013
@Homebrew Homebrew locked and limited conversation to collaborators Feb 16, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants