David, thanks for replying.
 
realize:  I am a potential user of both AST and/or UWin.  I am not sure which 
is which, and I don't think that is terrible.  I added myself to "all" the 
lists.
I guess UWin is posix.dll and pthreads.dll.AST is ksh and Graphvis and CDT.UWin 
is stuff exclusively for Windows.AST is stuff on top of UWin and top of "native 
Unix".
 
I said the package collection is NOT huge, but I was unclear.
What do you consider "Cygwin" binaries vs. non-Cygwin Windows binaries?
I guess you consider "native UWin" to be like, any of a varietyof Win32 
toolsets? Whatever your cc wraps?
 
Pardon me for merging multiple toptics into one mail, here goes:
Your cc didn't find my cl.
Here are more strategies:
Imaginea) At every opportunity where setup asked to set some variables, I 
declined.b) or after running setup, I clean installed the OS.and/orc) I have my 
own .bat files that establish %PATH%/%LIB%/%INCLUDE%
 
Some implications:
Various versions of Visual C++ have unique variables, besides thecommon 
PATH/LIB/INCLUDE. While I clear those after setup, they arenot unreasonable to 
depend upon.
Here is my prototype Python code (You can find this via modula3.elegosoft.com)
        VCBin = ""        VCInc = ""        VCLib = ""        MspdbDir = ""
        # 4.0 e:\MSDEV        # 5.0 E:\Program Files\DevStudio\SharedIDE        
MSDevDir = os.environ.get("MSDevDir")
        # 5.0        MSVCDir = os.environ.get("MSVCDir") # E:\Program 
Files\DevStudio\VC
        # 7.1 Express        VCToolkitInstallDir = 
os.environ.get("VCToolkitInstallDir") # E:\Program Files\Microsoft Visual C++ 
Toolkit 2003 (not set by vcvars32)
        # 8.0 Express        # E:\Program Files\Microsoft Visual Studio 8\VC    
    # E:\Program Files\Microsoft Visual Studio 8\Common7\Tools        DevEnvDir 
= os.environ.get("DevEnvDir") # E:\Program Files\Microsoft Visual Studio 
8\Common7\IDE        VSInstallDir = os.environ.get("VSINSTALLDIR") # E:\Program 
Files\Microsoft Visual Studio 8        # VS80CommonTools = 
os.environ.get("VS80COMNTOOLS") # E:\Program Files\Microsoft Visual Studio 
8\Common7\Tools        VCInstallDir = os.environ.get("VCINSTALLDIR") # 
E:\Program Files\Microsoft Visual Studio 8\VC
        #        # This is not yet finished.        #        # Probe the partly 
version-specific less-polluting environment variables,        # from newest to 
oldest.        # That is, having setup alter PATH, INCLUDE, and LIB system-wide 
is not        # a great idea, but having setup set DevEnvDir, VSINSTALLDIR, 
VS80COMNTOOLS, etc.        # isn't so bad and we can temporarily establish the 
first set from the second        # set.        #        if VSInstallDir:        
    #            # Visual C++ 2005/8.0, at least the Express Edition, free 
download            #            if not VCInstallDir:                
VCInstallDir = os.path.join(VSInstallDir, "VC")            if not DevEnvDir:    
            DevEnvDir = os.path.join(VSInstallDir, "Common7", "IDE")
            MspdbDir = DevEnvDir
        elif VCToolkitInstallDir:            #            # free download 
Visual C++ 2003; no longer available            #            VCInstallDir = 
VCToolkitInstallDir
        elif MSVCDir and MSDevDir:            #            # Visual C++ 5.0     
       #            pass # do more research            # VCInstallDir = MSVCDir
        elif MSDevDir:            #            # Visual C++ 4.0, 5.0            
#            pass # do more research            # VCInstallDir = MSDevDir
        else:            #            # This is what really happens on my 
machine, for 8.0.            # It might be good to guide pylib.py to other 
versions,            # however setting things up manually suffices and I have, 
um,            # well automated.            #            Msdev = 
os.path.join(SystemDrive, "msdev", "80")            VCInstallDir = 
os.path.join(Msdev, "VC")            DevEnvDir = os.path.join(Msdev, "Common7", 
"IDE")
        if VCInstallDir:            VCBin = os.path.join(VCInstallDir, "bin")   
         VCLib = os.path.join(VCInstallDir, "lib")            VCInc = 
os.path.join(VCInstallDir, "include")
        if DevEnvDir:            MspdbDir = DevEnvDir        #elif VCBin:       
 #    MspdbDir = VCBin
        _SetupEnvironmentVariableAll("INCLUDE", ["errno.h"], VCInc)
        _SetupEnvironmentVariableAll(            "LIB",            
["kernel32.lib", "libcmt.lib"],            VCLib + os.path.pathsep + 
os.path.join(InstallRoot, "lib"))
        #        # Do this before mspdb*dll because it sometimes gets it in the 
