[M3devel] build_platform in archive names

Olaf Wagner wagner at elegosoft.com
Sat Aug 7 16:59:43 CEST 2010


I've left out Windows, because I wasn't sure what exactly was needed
there. Feel free to add an appropriate string for all Windows-based
target platforms!

Olaf

Quoting Jay K <jay.krell at cornell.edu>:

> Thanks!
> I want something slightly different for NT platforms.
> NT doesn't have the binary incompatibility and cross-build problem   
> of Unix, at the OS level.
>   (and commercial Unix isn't so bad either I think these days)
> However it does sort of have it at the C runtime level.
> i.e. There is no need to say e.g. XP/Vista/Win7/NT5.1/6.0/6.1, but   
> there is a need to say e.g. msvc70/71/80/90/100.
> And there probably is a need for Cygwin-1.5 vs. Cygwin-1.7 (ie.   
> exactly what you have).
>
> You can see in pylib.py:
>
> def FormInstallRoot(PackageSetName):
>     AltConfig = {"NT386":"x86"}.get(Config, Config)
>     a = os.path.join(GetStage(), "cm3-" + PackageSetName + "-" +   
> AltConfig + "-" + CM3VERSION)
>     if Config == "NT386" or Config == "I386_NT":
>         a = a + "-VC" + GetVisualCPlusPlusVersion()
>     else:
>         b = os.popen("uname -sr").read()
>         b = re.sub("Linux 2.4\..+$", "Linux2.4", b)
>         b = re.sub("Linux 2.6\..+$", "", b)
>         b = re.sub("-.+$", "", b)
>         b = re.sub("SunOS", "Solaris", b)
>         b = re.sub("[ \r\n]", "", b)
>         a = a + "-" + b
>     a = a + "-" + time.strftime("%Y%m%d")
>     return a
>
>
> uname -p redundant with $(TARGET), er..the other way around..
> config.guess/uname maybe is the preferable way.
> I guess that's a bigger leap right now, and it isn't entirely true,   
> e.g. on "biarch" systems, e.g. AMD64_{DARWIN,SOLARIS},   
> SPARC64_SOLARIS, PPC64_DARWIN, etc..
>
>
> def GetVisualCPlusPlusVersion():
>     a = os.popen("cl 2>&1 >nul").read().lower()
>     if a.find("9.00") != -1:
>         return "20"
>     if a.find("10.00") != -1:
>         return "40"
>     if a.find("10.10") != -1:
>         return "41"
>     if a.find("10.20") != -1:
>         return "42"
>     if a.find("11.00") != -1:
>         return "50"
>     if a.find("12.00") != -1:
>         return "60"
>     if a.find("13.00") != -1:
>         return "70"
>     if a.find("13.10") != -1:
>         return "71"
>     if a.find("14.00") != -1:
>         return "80"
>     if a.find("15.00") != -1:
>         return "90"
>     if a.find("16.00") != -1:
>         return "100"
>     FatalError("unable to detect Visual C++ version, maybe cl is not  
>  in %PATH%?")
>
>
> but I'm just talking..need to try to work it in to your *.sh.
>
>
>  - Jay
>
> ----------------------------------------
>> Date: Sat, 7 Aug 2010 12:58:48 +0000
>> To: m3commit at elegosoft.com
>> From: wagner at elego.de
>> Subject: [M3commit] CVS Update: cm3
>>
>> CVSROOT: /usr/cvs
>> Changes by: wagner at birch. 10/08/07 12:58:48
>>
>> Modified files:
>> cm3/scripts/: make-bin-dist-min.sh make-dist.sh sysinfo.sh
>> cm3/scripts/regression/: update_snapshot_status.sh
>>
>> Log message:
>> fix snapshot support and add build_platform
>>
>



-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list