Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Full Version)

All Forums >> [SFU / Interix / SUA Technology] >> Interix Advanced Forum



Message


StanleyJ -> Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 13, '06, 10:59:50 PM)

The original bug over at Mozilla's Bugzilla was actually reported against Interix SFU 3.5 (https://bugzilla.mozilla.org/show_bug.cgi?id=231904), though with Microsoft "bundling" Interix natively as of Windows Server 2003 R2 in the server space and now with Windows Vista (RC1) in the client space, I think it would be a good thing if Interix's SUA could be made to work "out of the box" without too much hair pulling as-per Cygwin.

Various bits at Mozilla.org's Developer Wiki:

http://developer.mozilla.org/en/docs/Build_Documentation
http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites
http://developer.mozilla.org/en/docs/VC8_Build_Instructions

The most obvious tools that are "missing" from FTP site here are ash (Almquist shell) and gawk (GNU awk).

Visual Studio Express is a "freebie": http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
... and the Vista RC1 SDK: http://www.microsoft.com/downloads/details.aspx?FamilyID=1bb19978-b14d-4748-8b3b-a296e7bfe27f&DisplayLang=en (this might have been a bad choice, as the Mozilla docs only suggest using the Windows Server 2003 (SP1 or R2) SDKs... not quite got my build environment yet, heh).




Rodney -> RE: Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 14, '06, 1:15:01 AM)

> The most obvious tools that are "missing" from FTP site here are ash (Almquist shell) and gawk (GNU awk).

Just a quick note: gawk ships with the SFU/SUA install (not much point duplicating it).
Your's is the first mention of a request for ash ever -- it's good to let us know.

The Vista RC1 SDK is a work-in-progress. The utilities have had a significant update and more
will be done for RC2. The manual pages haven't been updated to match yet. Just FYI.




Rodney -> RE: Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 14, '06, 1:40:52 AM)

I've just read lightly through the mentioned bug report (https://bugzilla.mozilla.org/show_bug.cgi?id=231904).
A lot of Neil fellow's comments are showing that he doesn't understand
that Interix is the development environment. It's not Win32. It's Unix.
So case sensitive filenames is what you expect with Unix and bash.
(BTW install should be used for installing, not cp).
His utility list missed a lot.
The long and short of it is it reads like Neil approached things the wrong way.
The approach is to treat Interix as "just another Unix".
So don't bother with "Windows Prereq's" and "VC8" settings.
Approach it as just another Unix platform.




StanleyJ -> RE: Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 15, '06, 1:01:54 PM)

Might have bitten off more than I can chew... am not yet able to get SUA to play nicely with my install of Vista RC1. Have been meaning to do a clean install anyway (upgraded from pre-RC1, when it was breifly made available)... so will try again.

quote:

ORIGINAL: Rodney
Just a quick note: gawk ships with the SFU/SUA install (not much point duplicating it).
Your's is the first mention of a request for ash ever -- it's good to let us know.


Whoops... my bad in missing gawk from the Base GNU utils. Was just looking for the required packages on Interix's FTP site. :)

As for ash... I guess there's always a first. ;)

quote:

ORIGINAL: Rodney
The Vista RC1 SDK is a work-in-progress. The utilities have had a significant update and more
will be done for RC2. The manual pages haven't been updated to match yet. Just FYI.


Hmm, I thought the SUA releases coincide with Vista releases, so since Vista is meant to go straight to RTM now that RC1 is out, am a little surprised to hear this. Not that having an RC2 would be a bad thing. :)

quote:

ORIGINAL: Rodney

I've just read lightly through the mentioned bug report (https://bugzilla.mozilla.org/show_bug.cgi?id=231904).
A lot of Neil fellow's comments are showing that he doesn't understand
that Interix is the development environment. It's not Win32. It's Unix.
So case sensitive filenames is what you expect with Unix and bash.
(BTW install should be used for installing, not cp).
His utility list missed a lot.
The long and short of it is it reads like Neil approached things the wrong way.
The approach is to treat Interix as "just another Unix".
So don't bother with "Windows Prereq's" and "VC8" settings.
Approach it as just another Unix platform.


