출처: http://www.presenter5.com/OpenSourceBuild.htm

Open Source Build Instructions


DISCLAIMER

HCL DOES NOT PROVIDE ANY WARRANTY OF THE OPEN SOURCE SOFTWARE(S) AND HCL HEREBY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED INCLUDING WARRANTY MERCHANTABILITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO OPEN SOURCE SOFTWARE(S) TO DOWNLOAD.

HCL SHALL HAVE NO LIABILITY DIRECT OR INDIRECT, WITH RESPECT TO YOUR LICENSE YOU MAY AGREE TO THEIR TERMS AND CONDITIONS OF THE RESPECTIVE OPEN SOURCE SOFTWARE(S).

HIGHLIGHTS


Firefox 1.5.0.2 (Required for Web Browser Widget)

URL

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.2/source/

SIZE

34 MB

BUILD STEPS

Windows

VC6/ VC7

The Firefox-1.5.0.2 build on Windows platform requires the build of Mozilla source code. The build process involves the following steps:

  1. Download Firefox-1.5.0.2 source code

Software

Download URL

File Name

Firefox-1.5.0.2 https://sourceforge.net/project/showfiles.php?group_id=152554&package_id=187307  firefox-1.5.0.2-source.tar.bz2  
  1. Unzip the Firefox-1.5.0.2-source.tar.bz2  to any drive on your machine.

           NOTE: In Firefox build we are considering the E:\ drive for building the source. You can build this source in any of the drives.

E:\cygwin\bin

Software Requirements

The following software needs to be installed for a standard Windows build.

  • GNU Tools for Microsoft Windows (Cygwin)

Cygwin is a UNIX-like environment for Windows. Firefox uses a developer set of cygwin packages, which must be installed.

You can download the cygwin from the following link http://www.cygwin.com/

These include gawk, make and zip utilities.

Install these utilities into E:\cygwin\. Remember to choose Unix as "Default Text File Type". Besides the default modules, install the following modules.

  • cvs

  • cygutils

  • make

  • patch

  • patchutils

  • perl

  • unzip

  • zip

  • libiconv

By default following modules should be installed.

  • ash

  • diffutils

  • fileutils

  • findutils

  • gawk

  • grep

  • sed

  • sh-utils

  • textutils

Download the make.exe 3.80 version from the following link   http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin

Copy the downloaded make.exe in the E:\cygwin\bin

  • Netscape wintools

Netscape's wintools.zip contains pre-built libraries and tools which are required to build Mozilla.

Download the Netscape's wintools.zip from the following link http://www.mozilla.org/build/win32-nmake.html

 

Extract the zip file into a temporary directory. Open a command prompt, and set the system variable MOZ_TOOLS to the directory where you have installed the MOZ tools. For example,

set MOZ_TOOLS=E:\mozilla\mozilla\moztools

The MOZ_TOOLS directory should neither be inside the cygwin installation directory nor in any of the sub-directories of  cygwin. If it is existed in any of the above mentioned locations, the build will be failed.

Run the wintools script. This batch script will install the files into %MOZ_TOOLS%/bin.

Finally, run the following commands.

cd moztools\buildtools\windows

install.bat

  • Compiler and linker

Microsoft Visual Studio 6.0

Use MSVC command line tools, such as CL for C/C++ compiler.

To build the Firefox you need to install Visual Studio Service Pack 5 and Visual C++ Processor Pack(http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx)

Run the vcvars32.bat on the command prompt.

Configuring Environment

Creating mozconfig.txt

  • Create a file, mozconfig.txt in E:\mozilla\.

  • To build Firefox, put the following code in mozconfig.txt.

mk_add_options BUILD_OFFICIAL=1

mk_add_options MOZ_OFFICIAL=1

mk_add_options MOZ_CO_PROJECT=browser

mk_add_options MOZ_OBJDIR="@TOPSRCDIR@/../obj-win32"

ac_add_options --disable-debug

ac_add_options --enable-application=browser

ac_add_options --disable-tests

ac_add_options --disable-static

ac_add_options --disable-strip

ac_add_options --disable-accessibility

ac_add_options --disable-updater

@echo off

