Flock | the social web browser

Build setup on MSWin

[edit] Easier newbee build instructions

There appears to be no "easy" way now.

[edit] Hardcore step by step build instructions

fbuild has been used on Windows XP Pro w/ Microsoft Visual Studio .NET 2005.

Before you start, read the Mozilla Requirements.

Be sure to follow the steps from Software Requirements onward.

Note: It helps to have this in your base environment:

MOZILLABUILD=C:\mozilla-build

Note these instructions assume you are building the trunk.

1) Create a directory on your hard drive. You can name it whatever, but something descriptive might be good. For instance, c:\flockBuilds.

2) Make sure this directory structure exists: C:\mozilla-build\msys\home\YOUR USER NAME

3) In the directory, place two files,

.bash_profile (taken from Cygwin)

# base-files version 3.7-1

# To pick up the latest recommended .bash_profile content,
# look in /etc/defaults/etc/skel/.bash_profile

# Modifying /etc/skel/.bash_profile directly will prevent
# setup from updating it.

# The copy in your home directory (~/.bash_profile) is yours, please
# feel free to customise it to create a shell
# environment to your liking.  If you feel a change
# would be benifitial to all, please feel free to send
# a patch to the cygwin mailing list.

# ~/.bash_profile: executed by bash for login shells.

# source the system wide bashrc if it exists
if [ -e /etc/bash.bashrc ] ; then
  source /etc/bash.bashrc
fi

# source the users bashrc if it exists
if [ -e "${HOME}/.bashrc" ] ; then
  source "${HOME}/.bashrc"
fi

# Set PATH so it includes user's private bin if it exists
if [ -d "${HOME}/bin" ] ; then
  PATH=${HOME}/bin:${PATH}
fi

# Set MANPATH so it includes users' private man if it exists
# if [ -d "${HOME}/man" ]; then
#   MANPATH=${HOME}/man:${MANPATH}
# fi

# Set INFOPATH so it includes users' private info if it exists
# if [ -d "${HOME}/info" ]; then
#   INFOPATH=${HOME}/info:${INFOPATH}
# fi

.bash_rc

  • See notes on the lines with /f/yohman
# base-files version 3.7-1

# To pick up the latest recommended .bashrc content,
# look in /etc/defaults/etc/skel/.bashrc

# Modifying /etc/skel/.bashrc directly will prevent
# setup from updating it.

# The copy in your home directory (~/.bashrc) is yours, please
# feel free to customise it to create a shell
# environment to your liking.  If you feel a change
# would be benificial to all, please feel free to send
# a patch to the cygwin mailing list.

# User dependent .bashrc file


# My Own Options
# ##############
export EDITOR=vi
export n="/f/yohman/notes" #Change to /YOUR DRIVE/flockBuilds/notes

# Avoid having a dialog pop up for each XPCOM error
export XPCOM_DEBUG_BREAK=warn

# Suppress the debug-mode JS error dialogs
###export FLOCK_NO_JS_ERROR_DIALOGS=true

# Cause a debugger break at startup
###export XRE_MAIN_BREAK=true

# Functions
# #########


4) In a file, C:\mozilla-build\msys\home\YOUR USER NAME\.fbuild\defaults, place this text

export TIME_FMAKE=1
export NSIS_PATH="c:\\mozilla-build\\nsis-2.22"
export INCLUDE="C:\Program Files\Microsoft SDKs\Windows\v6.0\Include"
export VS_PATH='C:\Program Files\Microsoft Visual Studio 8' #Adjust for you version of Visual Studio. *Note by cyohman.*

5) Execute ./fbuild-initialsetup.sh --buildbase /YOUR DRIVE/flockBuilds/flock- trunk --anonymous

6) If all goes well, exit your shell, start another one, and execute: fenvtrunk

7) If all is still going well, then execute: fbuild_all

8) If all is still going well, then execute: flaunch

Congratulations! You have compiled Flock successfully and have it running.

Hints: Having issues? See irc.flock.com, #flock-dev or the Flock mailing lists, https://lists.flock.com/mailman/listinfo/flock-dev .

[edit] Vista Builds

Yes, Flock can now be built on the Windows Vista OS.

  • Follow the directions above as normal except use Administrator to install cygwin.
  • After cygwin is installed run the setup program again and this time use the download and install option. When it comes to the package selection make sure no packages are selected except the openssh-4.6p1-1. This will allow ssh to work properly.
  • Now create a batch file to run cygwin (This was created from the mozilla-build MinGW batch files.):
 @echo off

 SET MSVCROOTKEY=HKLM\SOFTWARE\Microsoft\VisualStudio
 SET MSVC71KEY=%MSVCROOTKEY%\7.1\Setup\VC

 REM First see if we can find MSVC, then set the variable
 REM NOTE: delims=<tab><space>
 REM NOTE: run the initial REQ QUERY outside of the if() to set ERRORLEVEL correctly
 
 REG QUERY "%MSVC71KEY%" /v ProductDir >nul 2>nul
 if "%VC71DIR%"=="" (
   IF %ERRORLEVEL% EQU 0 (
     FOR /F "tokens=2* delims=	 " %%A IN ('REG QUERY "%MSVC71KEY%" /v ProductDir') DO SET VC71DIR=%%B
   )
 )
 
 REM Look for Installed SDKs:
 SET SDKROOTKEY=HKLM\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs
 SET SDK2003SP1KEY=%SDKROOTKEY%\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3
 SET SDK2003SP2KEY=%SDKROOTKEY%\D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1
 
 REG QUERY "%SDK2003SP2KEY%" /v "Install Dir" >nul 2>nul
 if "%SDKDIR%"=="" (
   IF %ERRORLEVEL% EQU 0 (
     FOR /F "tokens=3* delims=	 " %%A IN ('REG QUERY "%SDK2003SP2KEY%" /v "Install Dir"') DO SET SDKDIR=%%B
   )
 )
 
 REG QUERY "%SDK2003SP1KEY%" /v "Install Dir" >nul 2>nul
 if "%SDKDIR%"=="" (
   IF %ERRORLEVEL% EQU 0 (
     FOR /F "tokens=3* delims=	 " %%A IN ('REG QUERY "%SDK2003SP1KEY%" /v "Install Dir"') DO SET SDKDIR=%%B
   )
 )
 
 if "%VC71DIR%"=="" (
     ECHO "Microsoft Visual C++ version 7.1 was not found. Exiting."
     pause
     EXIT /B 1
 )
 
 SET MOZ_TOOLS=c:\tools\moztools
 REM append moztools to PATH
 SET PATH=%MOZ_TOOLS%\bin;%PATH%
 REM Prepend MSVC paths
 call "%VC71DIR%\Bin\vcvars32.bat"
 
 REM Override the FrameworkSDKDir
 SET FrameworkSDKDir="c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1"
 
 REM Get rid of the dialog boxes about assertions
 SET XPCOM_DEBUG_BREAK=warn
 
 C:
 chdir C:\cygwin\bin
 
 bash --login -i
  • When you run the batch file run it as administrator and you are ready to go.