So basically what you are suggesting is to treat SUA like a BSD flavoured UNIX and use gcc to cross-compile for Win32 (and I guess Win64 as and whenever Mozilla make their updates to allow targeting of Win64)?




Rodney -> RE: Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 15, '06, 2:00:57 PM)

quote:

Hmm, I thought the SUA releases coincide with Vista releases, so since Vista is meant to go straight to RTM now that RC1 is out, am a little surprised to hear this. Not that having an RC2 would be a bad thing. :)


Not a bad thing at all :-)
The end result should make more people happy.

quote:

So basically what you are suggesting is to treat SUA like a BSD flavoured UNIX and use gcc to cross-compile for Win32 (and I guess Win64 as and whenever Mozilla make their updates to allow targeting of Win64)?


Yes, treat Interix as another Unix. There is a very strong BSD flavour, but there are POSIX/SUS/SV
additions as well. This is not for Win32/64 cross-compiling. It's just for Interix. Interix
is a peer subsystem to Win32/64 (CSRSS). It's a build for Interix/Unix. Build it and run it with
Interix. You'll need an X-server for display.

64 bit is supported starting with R2 and now Vista for Interix (I'm actually typing this from
such a machine). The thing is that gcc remains 32-bit based so the 64-bit MSVC needs to
be used (The Pro version which, alas, isn't available for free download).

So if the code can build on 64-bit unix then it should build fine.




StanleyJ -> RE: Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 15, '06, 3:13:17 PM)

quote:

ORIGINAL: Rodney

Yes, treat Interix as another Unix. There is a very strong BSD flavour, but there are POSIX/SUS/SV
additions as well. This is not for Win32/64 cross-compiling. It's just for Interix. Interix
is a peer subsystem to Win32/64 (CSRSS). It's a build for Interix/Unix. Build it and run it with
Interix. You'll need an X-server for display.

64 bit is supported starting with R2 and now Vista for Interix (I'm actually typing this from
such a machine). The thing is that gcc remains 32-bit based so the 64-bit MSVC needs to
be used (The Pro version which, alas, isn't available for free download).

So if the code can build on 64-bit unix then it should build fine.


Hmmm, unfortunately that wouldn't be what said bug report at Mozilla.org or I be trying to achieve. Currently Win32 binaries are built under Cygwin though targeted for i586-pc-msvc. Whilst building as a native Interix application which then uses X-server for display should work... they'd only be of interest to a small subset of Windows 2003 Server/Vista/Longhorn Server users (which'd have Interix installed, with working X-server).




Rodney -> RE: Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 15, '06, 3:36:23 PM)

> ...they'd only be of interest to a small subset...

Agreed.

I'm more clear now about what you are trying to do.

You can use Interix as the build environment. There is a special
script named wcc (it's one of the packages) that is like
c89/cc by using MSVC but generates Win32 binaries. The include
files, etc. are all drawn from Win32 too this way. With some minor
adjustments wcc could do the 64-bit as well. This allows the
use of Unix make or gmake or jam, and any other
tools for the building/installing process while creating Win32 binaries.




StanleyJ -> RE: Compiling Firefox/Thunderbird/Seamonkey/etc under SUA instead of Cygwin... (Sep. 15, '06, 5:11:19 PM)

quote:

ORIGINAL: Rodney

I'm more clear now about what you are trying to do.

You can use Interix as the build environment. There is a special
script named wcc (it's one of the packages) that is like
c89/cc by using MSVC but generates Win32 binaries. The include
files, etc. are all drawn from Win32 too this way. With some minor
adjustments wcc could do the 64-bit as well. This allows the
use of Unix make or gmake or jam, and any other
tools for the building/installing process while creating Win32 binaries.


Ah, excellent! That's the ticket.. In that case, are there any docs on this? I've had a quick skim through the forum posts and looks like it'll be something that'll require a lot of RTFM-ing. :D




Page: [1]



Forum Software © ASPPlayground.NET Advanced Edition 2.5 ANSI

0.156