Hi I'm in a normalizing mood. I found out that 87 ports use variant darwin 10 ports use variant puredarwin 10 ports use variant freebsd 3 ports use variant powerpc 3 ports use variant x86 Now, that should be "platform", shouldn't it ? Should I go on and change everything ? yves
On Jul 10, 2007, at 18:45, Yves de Champlain wrote:
I'm in a normalizing mood.
I found out that
87 ports use variant darwin 10 ports use variant puredarwin 10 ports use variant freebsd 3 ports use variant powerpc 3 ports use variant x86
Don't forget 2 ports that use "variant macosx". Oops, one of those is mine...
Now, that should be "platform", shouldn't it ?
Should I go on and change everything ?
All except "variant x86", probably yes... As for "variant x86", the correct syntax would be "platform i386", wouldn't it? I don't see any ports with "platform x86", and nobody with an Intel Mac is currently automatically getting a variant called "x86", as far as I know. And since those users are not complaining, I must conclude that whatever is in the x86 variant is not in fact necessary for Intel Macs, and may in fact be harmful. So each of the x86 variants should be specifically examined and only retained if found to still be necessary. I mean, up until not too long ago, the only way to use MacPorts on an x86 processor was to use an OS other than Mac OS X, right? The "variant x86" ports are freetype1, python23 and llvm-gcc4. I sure don't understand what's going on in the powerpc and x86 variants of llvm-gcc4, why that's necessary. (Cc'ing maintainer.) As for python23, the x86 variant only does "configure.args-append --disable- toolbox-glue", which is the same thing it does for the puredarwin variant, which makes it sound like it would be a bad idea for this to be changed to "platform i386" since that would disable the toolbox glue on Intel Macs, where the glue should probably remain. And freetype1 is obviously old and unmaintained and no ports depend on it, so maybe we should just delete that port.
Le 07-07-11 à 00:25, Ryan Schmidt a écrit :
On Jul 10, 2007, at 18:45, Yves de Champlain wrote:
I'm in a normalizing mood.
I found out that
87 ports use variant darwin 10 ports use variant puredarwin 10 ports use variant freebsd 3 ports use variant powerpc 3 ports use variant x86
Don't forget 2 ports that use "variant macosx". Oops, one of those is mine...
Now, that should be "platform", shouldn't it ?
Should I go on and change everything ?
All except "variant x86", probably yes...
As for "variant x86", the correct syntax would be "platform i386", wouldn't it? I don't see any ports with "platform x86", and nobody with an Intel Mac is currently automatically getting a variant called "x86", as far as I know. And since those users are not complaining, I must conclude that whatever is in the x86 variant is not in fact necessary for Intel Macs, and may in fact be harmful. So each of the x86 variants should be specifically examined and only retained if found to still be necessary. I mean, up until not too long ago, the only way to use MacPorts on an x86 processor was to use an OS other than Mac OS X, right?
Mmm i386 is for intel, sure. But x86 targets a wider set of platforms (intel and AMD). So I always saw i386 as a subset of x86. Am I far off ? yves
Le 07-07-11 à 00:25, Ryan Schmidt a écrit :
On Jul 10, 2007, at 18:45, Yves de Champlain wrote:
I'm in a normalizing mood.
I found out that
87 ports use variant darwin 10 ports use variant puredarwin 10 ports use variant freebsd 3 ports use variant powerpc 3 ports use variant x86
Don't forget 2 ports that use "variant macosx". Oops, one of those is mine...
Now, that should be "platform", shouldn't it ?
Should I go on and change everything ?
All except "variant x86", probably yes...
As for "variant x86", the correct syntax would be "platform i386", wouldn't it? I don't see any ports with "platform x86", and nobody with an Intel Mac is currently automatically getting a variant called "x86", as far as I know. And since those users are not complaining, I must conclude that whatever is in the x86 variant is not in fact necessary for Intel Macs, and may in fact be harmful. So each of the x86 variants should be specifically examined and only retained if found to still be necessary. I mean, up until not too long ago, the only way to use MacPorts on an x86 processor was to use an OS other than Mac OS X, right?
I just saw "platform intel" Does that really work ? yves
On Jul 10, 2007, at 23:49, Yves de Champlain wrote:
Le 07-07-11 à 00:25, Ryan Schmidt a écrit :
As for "variant x86", the correct syntax would be "platform i386", wouldn't it? I don't see any ports with "platform x86", and nobody with an Intel Mac is currently automatically getting a variant called "x86", as far as I know. And since those users are not complaining, I must conclude that whatever is in the x86 variant is not in fact necessary for Intel Macs, and may in fact be harmful. So each of the x86 variants should be specifically examined and only retained if found to still be necessary. I mean, up until not too long ago, the only way to use MacPorts on an x86 processor was to use an OS other than Mac OS X, right?
Mmm i386 is for intel, sure. But x86 targets a wider set of platforms (intel and AMD). So I always saw i386 as a subset of x86.
Am I far off ?
On Jul 11, 2007, at 00:26, Yves de Champlain wrote:
I just saw "platform intel" Does that really work ?
I really have no idea about "x86" or "platform intel". Where is the code in base that autoselects platforms? We could look there to see what it supports.
Le 07-07-15 à 00:04, Ryan Schmidt a écrit :
On Jul 10, 2007, at 23:49, Yves de Champlain wrote:
Le 07-07-11 à 00:25, Ryan Schmidt a écrit :
As for "variant x86", the correct syntax would be "platform i386", wouldn't it? I don't see any ports with "platform x86", and nobody with an Intel Mac is currently automatically getting a variant called "x86", as far as I know. And since those users are not complaining, I must conclude that whatever is in the x86 variant is not in fact necessary for Intel Macs, and may in fact be harmful. So each of the x86 variants should be specifically examined and only retained if found to still be necessary. I mean, up until not too long ago, the only way to use MacPorts on an x86 processor was to use an OS other than Mac OS X, right?
Mmm i386 is for intel, sure. But x86 targets a wider set of platforms (intel and AMD). So I always saw i386 as a subset of x86.
Am I far off ?
On Jul 11, 2007, at 00:26, Yves de Champlain wrote:
I just saw "platform intel" Does that really work ?
I really have no idea about "x86" or "platform intel". Where is the code in base that autoselects platforms? We could look there to see what it supports.
it fetches uname, so whatever comes out is good yves
On Jul 15, 2007, at 10:03, Yves de Champlain wrote:
Mmm i386 is for intel, sure. But x86 targets a wider set of platforms (intel and AMD). So I always saw i386 as a subset of x86.
Am I far off ?
On Jul 11, 2007, at 00:26, Yves de Champlain wrote:
I just saw "platform intel" Does that really work ?
I really have no idea about "x86" or "platform intel". Where is the code in base that autoselects platforms? We could look there to see what it supports.
it fetches uname, so whatever comes out is good
Ah. Well, uname -a shows i386 on my MacBook Pro with Mac OS X, but I don't know what it outputs on all other operating systems on all other computers. So what do we do now?
On Jul 15, 2007, at 3:11 PM, Ryan Schmidt wrote:
On Jul 15, 2007, at 10:03, Yves de Champlain wrote:
Mmm i386 is for intel, sure. But x86 targets a wider set of platforms (intel and AMD). So I always saw i386 as a subset of x86.
Am I far off ?
On Jul 11, 2007, at 00:26, Yves de Champlain wrote:
I just saw "platform intel" Does that really work ?
I really have no idea about "x86" or "platform intel". Where is the code in base that autoselects platforms? We could look there to see what it supports.
it fetches uname, so whatever comes out is good
Ah. Well, uname -a shows i386 on my MacBook Pro with Mac OS X, but I don't know what it outputs on all other operating systems on all other computers. So what do we do now?
Part of the code that sets the platform name is in base/src/port1.0/ portmain.tcl, but I have to admit I don't remember the original question of this post in order to provide a helpful answer :-S What is it that we're trying to agree on? An Intel Mac appropriate platform name? intel? i386? something else? Regards,... -jmpp
On Jul 15, 2007, at 14:25, Juan Manuel Palacios wrote:
On Jul 15, 2007, at 3:11 PM, Ryan Schmidt wrote:
On Jul 15, 2007, at 10:03, Yves de Champlain wrote:
Mmm i386 is for intel, sure. But x86 targets a wider set of platforms (intel and AMD). So I always saw i386 as a subset of x86.
Am I far off ?
On Jul 11, 2007, at 00:26, Yves de Champlain wrote:
I just saw "platform intel" Does that really work ?
I really have no idea about "x86" or "platform intel". Where is the code in base that autoselects platforms? We could look there to see what it supports.
it fetches uname, so whatever comes out is good
Ah. Well, uname -a shows i386 on my MacBook Pro with Mac OS X, but I don't know what it outputs on all other operating systems on all other computers. So what do we do now?
Part of the code that sets the platform name is in base/src/ port1.0/portmain.tcl, but I have to admit I don't remember the original question of this post in order to provide a helpful answer :-S What is it that we're trying to agree on? An Intel Mac appropriate platform name? intel? i386? something else?
Well, it was your thread: you were normalizing platform names and discovered things like "x86" and "intel". We were both wondering if "intel" was a valid platform name anywhere, and I don't know how to find out if "uname" returns "intel" on any computer. However, I can't find any port containing "platform intel" now. Did you change it already? And you posited that "x86" worked on some platforms, while I know that "i386" is correct for Intel Macs. In terms of what happens if you write a platform selector in MacPorts, I don't think i386 is a subset of x86 at all; if I were to draw a Venn diagram, I don't think the two circles would intersect. uname either returns i386 (like on Intel Macs) or it returns x86 (on some other Intel computers). I think my point was just that any occurrences of "platform x86" or "variant x86" should *not* be changed to "platform i386" because the x86 selectors seem to have been used in the past to target non-Macs, which would make this software start to fail on Intel Macs.
Ryan Schmidt wrote:
And you posited that "x86" worked on some platforms, while I know that "i386" is correct for Intel Macs. In terms of what happens if you write a platform selector in MacPorts, I don't think i386 is a subset of x86 at all; if I were to draw a Venn diagram, I don't think the two circles would intersect. uname either returns i386 (like on Intel Macs) or it returns x86 (on some other Intel computers). I think my point was just that any occurrences of "platform x86" or "variant x86" should *not* be changed to "platform i386" because the x86 selectors seem to have been used in the past to target non-Macs, which would make this software start to fail on Intel Macs.
Seems like all the current ports with "x86" or "intel" as the arch are either wrong or typos, though... "darwin x86" should be "darwin i386", and the one (1) port with "darwin intel" is just plain wrong IMHO. They should most likely be *standardized* to be "powerpc" or "i386", even though the aliases "ppc" and "x86" are theoretically valid too (for example Darwin 6-7 was i386, Darwin 8-9 are i686, both: "x86") It's easy to tweak port.tcl to return "i386" for any "x86" or "i686" machines from tcl_platform, just as it is currently returns "powerpc" for the hopelessly silly `uname -m` return value of "Power Macintosh"... The suggested "port platform" info command could help people determine what values to put into their platform variants, but for the current common target it's probably enough to make a list of available ones ? --anders
On Jul 15, 2007, at 15:21, Anders F Björklund wrote:
Ryan Schmidt wrote:
And you posited that "x86" worked on some platforms, while I know that "i386" is correct for Intel Macs. In terms of what happens if you write a platform selector in MacPorts, I don't think i386 is a subset of x86 at all; if I were to draw a Venn diagram, I don't think the two circles would intersect. uname either returns i386 (like on Intel Macs) or it returns x86 (on some other Intel computers). I think my point was just that any occurrences of "platform x86" or "variant x86" should *not* be changed to "platform i386" because the x86 selectors seem to have been used in the past to target non-Macs, which would make this software start to fail on Intel Macs.
Seems like all the current ports with "x86" or "intel" as the arch are either wrong or typos, though... "darwin x86" should be "darwin i386",
I still say that this needs to be examined and evaluated individually for each port. If nobody's complaining about these ports, then maybe whatever's being done in the darwin x86 platform selector isn't necessary for Intel Macs at all, and might in fact be harmful. For example, mpfr has a section "platform darwin x86", but it also has an identical section "platform darwin i386", so the port maintainer, Vincent, should be asked why this is duplicated. I'm Cc'ing him on this email. And xgalaga has a section "platform darwin x86" which should clearly be "platform darwin i386", and I've changed that now, but the port doesn't build on Intel Macs anyway because it uses (and seems maybe to require) gcc 3.3.
and the one (1) port with "darwin intel" is just plain wrong IMHO.
Ah -- "darwin intel" -- that's why I didn't find it before. Got it now: it's libdnsres. I'm Cc'ing the maintainer, Mark, since he should have a say in this, but I agree, this should be "platform darwin i386". I think he should also remove the unnecessary CFLAGS and LDFLAGS definitions.
They should most likely be *standardized* to be "powerpc" or "i386", even though the aliases "ppc" and "x86" are theoretically valid too (for example Darwin 6-7 was i386, Darwin 8-9 are i686, both: "x86")
I don't know what you mean by all of this. I'm on darwin 8 now, and uname returns i386, and "platform x86" sections definitely do not get executed by MacPorts on an Intel Mac currently. If you're suggesting that MacPorts base could be changed so that x86 would also work on Intel Macs, then I again reiterate that I believe x86 is being used in several ports right now in an attempt to target non-Macs. If such a change were made to base, those ports would start failing on Intel Macs.
It's easy to tweak port.tcl to return "i386" for any "x86" or "i686" machines from tcl_platform, just as it is currently returns "powerpc" for the hopelessly silly `uname -m` return value of "Power Macintosh"...
It might have been clearer if we had tweaked "i386", "i686", and "x86" to be just "intel", but I'm not sure if we want to go to all the trouble to do that now.
The suggested "port platform" info command could help people determine what values to put into their platform variants, but for the current common target it's probably enough to make a list of available ones ?
I'm not sure what you mean here? What suggested "port platform" info command?
Ryan Schmidt wrote:
Seems like all the current ports with "x86" or "intel" as the arch are either wrong or typos, though... "darwin x86" should be "darwin i386",
I still say that this needs to be examined and evaluated individually for each port. If nobody's complaining about these ports, then maybe whatever's being done in the darwin x86 platform selector isn't necessary for Intel Macs at all, and might in fact be harmful.
It's just 7 ports, but so far it all looks like they should be changed.
For example, mpfr has a section "platform darwin x86", but it also has an identical section "platform darwin i386", so the port maintainer, Vincent, should be asked why this is duplicated. I'm Cc'ing him on this email.
I have no idea what kind of Darwin system would return "x86" in uname. The list at http://wiki.tcl.tk/1649 only mentions "i386" and "i386"...
And xgalaga has a section "platform darwin x86" which should clearly be "platform darwin i386", and I've changed that now, but the port doesn't build on Intel Macs anyway because it uses (and seems maybe to require) gcc 3.3.
See other email... There is no such i386 gcc-3.3 for Mac OS X 10.4 ?
and the one (1) port with "darwin intel" is just plain wrong IMHO.
Ah -- "darwin intel" -- that's why I didn't find it before. Got it now: it's libdnsres. I'm Cc'ing the maintainer, Mark, since he should have a say in this, but I agree, this should be "platform darwin i386". I think he should also remove the unnecessary CFLAGS and LDFLAGS definitions.
Actually it should be "platform darwin 8 i386", but most likely it should be updating the config.sub and config.guess or so instead ?
They should most likely be *standardized* to be "powerpc" or "i386", even though the aliases "ppc" and "x86" are theoretically valid too (for example Darwin 6-7 was i386, Darwin 8-9 are i686, both: "x86")
I don't know what you mean by all of this.
The triplets are: i386-apple-darwin6 i386-apple-darwin7 i686-apple-darwin8 i686-apple-darwin9 Other operating systems, like Fedora, went through similar changes as well. (whether arch actually returns i386 or i686 depends on some other factors)
I'm on darwin 8 now, and uname returns i386, and "platform x86" sections definitely do not get executed by MacPorts on an Intel Mac currently. If you're suggesting that MacPorts base could be changed so that x86 would also work on Intel Macs, then I again reiterate that I believe x86 is being used in several ports right now in an attempt to target non-Macs. If such a change were made to base, those ports would start failing on Intel Macs.
I meant that i386/i686/x86 are all the same thing, and "i386" is the name. Optimizations for certain processors are done elsewhere anyway, here it is just talking about the generic architecture - Intel x86 or PowerPC ?
It's easy to tweak port.tcl to return "i386" for any "x86" or "i686" machines from tcl_platform, just as it is currently returns "powerpc" for the hopelessly silly `uname -m` return value of "Power Macintosh"...
It might have been clearer if we had tweaked "i386", "i686", and "x86" to be just "intel", but I'm not sure if we want to go to all the trouble to do that now.
I prefer the shorter x86 and ppc myself, but it doesn't matter much. The current arch names of "i386" and "powerpc" works just as well, but if you want to introduce the extra alias "intel" for i386 then do...
The suggested "port platform" info command could help people determine what values to put into their platform variants, but for the current common target it's probably enough to make a list of available ones ?
I'm not sure what you mean here? What suggested "port platform" info command?
I formalized the discussion we had earlier into a Trac ticket, #12302 Basically it returns something that would work if put as platform {} --anders
On 15 Jul 2007, at 23:53, Anders F Björklund wrote:
Ryan Schmidt wrote:
Seems like all the current ports with "x86" or "intel" as the arch are either wrong or typos, though... "darwin x86" should be "darwin i386",
I still say that this needs to be examined and evaluated individually for each port. If nobody's complaining about these ports, then maybe whatever's being done in the darwin x86 platform selector isn't necessary for Intel Macs at all, and might in fact be harmful.
It's just 7 ports, but so far it all looks like they should be changed.
For example, mpfr has a section "platform darwin x86", but it also has an identical section "platform darwin i386", so the port maintainer, Vincent, should be asked why this is duplicated. I'm Cc'ing him on this email.
I have no idea what kind of Darwin system would return "x86" in uname. The list at http://wiki.tcl.tk/1649 only mentions "i386" and "i386"...
OpenDarwin did return x86 while Mac OS X returns i386; so the 'x86' stuff is/was for OpenDarwin while 'i386' is the Mac OS X Intel stuff. So please do NOT replace x86 by i386 by default - this is not an error to be corrected this way. If no one complains, we may just remove the x86 ones as there is no OpenDarwin distribution anymore.
And xgalaga has a section "platform darwin x86" which should clearly be "platform darwin i386", and I've changed that now, but the port doesn't build on Intel Macs anyway because it uses (and seems maybe to require) gcc 3.3.
See other email... There is no such i386 gcc-3.3 for Mac OS X 10.4 ?
and the one (1) port with "darwin intel" is just plain wrong IMHO.
Ah -- "darwin intel" -- that's why I didn't find it before. Got it now: it's libdnsres. I'm Cc'ing the maintainer, Mark, since he should have a say in this, but I agree, this should be "platform darwin i386". I think he should also remove the unnecessary CFLAGS and LDFLAGS definitions.
Actually it should be "platform darwin 8 i386", but most likely it should be updating the config.sub and config.guess or so instead ?
They should most likely be *standardized* to be "powerpc" or "i386", even though the aliases "ppc" and "x86" are theoretically valid too (for example Darwin 6-7 was i386, Darwin 8-9 are i686, both: "x86")
I don't know what you mean by all of this.
The triplets are: i386-apple-darwin6 i386-apple-darwin7 i686-apple-darwin8 i686-apple-darwin9
Other operating systems, like Fedora, went through similar changes as well. (whether arch actually returns i386 or i686 depends on some other factors)
I'm on darwin 8 now, and uname returns i386, and "platform x86" sections definitely do not get executed by MacPorts on an Intel Mac currently. If you're suggesting that MacPorts base could be changed so that x86 would also work on Intel Macs, then I again reiterate that I believe x86 is being used in several ports right now in an attempt to target non-Macs. If such a change were made to base, those ports would start failing on Intel Macs.
I meant that i386/i686/x86 are all the same thing, and "i386" is the name.
Optimizations for certain processors are done elsewhere anyway, here it is just talking about the generic architecture - Intel x86 or PowerPC ?
It's easy to tweak port.tcl to return "i386" for any "x86" or "i686" machines from tcl_platform, just as it is currently returns "powerpc" for the hopelessly silly `uname -m` return value of "Power Macintosh"...
It might have been clearer if we had tweaked "i386", "i686", and "x86" to be just "intel", but I'm not sure if we want to go to all the trouble to do that now.
I prefer the shorter x86 and ppc myself, but it doesn't matter much.
The current arch names of "i386" and "powerpc" works just as well, but if you want to introduce the extra alias "intel" for i386 then do...
If you want this done 100% correctly, I'd recommend "ia32" (Intel Architecture 32), "aa64" (AMD Architecture 64), "ppc32" and "ppc64" - and of course 'arm32'... ;)
The suggested "port platform" info command could help people determine what values to put into their platform variants, but for the current common target it's probably enough to make a list of available ones ?
I'm not sure what you mean here? What suggested "port platform" info command?
I formalized the discussion we had earlier into a Trac ticket, #12302
Basically it returns something that would work if put as platform {}
--anders
_______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-dev
--- Markus W. Weissmann http://www.mweissmann.de/
participants (5)
-
Anders F Björklund
-
Juan Manuel Palacios
-
Ryan Schmidt
-
Weissmann Markus
-
Yves de Champlain