출처: 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)
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.2/source/
34 MB
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:
-
Download Firefox-1.5.0.2 source code
-
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'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
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)
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:
-
Download Firefox-1.5.0.2 source code
Software Requirements
The following software needs to be installed for a standard GCC build.
-
binutils-2.16.91-20060119-1.tar.gz
-
gcc-core-3.4.5-20060117-1.tar.gz
-
gcc-g++-3.4.5-20060117-1.tar.gz
-
mingw32-make-3.80.0-3.exe
-
mingw-runtime-3.9.tar.gz
-
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.
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'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
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.
-
Open command prompt and go the $(HOME)\mozilla directory
-
Run mozset.bat
-
Now compile the source using make –f client.mk build_all
-
After compilation gets completed, go to the $(HOME)\mozilla\obj-opt\dist\bin and type firefox to run the binary.
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.
-
Click the link Mozilla changes for Presenter integration to download the tar file.
-
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.
-
Go to the respective directory and run the patch.csh script.
LINUX (Red Hat Linux 9.0)
-
Download Firefox-1.5.0.2 source code.
-
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.
Links to download required software.
Configuring Environment
-
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
Set the following environment variables.
export MOZ_PHOENIX=1
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
Set the required path using the following command.
export PATH=/USR/X11R6/lib:$PATH
Ensure that gmake and zip commands are in the current path and start the Firefox build.
Starting Firefox build
gmake –f client.mk build
Checking Firefox build for successful completion
./run-mozilla.sh ./firefox
SOLARIS
-
Download Firefox-1.5.0.2 source code
-
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
tar –xvf <libIDL-source>.tar
./configure
vi Makefile and on line 126 comment as here
libIDL_la_LDFLAGS = #-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
-release $(LT_RELEASE)
make
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.
setenv CFLAGS="-xlibmil"
setenv CXXFLAGS="-xlibmil -xlibmopt -features=tmplife -norunpath"
setenv ORIGIN
setenv LDFLAGS='-R$ORIGIN -R/usr/sfw/lib -R/opt/sfw/lib -R/usr/local/lib'
setenv MOZ_PHOENIX 1
setenv MOZ_XUL_APP 1
setenv MOZ_APP_NAME firefox
setenv CC cc
setenv CXX CC
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.
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
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
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
Go to the directory mozilla/obj-opt/dist/bin and execute the following command:
./run-mozilla.sh ./firefox
HPUX
-
Download Firefox-1.5.0.2 source code.
-
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
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
Go to the following directory.
mozilla/obj-opt/dist/bin
Execute the following command.
./run-mozilla.sh ./firefox
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.
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/
5.7 MB.
-
Download gSOAP 2.7.6e and OpenSSL sources from the following websites.
-
Unzip the contents of gsoap_win32_2.7.6e.zip to a temporary folder. For e.g., c:\gsoap
-
Install Win32OpenSSL-0_9_8e.exe to a temporary folder. For e.g., c:\openssl
-
Change to the gSoap directory:
cd c:\gsoap
-
Create an empty file named “env.h” in the current gsoap directory.
-
Set up the Visual C++ environment using vcvars32.bat
-
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
-
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.
-
Build gSOAP using the following command
nmake /f mkdll_gsoap.mak
This command would create the required stdsoap2.dll in the current directory.
-
Download gSOAP 2.7.6e and OpenSSL sources from the following websites.
-
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
-
Change the directory to the gSoap directory.
cd gsoap-2.7
-
Run the configure script to create the required makefiles.
./configure
-
Compile the gSoap sources.
make
-
Change the directory to the soapcpp2 directory
cd soapcpp2
-
Run the following commands:
touch env.h
./src/soapcpp2 -penv env.h
g++ -c envC.cpp
-
Copy libcrypto.so and libssl.so from the Presenter 5.3 base kit to the soapcpp2 folder.
-
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.
-
Download gSoap 2.7.6e and Openssl sources from the following websites.
-
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
-
Change the directory to the gSoap directory
cd gsoap-2.7
-
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.
-
Set the required environment variables using the following variables
setenv CC cc
setenv CXX CC
-
Run the configure script to create the required makefiles.
./configure
-
Compile the gSoap sources
-
Change the directory to the soapcpp2 directory
-
Run the following commands
touch env.h
./src/soapcpp2 -penv env.h
CC -c envC.cpp
-
Copy libcrypto.so and libssl.so from the Presenter base kit to the soapcpp2 folder.
-
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
Modified Code
-
Download gSOAP 2.7.6e and OpenSSL sources from the following websites.
-
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
-
Change the directory to the gSoap directory
cd gsoap-2.7
-
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.
-
Run the configure script to create the required makefiles
./configure
-
Compile the gSoap sources
-
Change the directory to the soapcpp2 directory.
-
Run the following commands
touch env.h
./src/soapcpp2 -penv env.h
aCC -c -z +Z envC.cpp
-
Copy libcrypto.so and libssl.so from the Presenter base kit to the soapcpp2 folder.
-
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
-
soapcpp/src/soapcpp2_yacc.y
Modified Line no: 115
Original Code
%expect 1
Modified Code
/*%expect 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
-
soapcpp2/stdsoap2.h
-
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
-
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*);
-
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
-
Copy all the files from gsoap/dll folder to 3rdparty/dll folder of the kit.
-
Copy all the files from gsoap/bin folder to 3rdparty/bin folder of the kit.
-
Copy all the files/folders from gsoap/include folder to 3rdparty/include folder of the kit.
Xerces 2.7 (Required for XML Parser)
7.4 MB
VC6/VC7
The XML build on Windows platform requires the build of Xerces source code. The build involves the following steps.
-
Download Xerces source code.
-
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
-
Go to the following location
D:\xerces-c-src_2_7_0\Projects\Win32\VC6\xerces-all\XercesLib
-
Open the VC++ 6 Workspace XercesLib (XercesLib .dsw) with Microsoft Visual studio Version 6.
-
Go to Build menu option and select “Set Active Configuration…”
-
Select the Xerces-Lib Win32 Debug option in the “Set Active Project Configuration window”.
-
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”
-
The required xerces-c_2_7D.dll will be created at following location
D:\xerces-c-src_2_7_0\Build\Win32\VC6\Debug
-
Execute the MSys shell.
-
Unzip the Xerces source
-
$ export XERCESCROOT=/e/xerces-c-current/xerces-c-src_2_7_0
-
$ cd xerces-c-src_2_7_0
-
Apply the mingw-msys patch for xerces.
-
$ patch –p1 < xerces-c-src_2_6_0.patch
-
$ cd xerces-c-src_2_7_0/src/xercesc
-
$ ./runConfigure -p mingw-msys -c gcc -x g++ -z -mms-bitfields
-
$ make: This will produce the required Xerces Dlls.
The XML build on Linux platform requires the build of Xerces (source code) The build involves the following steps:
-
Open a new terminal and do not enter into the c shell.
-
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.
-
Now, type the command : cd $XERCESCROOT/src This command goes in the src folder of the XERCES source code.
-
Go to xerces folder in src.
-
type autoconf.
This command creates a script runConfigure which is needed to proceed with the build procedure.
-
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++.
-
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.
-
Download xerces source code
-
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
-
Open a new terminal and do not enter into the C shell
-
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.
-
Now, type the command: cd $XERCESCROOT/src. This command goes in the src folder of the XERCES source code.
-
Go to xercesc folder in src.
-
Type autoconf.
This command creates a script runConfigure which is needed to proceed with the build procedure.
-
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
-
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 required during the build of XML.
The XML build on HPUX platform requires the build of Xerces (source code); the build involves the following steps:
-
Download xerces source code
-
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
-
Open a new terminal and do not enter into the C shell.
-
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.
-
Now, type the command: cd $XERCESCROOT/srcThis command goes in the src folder of the xerces source code.
-
Go to xerces folder in src.
-
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.
-
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.
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
12 MB
Extract the Ghostscript source code to a folder and follow the following build instructions:
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"
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
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
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
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
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
Copy all the files of the following ghostscript folders to the corresponding 3rdparty folders in the Presenter kit:
-
bin
-
fonts
-
lib
-
Resource