path.        #        _SetupEnvironmentVariableAll("PATH", ["cl", "link"], 
VCBin)
        _SetupEnvironmentVariableAny(            "PATH",            
["mspdb80.dll", "mspdb71.dll", "mspdb70.dll", "mspdb60.dll", "mspdb50.dll", 
"mspdb41.dll", "mspdb40.dll", "dbi.dll"],            MspdbDir)
        _SetupEnvironmentVariableAny(            "PATH",            
["msobj80.dll", "msobj71.dll", "msobj10.dll", "msobj10.dll", "mspdb50.dll", 
"mspdb41.dll", "mspdb40.dll", "dbi.dll"],            MspdbDir)
        #        # The free Visual C++ 2003 has neither delayimp.lib nor 
msvcrt.lib.        # Very old toolsets have no delayimp.lib.        # The Quake 
config file checks these environment variables.        #        Lib = 
os.environ.get("LIB")        if not SearchPath("delayimp.lib", Lib):            
os.environ["USE_DELAYLOAD"] = "0"
        if not SearchPath("msvcrt.lib", Lib):            
os.environ["USE_MSVCRT"] = "0"
_SetupEnvironmentVariableAll checks if all the listed files are in the 
variable, else  adds the parameter.
_SetupEnvironmentVariableAny checks if any are, and if not, adds.
 
def _SetupEnvironmentVariableAll(Name, RequiredFiles, Attempt):    AnyMissing = 
False    Value = os.environ.get(Name)    if Value:        for File in 
RequiredFiles:            if not SearchPath(File, Value):                
AnyMissing = True                break    else:        AnyMissing = True    if 
AnyMissing:        if Value:            NewValue = Attempt + os.path.pathsep + 
Value        else:            NewValue = Attempt        for File in 
RequiredFiles:            if not SearchPath(File, NewValue):                
print("ERROR: " + File + " not found in " + _FormatEnvironmentVariable(Name) + 
"(" + NewValue + ")")                sys.exit(1)        os.environ[Name] = 
NewValue        if Value:            print(Name + "=" + Attempt + os.pathsep + 
_FormatEnvironmentVariable(Name))        else:            print(Name + "=" + 
Attempt)
def _SetupEnvironmentVariableAny(Name, RequiredFiles, Attempt):    Value = 
os.environ.get(Name)    if Value:        for File in RequiredFiles:            
if SearchPath(File, Value):                return    if Value:        NewValue 
= Attempt + os.path.pathsep + Value    else:        NewValue = Attempt    for 
File in RequiredFiles:        if SearchPath(File, NewValue):            
os.environ[Name] = NewValue            if Value:                print(Name + 
"=" + NewValue + os.pathsep + _FormatEnvironmentVariable(Name))            
else:                print(Name + "=" + NewValue)            return    
print("ERROR: " + _FormatEnvironmentVariable(Name) + " does not have any of " + 
" ".join(RequiredFiles))    sys.exit(1)
## http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52224#def 
SearchPath(name, paths = getenv("PATH")):    #Given a search path, find file    
if (name.find("/") != -1) or (name.find("\\") != -1):        if 
os.path.isfile(name):            return name    if paths == "":        return 
None    (base, exts) = os.path.splitext(name)    if not exts:        exts = 
(getenv("PATHEXT") or "").lower()    for ext in exts.split(";"):        if ext 
== ".":            ext = ""        name = (base + ext)        for path in 
paths.split(os.path.pathsep):            candidate = os.path.join(path, name)   
         if os.path.isfile(candidate):                return 
os.path.abspath(candidate)
So this is two strategies in one:
  search %PATH% for cl.exe, link.exe, etc., and if not found, look in some 