set MOZ_TOOLS=E:\mozilla\mozilla\moztools
(Set to the place where you want Netscape's wintools.zip to install its binaries.)

set HOME=E:\mozilla

set PATH=%PATH%;E:\cygwin\bin;%MOZ_TOOLS%\bin
(Include both the Netscape wintools and the cygwin UNIX-like tools in your command search path.)

set LIB=%LIB%;%MOZ_TOOLS%\bin

set MOZCONFIG=E:\mozilla\mozilla\mozconfig.txt (Set path to mozconfig.txt)

  • Run mozset.bat on the command prompt.

Now build the Firefox using the following command.

cd E:\Mozilla\mozilla
make -f client.mk build_all

GCC

 The Firefox-1.5.0.2 build on Windows GCC platform requires the build of Mozilla source code. The build involves the following steps:

  1.  Download Firefox-1.5.0.2 source code

Software

Download URL

File Name

Firefox-1.5.0.2 https://sourceforge.net/project/showfiles.php?group_id=152554&package_id=187307  firefox-1.5.0.2-source.tar.bz2

Software Requirements

    The following software needs to be installed for a standard GCC build.

  1. binutils-2.16.91-20060119-1.tar.gz

  2. gcc-core-3.4.5-20060117-1.tar.gz

  3. gcc-g++-3.4.5-20060117-1.tar.gz

  4. mingw32-make-3.80.0-3.exe

  5. mingw-runtime-3.9.tar.gz

  6. w32api-3.6.tar.gz

Extract/Install all the above packages in the same folder, e.g. c:\mingw

NOTE: In Firefox build we are considering the c:\ drive for building the source. You can build this source in any of the drives.

  • GNU Tools for Microsoft Windows (Cygwin)

Cygwin is a UNIX-like environment for Windows. A developer set of cygwin package is required to be installed to build Firefox.

Download the cygwin from the following link http://www.cygwin.com/

Install Cygwin into a folder, such as c:\cygwin. Remember to choose Unix as "Default Text File Type". Besides the default modules, install the following modules:

  • cvs

  • cygutils

  • make

  • patch

  • patchutils

  • perl

  • unzip

  • zip

  • libiconv

To perform this, press the View button in the Select Packages part of the installer.

By default the following modules should be installed.

  • ash

  • diffutils

  • fileutils

  • findutils

  • gawk

  • grep

  • sed

  • sh-utils

  • textutils

Download the make.exe 3.80 version from the following link  

http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin

Copy the downloaded make.exe in the c:\cygwin\bin

  • Netscape wintools

Netscape's wintools.zip contains pre-built libraries and tools which are required to build Mozilla.

You can easily download the Netscape's wintools.zip from the following link

 http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools.zip

Create a folder moztools and put the wintools in it.

Untar mozilla source to any drive on your machine (say c: drive), name the source folder as Mozilla.

Configuring Environment

Creating mozconfig.txt

  • Create a file called mozconfig.txt in $(HOME)\mozilla\. 
To build Firefox, put the following code in mozconfig.txt. 

CC=gcc CXX=g++ CPP=cpp AS=as LD=ld

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-opt

mk_add_options BUILD_OFFICIAL=1

mk_add_options MOZILLA_INTERNAL_API=1

mk_add_options MOZ_CO_PROJECT=browser

ac_add_options --enable-extensions

ac_add_options --disable-debug

ac_add_options --enable-application=browser

ac_add_options --enable-official-branding

ac_add_options --enable-canvas

ac_add_options --disable-tests

ac_add_options --disable-installer

ac_add_options --enable-svg

ac_add_options --enable-crypto

ac_add_options --enable-shared

ac_add_options --disable-static

ac_add_options --disable-strip

ac_add_options --disable-accessibility

ac_add_options --disable-activex

ac_add_options --disable-updater

ac_add_options --disable-activex-scripting

  • Create a batch file called mozset.bat in $(HOME)\mozilla directory containing the following code.

set HOME=c:\mozilla

set MOZ_TOOLS=$(HOME)\mozilla\moztools

set path=c:\mingwbin;c:\cygwin\bin;%MOZ_TOOLS%\bin;%path%

set HOME=$(HOME)\mozilla

set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot

set MOZCONFIG=$(HOME)\mozilla\mozconfig.txt

Now perform the following steps.
  1. Open command prompt and go the $(HOME)\mozilla directory

  2. Run mozset.bat

  3. Now compile the source using make –f client.mk build_all

  4. After compilation gets completed, go to the $(HOME)\mozilla\obj-opt\dist\bin and type firefox to run the binary.

UNIX

To integrate Firefox browser with Presenter on Unix platform few lines in the file available at mozilla/widget/src/xlib/nsAppShell.cpp is required to be changed. This patch automatically changes the original code with the changed code.

To do the same, perform the following steps.

  1. Click the link Mozilla changes for  Presenter integration to download the tar file.

  2. Untar this file using the following command at the command prompt.

          tar -xvf mozilla_changes_script.tar

          When the respective file gets untarred a directory by the name of script is created in the current working directory.

  1. Go to the respective directory and run the patch.csh script.

LINUX (Red Hat Linux 9.0)

  1. Download Firefox-1.5.0.2 source code.

Software

Download URL

File Name

Firefox-1.5.0.2 https://sourceforge.net/project/showfiles.php?group_id=152554&package_id=187307  firefox-1.5.0.2-source.tar.bz2
  1. Open a Linux Bash-shell and enter the following commands in a Bash-shell to extract the Firefox source code:

bunzip2 firefox-1.5.0.2-source.tar.bz2

tar  –xvf firefox-1.5.0.2-source.tar

This will create a directory named “mozilla”.

Software Requirements

The following softwares should be installed before starting the Firefox build.

  • Compiler used gcc-3.3.2

  • glibc 2.2 (only)
  • Perl  version 5.8. (You can check the Perl version using the command Perl -v.)
  • GTK2 not to be used.
  • XFT not to be used.
  • FreeType2 not to be used.

Links to download required software.

Configuring Environment
  1. Create the .mozconfig file in the mozilla directory with the following configuration options.

mk_add_options MOZ_PHOENIX=1

ac_add_options --disable-accessibility

ac_add_options --disable-calendar

ac_add_options --disable-composer

ac_add_options --disable-debug

ac_add_options --disable-installer

ac_add_options --disable-jsd

ac_add_options --disable-ldap

ac_add_options --disable-mailnews

ac_add_options --disable-tests

ac_add_options --enable-strip

ac_add_options --enable-strip-libs

ac_add_options --disable-shared

ac_add_options --enable-static

ac_add_options --enable-optimize="-O2 -march=i686 -finline-functions -fforce-addr -fno-strict-aliasing"

ac_add_options --enable-extensions="help,cookie,xml-rpc,xmlextras,p3p,pref,transformiix,universalchardet,typeaheadfind,webservices"

ac_add_options --enable-old-abi-compat-wrappers

ac_add_options --disable-toolkit-gtk2

ac_add_options --enable-default-toolkit=xlib

ac_add_options --disable-toolkit-gtk

ac_add_options --disable-toolkit-qt

ac_add_options --enable-toolkit-xlib

ac_add_options --disable-xft

ac_add_options --enable-mathml

ac_add_options --enable-xsl

ac_add_options --enable-crypto

ac_add_options --enable-ipv6

ac_add_options --without-system-nspr

ac_add_options --enable-nspr-autoconf

ac_add_options --enable-xterm-updates

ac_add_options --enable-elf-dynstr-gc

ac_add_options --disable-pedantic

ac_add_options --disable-freetype2

  1. Set the following environment variables.
export MOZ_PHOENIX=1
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
  1. Set the required path using the following command.
export PATH=/USR/X11R6/lib:$PATH
  1. Ensure that gmake and zip commands are in the current path and start the Firefox build.
 Starting Firefox build
  • Enter the following command in the “mozilla” directory to start the Firefox build.

gmake –f client.mk build

Checking Firefox build for successful completion
  • Go to the directory mozilla/obj-opt/dist/bin and execute the following command.
./run-mozilla.sh ./firefox

SOLARIS

  1. Download Firefox-1.5.0.2 source code

Software

Download URL

File Name

Firefox-1.5.0.2 https://sourceforge.net/project/showfiles.php?group_id=152554&package_id=187307  firefox-1.5.0.2-source.tar.bz2
  1. Open a Solaris shell and enter the following commands in a C-shell to extract the Firefox source code.

bunzip2 firefox-1.5.0.2-source.tar.bz2

tar –xvf firefox-1.5.0.2-source.tar

This will create a directory named “mozilla”.

Software Requirements

The following software’s should be installed before starting the Firefox build:

  • libIDL 0.6.8. If libIDL is installed at /usr/local/ directory, then one can check the libIDL version by using “libIDL-config –version” command. Otherwise, find the directory at which libIDL is installed, append it in the PATH environment variable.

  • perl 5.0 or higher. (To determine the Perl version, use perl –v command.)

  • GNU make 3.74 or higher, except 3.77. (To determine the GNU make version use, gmake –v command.)

  • Zip 2.32. (It is a compression and file packaging utility.)

Links to download required softwares:

 To build libIDl 0.6.8

  1. tar –xvf <libIDL-source>.tar
  2. ./configure
  3. vi Makefile and on line 126 comment as here
  4. libIDL_la_LDFLAGS = #-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
  5. -release $(LT_RELEASE)
  6. make
  7. Enter super user mode using “su” command and do “make install” to install the libIDL in appropriate directories.

 Set the required environment variables using the following commands.

  1. setenv CFLAGS="-xlibmil"
  2. setenv CXXFLAGS="-xlibmil -xlibmopt -features=tmplife -norunpath"
  3. setenv ORIGIN
  4. setenv LDFLAGS='-R$ORIGIN -R/usr/sfw/lib -R/opt/sfw/lib -R/usr/local/lib'
  5. setenv MOZ_PHOENIX 1
  6. setenv MOZ_XUL_APP 1
  7. setenv MOZ_APP_NAME firefox
  8. setenv CC cc
  9. setenv CXX CC
  10. setenv CCC CC
Configuring Environment

Create the .mozconfig file in the mozilla directory with the following configuration options:

mk_add_options MOZ_CO_PROJECT=browser

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-opt

mk_add_options MOZ_PHOENIX=1

ac_add_options --enable-optimize="-xO3"

ac_add_options --disable-ldap

ac_add_options --disable-mailnews

ac_add_options --enable-extensions="cookie,xml-rpc,xmlextras,pref,transformiix,universalchardet,webservices,inspector,p3p,gnomevfs"

ac_add_options --enable-crypto

ac_add_options --disable-composer

ac_add_options --disable-debug

ac_add_options --disable-tests

ac_add_options --disable-static

ac_add_options --enable-shared

ac_add_options --enable-single-profile

ac_add_options --disable-profilesharing

ac_add_options --with-xprint

ac_add_options --enable-xinerama

ac_add_options --enable-x11-shm

ac_add_options --enable-ctl

ac_add_options --enable-default-toolkit=xlib

ac_add_options --disable-freetype2

ac_add_options --disable-xft

#ac_add_options --without-system-nspr

ac_add_options --without-system-zlib

ac_add_options --without-system-jpeg

ac_add_options --without-system-png

ac_add_options --without-system-mng

ac_add_options --x-includes=/usr/openwin/include

ac_add_options --x-libraries=/usr/openwin/lib

mk_add_options BUILD_OFFICIAL=1

mk_add_options MOZILLA_OFFICIAL=1

 
Set the required paths using the following commands.
  1. setenv PATH $PATH:/usr/local/bin:/opt/sfw/bin:/opt/SUNWspro/bin:/usr/bin::/usr/dt/bin:/usr/openwin/bin:/bin:/usr/ccs/bin:/usr/ucb:/usr/sfw/bin
  2. setenv LD_LIBRARY_PATH /usr/openwin/lib:/usr/local/lib:/usr/sfw/lib:/opt/sfw/lib

Ensure that gmake and zip commands are in the current path and start the Firefox build.

Starting Firefox build
  1. Enter the following command in the “mozilla” directory to start the Firefox build.

gmake –f client.mk build_all

Checking Firefox build for successful completion

  1. Go to the directory mozilla/obj-opt/dist/bin and execute the following command:
./run-mozilla.sh ./firefox

HPUX

  1. Download Firefox-1.5.0.2 source code.

Software

Download URL

File Name

Firefox-1.0

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/1.0/source/

Direct download link: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/1.0/source/firefox-1.0-source.tar.bz2 

firefox-1.0-source.tar.bz2
  1.  Untar the Firefox source code. It will create a “mozilla” directory.

Software Requirements

The following softwares should be installed before starting the Firefox build:

  • libIDL 0.6.8. If libIDL is installed at /usr/local/ directory, then one can check the libIDL version by using “libIDL-config –version” command. Otherwise, find the directory at which libIDL is installed, append it in the PATH environment variable.

  • perl 5.0 or higher.(To determine the Perl version, use perl –v command.)

  • GNU make 3.74 or higher, except 3.77. (To determine the GNU make version use, gmake –v command.)

  • Zip 2.32. (It is a compression and file packaging utility.)

Links to download required softwares.

Setting up the environment variable and compiler flag
Setting up the path for libIDL and HPUX native compiler aCC.
 
setenv PATH /opt/libIDL/bin:/usr/bin:/opt/aCC/bin:$PATH
 
Setting up the library path for libIDL:
 
setenv SHLIB_PATH /opt/libIDL/lib
setenv LIBIDL_CONFIG /opt/libIDL/bin/libIDL-config
 
Setting up the aCC compiler Flags:
 
setenv CC 'cc -Ae +DA1.1 +DS2.0'
setenv CXX 'aCC -ext +p +DA1.1 +DS2.0'
setenv CFLAGS '-DHPUX11 -Dhpux'
setenv CXXFLAGS '-DHPUX11 -Dhpux'

Code addition in Firefox

NSPR provides platform independence for non-GUI operating system facilities. These facilities include threads, thread synchronization, normal file and network I/O, interval timing and calendar time, basic memory management (malloc and free) and shared library linking.

In HPUX 11i, the system header file netdb.h does not define the addressinfo structure that provides hints about the type of socket the caller supports, which is used by the getaddrinfo function that provides protocol-independent translation from host name to address. To resolve this, we have created a header file called hpsock.h that defines addressinfo structure and the necessary macros needed by getaddrinfo function.

To update the Mozilla changes for HPUX in firefox source code please refer to the Unix section

Configuring Environment

Create the .mozconfig file in the mozilla directory with the following configuration options.

. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_PHOENIX=1

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-opt

ac_add_options --disable-auto-deps

mk_add_options MOZ_CO_PROJECT=browser

ac_add_options --enable-application=browser

 

ac_add_options --disable-accessibility

ac_add_options --disable-calendar

ac_add_options --disable-composer

ac_add_options --disable-debug

ac_add_options --disable-installer

ac_add_options --disable-jsd

ac_add_options --disable-ldap

ac_add_options --disable-mailnews

ac_add_options --disable-tests

ac_add_options --enable-strip

ac_add_options --enable-strip-libs

ac_add_options --enable-shared

ac_add_options --enable-extensions="help,cookie,xml-rpc,xmlextras,p3p,pref,transformiix,universalchardet,typeaheadfind,webservices"

ac_add_options --disable-toolkit-gtk2

ac_add_options --enable-default-toolkit=xlib

ac_add_options --disable-toolkit-gtk

ac_add_options --disable-toolkit-qt

ac_add_options --enable-toolkit-xlib

ac_add_options --disable-xft

ac_add_options --enable-mathml

ac_add_options --enable-xsl

ac_add_options --enable-crypto

ac_add_options --enable-xterm-updates

ac_add_options --disable-pedantic

ac_add_options --disable-freetype2
  
Starting Firefox Build
  • Give the following command in the “mozilla” directory to start the Firefox build:

gmake –f client.mk build_all

Resolving Build Errors

You may come across thread related linking error “Unsatisfied symbols: pthread_join” in the module <xxx>/mozilla/toolkit/mozapps/update/src/updater. 
To resolve this error use the option “-lcma” during linking.

Checking Firefox build for successful completion

  1. Go to the following directory. 
mozilla/obj-opt/dist/bin 
  1. Execute the following command.

./run-mozilla.sh ./firefox

Integration with Presenter

For all Windows Platforms

    Copy all the files from obj-win32\dist\bin folder to 3rdparty\dll folder.

For all UNIX Platforms

    Copy all the files from dist/bin folder to 3rdparty/dll folder.


gSOAP 2.7.6e (Required for Web Services)

URL

http://sourceforge.net/project/showfiles.php?group_id=52781&package_id=68161

For gSOAP, OpenSSL is also required. Please visit website http://www.openssl.org/

SIZE

5.7 MB.

BUILD STEPS

Windows (VC 6/ VC 7/ Gcc)

  1.  Download gSOAP 2.7.6e and OpenSSL sources from the following websites.

Software

Download URL

File Name

gSOAP http://sourceforge.net/project/showfiles.php?group_id=52781&package_id=68161&release_id=394790 gsoap_win32_2.7.6e.zip
OpenSSL http://www.slproweb.com/products/Win32OpenSSL.html Win32OpenSSL-0_9_8e.exe
  1. Unzip the contents of gsoap_win32_2.7.6e.zip to a temporary folder. For e.g., c:\gsoap

  2. Install Win32OpenSSL-0_9_8e.exe to a temporary folder. For e.g., c:\openssl

  3. Change to the gSoap directory:

cd c:\gsoap

  1. Create an empty file named “env.h” in the current gsoap directory.

  2. Set up the Visual C++ environment using vcvars32.bat

  3. Copy libeay32MD.lib and ssleay32MD.lib from C:\openssl\lib\VC to C:\gsoap folder and rename the  libraries using the following commands.

copy c:\openssl\lib\VC\libeay32MD.lib c:\gsoap\libeay32.lib

copy c:\openssl\lib\VC\ssleay32MD.lib c:\gsoap\ssleay32.lib

  1. Create a makefile named mkdll_gsoap.mak with the following contents.

# NMAKE for gsoap DLL

 

#Use VC++ compiler

CC = cl.exe

 

#Use gSOAP's "soapcpp2" precompiler.

PRECOMP = soapcpp2.exe -c

 

#Use input env file

envINfile = env.h

 

#Base (stdsoap2.dll) DLL source

BDLLSRC = stdsoap2.c envC.c

 

#DLL flag for BaseDLL Output

BDLLFLG = /LD  /DWITH_NONAMESPACES -DWITH_OPENSSL –I*path-to-openssl-include-folder /DSOAP_FMAC1=__declspec(dllexport) /DSOAP_FMAC3=__declspec(dllexport)

 

#DLL flag for final Output

DLLFLG = /LD  /DWITH_NONAMESPACES -DWITH_OPENSSL *path-to-openssl-include-folder /DSOAP_FMAC5=__declspec(dllexport) /DSOAP_CMAC=__declspec(dllexport)

 

#External Linking flag

LINK32_FLG= /link wsock32.lib stdsoap2.lib

 

# top-level rule, to compile everything.

all: dllsoap  basedll

 

#SOAP Header and Fault serializers without namespace

dllsoap:$(envINfile)

           $(PRECOMP) -penv $(envINfile)

 

#Create BaseDLL(stdsoap2.dll)

basedll:

           $(CC) $(BDLLFLG) $(BDLLSRC) /link wsock32.lib libeay32.lib ssleay32.lib

 

#Clean up

clean:

           -@erase "*.pc"

 *path-to-openssl-include-folder: Provide the path to openssl/include folder here.

  1. Build gSOAP using the following command

nmake /f mkdll_gsoap.mak

This command would create the required stdsoap2.dll in the current directory.

Linux

  1.     Download gSOAP 2.7.6e and OpenSSL sources from the following websites.

Software

Download URL

File Name

gSOAP http://sourceforge.net/project/showfiles.php?group_id=52781&package_id=68161&release_id=394790 gsoap_2.7.6e.tar.gz
OpenSSL http://www.openssl.org/source openssl-0.9.8e.tar.gz
  1.  Untar gSOAP and OpenSSL sources using the following commands.

gunzip gsoap_2.7.6e.tar.gz

tar –xvf gsoap_2.7.6e.tar

NOTE: This would create a directory named gsoap-2.7 

gunzip openssl-0.9.8e.tar.gz

tar –xvf openssl-0.9.8e.tar

 NOTE: This would create a directory named openssl-0.9.8e

  1. Change the directory to the gSoap directory.

cd gsoap-2.7

  1. Run the configure script to create the required makefiles.

./configure

  1. Compile the gSoap sources.

make

  1. Change the directory to the soapcpp2 directory

cd soapcpp2

  1. Run the following commands:

touch env.h

./src/soapcpp2 -penv env.h

g++ -c envC.cpp

  1. Copy libcrypto.so and libssl.so from the Presenter 5.3 base kit to the soapcpp2 folder.

  2. Compile and link the gSoap libraries using the following commands:

gcc -DWITH_NONAMESPACES -DWITH_OPENSSL -I/*path-to-openssl-include-folder –cs stdsoap2.c

gcc -shared -o libstdsoap2.so envC.o stdsoap2.o -L. -lcrypto -lssl

         *path-to-openssl-include-folder: Provide the path to openssl/include folder here.

Solaris

  1. Download gSoap 2.7.6e and Openssl sources from the following websites.

Software

Download URL

File Name

gSOAP http://sourceforge.net/project/showfiles.php?group_id=52781&package_id=68161&release_id=394790 gsoap_2.7.6e.tar.gz
OpenSSL http://www.openssl.org/source/ openssl-0.9.8e.tar.gz
  1. Untar gSoap and openssl sources using the following commands:

gunzip gsoap_2.7.6e.tar.gz

tar –xvf gsoap_2.7.6e.tar

Note: This would create a directory named gsoap-2.7

gunzip openssl-0.9.8e.tar.gz

tar –xvf openssl-0.9.8e.tar

            NOTE: This would create a directory named openssl-0.9.8e

  1. Change the directory to the gSoap directory

cd gsoap-2.7

  1. The following file needs to be modified for the gSoap build

soapcpp/src/soapcpp2_yacc.y

         NOTE: For details, please refer to the Modifications details given below.

  1. Set the required environment variables using the following variables

setenv CC cc

setenv CXX CC

  1. Run the configure script to create the required makefiles.

./configure

  1. Compile the gSoap sources

make

  1. Change the directory to the soapcpp2 directory

cd soapcpp2

  1. Run the following commands

touch env.h

./src/soapcpp2 -penv env.h

CC -c envC.cpp

  1. Copy libcrypto.so and libssl.so from the Presenter base kit to the soapcpp2 folder.

  2. Compile and link the gSoap libraries using the following commands

cc -DWITH_NONAMESPACES -DWITH_OPENSSL -I/*path-to-openssl-include-folder– c stdsoap2.c 

cc -b -G -o libstdsoap2.so envC.o stdsoap2.o -L. -lcrypto -lssl

 *path-to-openssl-include-folder: Provide the path to Openssl/include folder here.

 Modification details for gSOAP Solaris Build

 soapcpp/src/soapcpp2_yacc.y

Modified Line no: 115

Original Code

%expect 1

Modified Code

/*%expect 1*/

HPUX

  1. Download gSOAP 2.7.6e and OpenSSL sources from the following websites.

Software

Download URL

File Name

gSOAP http://sourceforge.net/project/showfiles.php?group_id=52781&package_id=68161&release_id=394790 gsoap_2.7.6e.tar.gz
OpenSSL http://www.openssl.org/source/ openssl-0.9.8e.tar.gz
  1. Untar gSoap and openssl sources using the following commands.

gunzip gsoap_2.7.6e.tar.gz

tar –xvf gsoap_2.7.6e.tar

NOTE: This would create a directory named gsoap-2.7

gunzip openssl-0.9.8e.tar.gz

tar –xvf openssl-0.9.8e.tar

NOTE: This would create a directory named openssl-0.9.8e

  1. Change the directory to the gSoap directory

cd gsoap-2.7

  1. The following files need to be modified for the gSOAP build:

soapcpp/src/soapcpp2_yacc.y

soapcpp2/stdsoap2.cpp

soapcpp2/stdsoap2.h

     NOTE: For details, please refer to the Modifications details given below.

  1. Run the configure script to create the required makefiles

 ./configure

  1. Compile the gSoap sources

 make

  1. Change the directory to the soapcpp2 directory.

 cd soapcpp2

  1. Run the following commands

touch env.h

./src/soapcpp2 -penv env.h

aCC -c -z +Z envC.cpp

  1. Copy libcrypto.so and libssl.so from the Presenter base kit to the soapcpp2 folder.

  2. Compile and link the gSoap libraries using the following commands.

cc -z +Z -DWITH_NONAMESPACES -DWITH_OPENSSL -I/*path-to-openssl-include-folder -c stdsoap2.c

aCC -b -o libstdsoap2.sl envC.o stdsoap2.o -L. -lcrypto -lssl

 *path-to-openssl-include-folder: Provide the path to Openssl/include folder here.

 Modification Details for gSOAP HPUX Build

  1.  soapcpp/src/soapcpp2_yacc.y

Modified Line no: 115

Original Code

%expect 1

Modified Code

/*%expect 1*/

  1. soapcpp2/stdsoap2.cpp

Replace all instances of the following code in stdsoap2.cpp.

Original Code

__cplusplus

Modified Code

__cplusplus1

For example: Consider the following code.

Original Code

#ifdef __cplusplus

Modified Code

#ifdef __cplusplus1

  1. soapcpp2/stdsoap2.h

  1. Replace all instances of the following code in stdsoap2.h:

Original Code

__cplusplus

Modified Code

__cplusplus1

For example: Consider the following code.

Original Code

#ifdef __cplusplus

Modified Code

#ifdef __cplusplus1 

  1. Modified Line no: 1714

Original Code:

SOAP_FMAC1 void SOAP_FMAC2 soap_fault(struct soap*);

Modified Code:

#ifdef __cplusplus

extern "C" {

#endif

SOAP_FMAC1 void SOAP_FMAC2 soap_fault(struct soap*);

  1. Modified Line no: 1944

Original Code

SOAP_FMAC1 int SOAP_FMAC2 soap_recv_fault(struct soap*);

Modified Code

 

SOAP_FMAC1 int SOAP_FMAC2 soap_recv_fault(struct soap*);

#ifdef __cplusplus

}

#endif

Integration with Presenter

  1. Copy all the files from gsoap/dll folder to 3rdparty/dll folder of the kit.

  2. Copy all the files from gsoap/bin folder to 3rdparty/bin folder of the kit.

  3. Copy all the files/folders from gsoap/include folder to 3rdparty/include folder of the kit.


Xerces 2.7 (Required for XML Parser)

 URL

http://archive.apache.org/dist/xml/xerces-c/source/ 

 SIZE

7.4 MB

BUILD STEPS

Windows

VC6/VC7

The XML build on Windows platform requires the build of Xerces source code. The build involves the following steps.

  1. Download Xerces source code.

Software

Download URL

File Name

Xerces http://archive.apache.org/dist/xml/xerces-c/source/  xerces-c-src_2_7_0.tar.gz  
  1. Unzip the xerces-c-src_2_7_0.tar.gz to any drive on your machine.

           NOTE: In Firefox build we are considering the D:\ drive for building the source. You can build this source in any of the drives.

D:\xerces-c-src_2_7_0

  1. Go to the following location

D:\xerces-c-src_2_7_0\Projects\Win32\VC6\xerces-all\XercesLib

  1.  Open the VC++ 6 Workspace XercesLib (XercesLib .dsw) with Microsoft Visual studio Version 6.

  2.  Go to Build menu option and select “Set Active Configuration…”

  3.  Select the Xerces-Lib Win32 Debug option in the “Set Active Project Configuration    window”.

  4.  To build xerces-c_2_7D.dll press either function key F7 or go to Build menu option and select “Build xerces-c_2_7D.dll”

  5.  The required xerces-c_2_7D.dll will be created at following location

 D:\xerces-c-src_2_7_0\Build\Win32\VC6\Debug

Gcc

  1. Execute the MSys shell.

  2. Unzip the Xerces source

  3. $ export XERCESCROOT=/e/xerces-c-current/xerces-c-src_2_7_0

  4. $ cd xerces-c-src_2_7_0

  5. Apply the mingw-msys patch for xerces.

  6. $ patch –p1 < xerces-c-src_2_6_0.patch

  7. $ cd xerces-c-src_2_7_0/src/xercesc

  8. $ ./runConfigure -p mingw-msys -c gcc -x g++ -z -mms-bitfields

  9. $ make: This will produce the required Xerces Dlls.

Linux

 The XML build on Linux platform requires the build of Xerces (source code) The build involves the following steps:

  1. Open a new terminal and do not enter into the c shell.

  2. Type the following command.

export XERCESCROOT= <path name>

where <path name> is the path before the ‘src’ folder where Xerces source code has been put.

  1. Now, type the command :  cd $XERCESCROOT/src  This command goes in the src folder of the XERCES source code.

  2. Go to xerces folder in src.

  3. type autoconf.

This command creates a script runConfigure which is needed to proceed with the build procedure.

  1. Run the runConfigure script by typing the command:

./runConfigure –p<OS>  –c<C compiler>  –x<C++ compiler> -minmem  -nfileonly  –tnative

Where OS: linux

C compiler: gcc.

C++ compiler: g++.

  1. The above command creates the Makefiles. To start the build of Xerces source code, we need these makefiles. Run the gmake command to start the actual build of the source code.

  2. The gmake command creates the necessary files which are needed during the build of XML.

 Solaris

  1. Download xerces source code

Software

Download URL

File Name

xerces

http://archive.apache.org/dist/xml/xerces-c/source/ 

xerces-c-src_2_7_0.tar.gz

  1. Untar XERCES using the following commands

gunzip xerces-c-src_2_7_0.tar.gz

tar –xvf  xerces-c-src_2_7_0.tar

NOTE: This would create a directory named xerces-c-src_2_7_0

  1. Open a new terminal and do not enter into the C shell

  2. Type the command

XERCESCROOT=<path name>

export XERCESCROOT

where <path name> is the path before the ‘src’ folder where Xerces source code has been put.

  1.  Now, type the command:  cd $XERCESCROOT/src. This command goes in the src folder of the XERCES source code.

  2. Go to xercesc folder in src.

  3. Type autoconf.

This command creates a script runConfigure which is needed to proceed with the build procedure.  

  1. Run the runConfigure script by typing the following command.

   ./runConfigure –p<OS>  –c<C compiler>  –x<C++ compiler>  -minmem  -nfileonly  –tnative

    Where OS: solaris

                C compiler: CC

                C++ compiler: CC

  1. The above command creates the Makefiles. To start the build of Xerces source code, we need these makefiles. Run the gmake command to start the actual build of the source code.

  2.  The gmake command creates the necessary files which are required during the build of XML.

 HPUX

The XML build on HPUX platform requires the build of Xerces (source code); the build involves the following steps:

  1. Download xerces source code

Software

Download URL

File Name

xerces

http://archive.apache.org/dist/xml/xerces-c/source/ 

xerces-c-src_2_7_0.tar.gz

  1. Untar xerces using the following command.

 tar –zxvf  xerces-c-src_2_7_0.tar.gz

  Note: This would create a directory named xerces-c-src_2_7_0

  1. Open a new terminal and do not enter into the C shell.

  2. Type the following command.

export XERCESCROOT= <path name>

Where <path name> is the path before the ‘src’ folder where Xerces source code has been put.

  1. Now, type the command: cd $XERCESCROOT/srcThis command goes in the src folder of the xerces source code.

  2. Go to xerces folder in src.

  3. Run the runConfigure script by typing the command:

./runConfigure –p<OS>  –c<C compiler>  -x<C++ compiler>  -minmem  -nfileonly  –tnative

Where OS: hp-11.

            C compiler is cc.

            C++ compiler is aCC.

  1. The above command creates the Makefiles. To start the build of xerces source code, we need these makefiles. Run the gmake command to start the actual build of the source code.

       The gmake command creates the necessary files which are needed during the build of XML.  

Integration with Presenter

  • Copy all the files from xerces-c-src_2_7_0/lib folder to 3rdparty/dll folder. 


Ghostscript 8.54 (Required for PDF Writer)

 URL

Ghostscript 8.54   http://www.cs.wisc.edu/~ghost/ 

Ghostscript fonts ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs854/ghostscript-fonts-std-8.11.tar.gz

                                                            Or

                                  http://sourceforge.net/project/showfiles.php?group_id=3498

SIZE

   12 MB 

BUILD STEPS

Extract the Ghostscript source code to a folder and follow the following build instructions:

 Windows

 cd ghostscript-8.54

VC 6/ VC 7

For VC 6.0

nmake -f src\msvc32.mak MSVC_VERSION=6 DEVSTUDIO="C:\Program Files\Microsoft Visual Studio"

For VC 7.0:

nmake -f src\msvc32.mak MSVC_VERSION=7 DEVSTUDIO="C:\Program Files\Microsoft Visual Studio .NET"

Linux

 Instead of running configure script; just create a link to “unix-gcc.mak” makefile already provided for gcc compiler on Linux:

% cd ghostscript-*

% ln –s src/unix-gcc.mak Makefile

% make so

 Solaris

Do the following steps

% setenv CC cc

% cd ghostscript-*

% ./configure

Make the following changes to ./Makefile

Line 207

Original Code

 CFLAGS_SO=-fPIC

Modified Code

  CFLAGS_SO=-KPIC

Make the following changes to src/unix-dll.mak file:

Line 77

Original Code

 SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -shared -Wl,-soname=$(GS_SONAME_MAJOR)'\

Changed Code

 SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -G'\

         make so

HPUX

 Perform the following steps.

% setenv CC cc

% cd ghostscript-*

% ./configure

Make the following changes to ./Makefile

Line 207

Original Code

 CFLAGS_SO=-fPIC

Changed Code

 CFLAGS_SO=+z

Make the following changes to src/unix-dll.mak file:

Line 48

Original Code

 GS_SONAME=lib$(GS).so

Changed Code

 GS_SONAME=lib$(GS).sl

Line 77

Original Code

 SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -shared -Wl,-soname=$(GS_SONAME_MAJOR)'\

Changed Code

 SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -b'\

        make so

 AIX

 Perform the following steps

% setenv CC xlc

% cd ghostscript-*

% ./configure

 Make the following changes to ./Makefile

Line 207

Original Code

CFLAGS_SO=-fPIC

Changed Code

CFLAGS_SO=

Make the following changes to src/unix-dll.mak file:

 Line 73

Original Code

$(GLCC) -g -o $(GSSOC_XE) $(GLSRC)dxmainc.c -L$(BINDIR) -l

$(GS)

Changed Code

$(GLCC) -brtl -g -o $(GSSOC_XE) $(GLSRC)dxmainc.c -L$(BINDIR) -l

$(GS)

 Line 77

Original Code

SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -shared -Wl,-soname=$(GS_SONAME_MAJOR)'\

Changed Code

SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -qmkshrobj'\

make so

 IRIX

 Perform the following steps:

% setenv CC cc

% cd ghostscript-*

% ./configure

 Make the following changes to ./Makefile

Line 207

Original Code:

CFLAGS_SO=-fPIC

Changed Code:

CFLAGS_SO=-KPIC

Make the following changes to src/unix-dll.mak file:

Line 77

Original Code:

SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -shared -Wl,-soname=$(GS_SONAME_MAJOR)'\

Changed Code:

SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -shared'\

      make so

Integration with Presenter

 Copy all the files of the following ghostscript folders to the corresponding 3rdparty folders in the Presenter kit:

  1. bin

  2. fonts

  3. lib

  4. Resource


 

AND