[MacPorts] #37463: llvm-3.2 does not build / universal variants semantics should be changed

MacPorts noreply at macports.org
Mon Dec 31 10:56:30 PST 2012


#37463: llvm-3.2 does not build / universal variants semantics should be changed
-----------------------+------------------------
  Reporter:  vince@…   |      Owner:  jeremyhu@…
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.1.2
Resolution:            |   Keywords:  universal
      Port:  llvm-3.2  |
-----------------------+------------------------

Comment (by vince@…):

 Replying to [comment:1 jeremyhu@…]:
 >  No.  +universal means that the built binaries will run on either
 machine.  This is true for *all* ports.  Making it have a different
 meaning (ie CTARGET rather than CHOST) for toolchain ports is nonsensical.
 Furthermore, there is no reason to care about CTARGET for llvm because it
 is not as restricted as gcc and can support multiple targets with the same
 build.

 Have a look at gccXX ports:

 {{{
 -> port installed gcc47
 The following ports are currently installed:
   gcc47 @4.7.2_2+universal (active)
 -> file /opt/local/bin/gcc-mp-4.7
 /opt/local/bin/gcc-mp-4.7: Mach-O 64-bit executable x86_64
 }}}

 The universal flag in this case enables the multilib option, which means:
 "please generate a compiler that can be used for both x86-64 and i386 code
 generation" ; there is no way to generate a ‘universal binary‘ gcc. I
 don’t see why llvm/clang would not adhere to the same convention, which
 seems reasonable to me: consider a port like atlas which depends on gcc47
 for its +gcc47 variant. If I build a universal atlas, I don’t care about
 gcc being a universal binary: what I desire is a gcc that can compile
 atlas for both x86 and i386 (or ppc and ppc64); that’s exactly what the
 universal variant of gcc offers me.

 Now if I build clang/llvm without the universal variant, I also get a
 compiler able to generate code for both x86/i386, that’s what I want. But
 if I now desire to build atlas with the universal variant, macports will
 rebuild clang with the +universal option, which is at minimum a waste of
 resources…

-- 
Ticket URL: <https://trac.macports.org/ticket/37463#comment:3>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list