other environment variables.
As well, check the default install locations.I don't have all that data 
collected, but like%systemdrive%:\dm for digital mars.%systemdrive%:\program 
files\blahblah for Visual C++
I install Metrowerks (don't use it much) to \mwerks\6, \mwerks\7, but that's me.
Visual C++ to \msdev\40, \msdev\50, \msdev\60, \msdev\70, \msdev\80, etc., also 
just me.
SO you are saying if I setup things so that cc/ld find cl/link, I can just 
build X from source?A particular branch?The Cygwin stuff builds from a 
particular branch I think.
There is some overlap of packages and it is confusing.CDT is available as a 
separate download, but appears old.And it is part of other packages, up to 
date??
 
> The "cygwin.i386" binaries have nothing to do with UWIN. The cygwin.i386> is 
> a compilation of the AST software for Cygwin. UWIN contains> a compilation of 
> this for UWIN as well as many other commands that> are not part of AST.
 
I'm not stupid..but I am a bit confused.
The downloads are all together. I understand UWin is a Unix portability layer 
akin to Cygwin.
And AST is a bunch of "apps", like Graphviz, not a portability layer.
You'd build it on Cygwin or UWin, maybe either works similarly.
But UWin I think has a "better" license.
The UWin and AST downloads are in the same place and I'd rather hope that folks 
(you) knowledgable about one, are also knowledable about the other...
 - Jay



> Date: Wed, 9 Apr 2008 10:10:34 -0400> From: [EMAIL PROTECTED]> To: [EMAIL 
> PROTECTED]; [email protected]> Subject: Re: [uwin-users] first 
> impressions..> > cc: [EMAIL PROTECTED]> Subject: Re: [uwin-users] first 
> impressions..> --------> > First, thanks for the feedback.> > I spent just a 
> small amount of time trying to use/install/build uwin/ast.> > My experience 
> was good and bad.> > I'm mainly a Win32 user and that's what I used.> > The 
> base Win32 binary installer + X Windows installers work.> > I would prefer a 
> somewhat smaller base -- like maybe no services.Or prompting. I> > was 
> surprised good and bad to see sshd running.> > I would prefer that the 
> install not deny me access to some of the files.But that> > is easily fixed. 
> I take ownership and then reacl.> > > > The /apparent/ but not yet realized 
> by me ease of building the system from sourc> > e, esp. from just 
> sh+ratz+package, is attractive.> > > > The /apparent/ but not yet clear to me 
> more liberal license than that of Cygwin > > is attractive (below).> > > > 
> That it includes an X Windows server is somewhat attractive. I have some X 
> code > > I'd like to try on Windows.> > Ok, now my big complaints:> > 1) 
> several packages appear to be out of date.Some packages have no source 
> distri> > bution. For example mawl. For example X Windows. cdt appears old.> 
> Since mawl is not part of UWIN, I assume that you are talking about> other 
> packages on the site; not just UWIN. UWIN has a recent version of> cdt as 
> part of the ast library and is in src/lib/libast/cdt in the> source code. The 
> X-Windows package was built from a download of> the X11R6.6 source several 
> months ago.> > It sounds like some of the source archives overlap, but I 
> don'tthink the overlap> > ping ones had the same dates.> > Given that there 
> aren't a HUGE number of packages, some "all" option would be ni> > ce.> UWIN 
> does not have a huge number of packages. There are the following:> base> 
> developement> x11base> x11development> groff> perl> The base package contains 
> the AST software which contains many libraries such as vcodex and cdt.> > > > 
> 2) Attempting to build the system from source appears to lead to much 
> different> > results than that the installer produces. Besides that I got 
> compilation error> > s that I haven't dug into yet, the file system layout is 
> different. This seems > > wrong.> > The binaries claim to be for a 
> "cygwin.i386" flavor.I don't quite get the relati> > onship between uwin and 
> cygwin.I get, sure, that cygwin can be used to bootstrap> > using 
> ratz/package.I get, sure, that uwin doesn't really include a compiler, po> > 
> ssibly a good thing.But, e.g. being "cygwin" implies a possible cygwin1.dll 
> depe> > ndency.> The "cygwin.i386" binaries have nothing to do with UWIN. The 
> cygwin.i386> is a compilation of the AST software for Cygwin. UWIN contains> 
> a compilation of this for UWIN as well as many other commands that> are not 
> part of AST.> > The directions are not clear as to if I must alter 
> %PATH%.They have some wierd w> > ording about some things requiring it.Is the 
> point, like, if I use nmake, I need> > to alter %PATH%?And it is just..I 
> installed to \uwin...\uwin\arch\cygwin.i386 o> > r such?I forget now if the X 
> binaries were there -- but actually, the X binaries> > have no source, so I 
> they were installed with a binary installer, whichputs the > > files 
> elsewhere entirely.> We will post at least the changes we made to the X11 
> sources.> > I don't think I ever found a short summary of the license.That 
> would be nice.> Here is a short summary:> 1. Don't sue us.> 2. If you 
> distribute, make it clear to anyone that AT&T has no> liability.> 3. If you 
> make changes to source code in any of our modules and> distriubte, you must 
> make this changes available as well.> 4. You can add new modules that are 
> proprietary and distribute.> > I will fiddle around more here.I realize my 
> report here is all very unscientific> > and devoid of details.> > uwin looks 
> like a good alternative to Cygwin.I'll have to find how it implements> > 
> fork/vfork/exec, see if it isefficient unlike Cygwin (I get that fork would 
> be > > quite difficult, butvfork+exec maybe not..)> UWIN implements fork() as 
> well as vfork(). Actually, exec was harder to> implement than fork().> > Do 
> you have any AMD64 (or IA64?) Windows versions?> We expect to build a 64 bit 
> version some time this year.> > - Jay> > (attachment 1 66/3194 text/html 
> "1.att")> > > > _______________________________________________> > uwin-users 
> mailing list> > [email protected]> > 
> https://mailman.research.att.com/mailman/listinfo/uwin-users> > > > David 
> Korn> [EMAIL PROTECTED]
_______________________________________________
uwin-users mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/uwin-users

Reply via email to