Skip to content

Conversation

@samueljohn
Copy link
Contributor

  • Patch included to respect CFLAGS/CXXFLAGS and CPPFLAGS in order to allow to build with Xcode only (no Command Line Tools needed)
  • Remove -I entry from LDFLAGS because in deps/Makefile there is a find command that searches all -L pathes in LDFLAGS. The "-I" in LDFLAGS is not substituted.

- Patch included to respect CFLAGS/CXXFLAGS and CPPFLAGS in order to allow to build with Xcode only (no Command Line Tools needed)
- Remove -I entry from LDFLAGS because in deps/Makefile there is a find command that searches all -L pathes in LDFLAGS. The "-I" in LDFLAGS is not substituted.
@samueljohn
Copy link
Contributor Author

A little comment: I don't want you to pull this right away but to look at it and perhaps the necessary changes (respecting CFLAGS, CXXFLAGS and CPPFLAGS) can be fixed upstream in julia. I know you are a contributer there :-)

A know very little of julias internal workings, so perhaps I did break some other things? At least I can build julia and get the test as far as the glpk tests failing with JuliaLang/julia#1047.

One maybe-issue is that uv is reported to have no symbols. I don't know is that is ok.

julia.rb Outdated
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 had no issues with parallel builds. But actually this deletion slipped in. Sorry.

Copy link
Owner

Choose a reason for hiding this comment

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

At this point, we're getting errors commonly enough due to Julia's evolving build process that I have the build deparallelized to make debugging error logs easier. It's much simpler to see what's going on when you don't have 2-3 programs outputting simultaneously.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are right. It slipped in because you just recently added it and I forked before that point in time.

This should make it break less often, because the git patches
apply only if both hashes are checked. Therefore, any small change
in any of the patches files breaks the whole patch. With inreplace we search/replace only a certain line.

Added doc about the LDFLAGS thing.
@staticfloat
Copy link
Owner

I think Xcode-only installs are really valuable, as it opens up the install process to even more of the population. Once we get a few of these things merged upstream, I'll gladly accept the stuff that makes sense to be in the formula. Thank you for all your hard work on getting Homebrew into shape for Xcode-only compiles, btw!

@staticfloat
Copy link
Owner

And don't worry about libuv not having any symbols; as far as I know, libuv is only used on windows as a compatibility layer, so it not having any symbols is just fine.

@samueljohn
Copy link
Contributor Author

Alright, and in turn, thanks for making the julia formula :-)

Would be good to have a build option or variable in julia where we can pass and overwrite the location of some of the includes.

@staticfloat
Copy link
Owner

What kind of overrides are you thinking? Is messing around with $CPPFLAGS not enough? Are you thinking something closer to a ./configure-style --with-PACKAGE= option?

@samueljohn
Copy link
Contributor Author

Hmmm you are right, if the calls to cpp would use the CPPFLAGS (which it probably should, right?) we would not have to tinker so much.

Otherwise I thought setting SUITESPARSE_INC and the related ones from outside of the build-system.

@staticfloat
Copy link
Owner

Yeah, cpp should always take in $CPPFLAGS. Right now, as you can see in my Formula, Julia basically only uses $CFLAGS, which is..... wrong, as systems rely on both being passed to the compiler/preprocessor.

@samueljohn
Copy link
Contributor Author

We agree :-)

@samueljohn
Copy link
Contributor Author

No longer needed. There is a new pull request that works with latest homebrew (tested on 10.8) and works without inreplace stuff.

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.

2 participants