SuperEnv way to disable llvm directories

(Wu Yongwei) #1

For a background, please see:

People mentioned that the use of env :std could be a deal breaker. However, that is the only way I know to avoid the unintended use of LDFLAGS -L/usr/local/opt/llvm/lib. If the use of env :std is deprecated, should there be an official SuperEnv way to disable the use of LLVM directories to avoid the unnecessary dependency on llvm? It is a much heavier dependency than libomp (2.8 GB vs 1.2 MB).

If such a way already exists, I apologize for failing to find it. Any relevant information will be appreciated.

Another possibility could be removing libomp from the llvm binaries. Not sure whether that is wanted or not.

(Mike McQuaid) #2

It’s not worth worrying about the “heaviness” of commonly used dependencies like llvm. We won’t accept env :std in Homebrew/homebrew-core but you could maintain your own version in a tap if desired.

(Wu Yongwei) #3

Since I have llvm locally installed, I do not mind the dependency. From an end user’s point of view, making imagemagick depend on llvm is probably not desirable. If you do not mind this dependency, things are probably easy for me.

Also, in this thread I am asking whether it is possible to disable the use of LDFLAGS -L/usr/local/opt/llvm/lib while using superenv. Currently the superenv behaviour basically renders libomp pointless when llvm is used. I do not think this is intended.

(Wu Yongwei) #4

To put in some numbers, I do not think it a good idea to make a 40MB package depend on a 2.8GB package as a run-time dependency (a build-time dependency is fine). Especially considering it is really possible to make it depend on a package as small as 1.2MB…

(Mike McQuaid) #5

We’ll welcome a PR to fix the issue with not linking to libomp.