651 lines
22 KiB
Plaintext
651 lines
22 KiB
Plaintext
/*
|
|
* $Id$
|
|
*/
|
|
|
|
HARBOUR
|
|
=======
|
|
|
|
"The Harbour Project is a Free Open Source Software effort to build
|
|
a multiplatform Clipper language compiler. Harbour consists of the
|
|
xBase language compiler and the runtime libraries with different
|
|
terminal plugins and different databases (not just DBF)"
|
|
|
|
http://www.harbour-project.org/
|
|
|
|
|
|
HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
|
|
============================================
|
|
|
|
NOTE: Before reporting a problem on the mailing list, please make
|
|
sure to read the TROUBLESHOOTING section in this file.
|
|
|
|
For all platforms you'll need:
|
|
|
|
* Supported ANSI C compiler
|
|
* GNU Make (3.81 or upper)
|
|
* Harbour sources (2.0.0 or upper)
|
|
|
|
Linux/Darwin/BSD/HP-UX/Solaris
|
|
------------------------------
|
|
$ export HB_COMPILER=<[gcc]|watcom|icc|gpp>
|
|
$ export HB_INSTALL_PREFIX=<DIR>
|
|
$ ./make_gnu.sh
|
|
$ sudo ./make_gnu.sh install
|
|
|
|
To test it, go to <DIR>/bin directory and type:
|
|
$ ./hbmk2 ../tests/hello.prg
|
|
$ ./hello
|
|
You should see 'Hello world!' on screen.
|
|
|
|
Windows
|
|
-------
|
|
Platform specific prerequisites:
|
|
|
|
1.) Windows NT or compatible system is required to build Harbour.
|
|
2.) Make sure to have your C compiler of choice properly installed.
|
|
Refer to your C compiler installation and setup instructions for
|
|
details. It's recommended to make sure no tools in your PATH
|
|
belonging to other C compilers are interfering with your setup.
|
|
For the list of supported compilers, please look up the
|
|
relevant section in this file.
|
|
3.) GNU Make is included in the source package. No configuration
|
|
is needed.
|
|
|
|
> set HB_COMPILER=<mingw|msvc|watcom|bcc|pocc|...>
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> make_gnu.bat install
|
|
|
|
To test it, go to <DIR>\bin directory and type:
|
|
> hbmk2 ..\tests\hello.prg
|
|
> hello
|
|
You should see 'Hello world!' on screen.
|
|
|
|
NOTES: - <DIR> is your destination directory where executables,
|
|
libraries and headers will be created. Use absolute paths
|
|
only. For a peace of mind, avoid using spaces, quotes
|
|
in the name. You can leave it empty, in this case the
|
|
results will be created under the current directory tree.
|
|
- With mingw, sh.exe (part of msys) mustn't be in the PATH.
|
|
|
|
Windows with MinGW + msys
|
|
-------------------------
|
|
(for plain MinGW *without* msys, which is the recommended way: see above)
|
|
|
|
Make sure to have msys and MinGW properly configured.
|
|
msys should be put in PATH *before* MinGW.
|
|
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> sh make_gnu.sh install
|
|
|
|
To test it, go to <DIR>/bin directory and type:
|
|
> hbmk2 ../tests/hello.prg
|
|
> hello
|
|
You should see 'Hello world!' on screen.
|
|
|
|
Windows with Cygwin
|
|
-------------------
|
|
Make sure to have Cygwin properly configured.
|
|
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> sh make_gnu.sh install
|
|
|
|
To test it, go to <DIR>/bin directory and type:
|
|
> hbmk2 ../tests/hello.prg
|
|
> hello
|
|
You should see 'Hello world!' on screen.
|
|
|
|
NOTE: <DIR> should use Cygwin drive notation: /cygdrive/c for C:
|
|
|
|
DOS
|
|
---
|
|
> set HB_ARCHITECTURE=dos
|
|
> set HB_COMPILER=<[djgpp]|watcom>
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> make_gnu.bat install
|
|
|
|
OS/2
|
|
----
|
|
> set HB_COMPILER=<[gcc]|watcom>
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> make_gnu_os2.cmd install
|
|
|
|
|
|
HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD
|
|
==============================================
|
|
|
|
Some Harbour parts (typically contrib libraries) depend on 3rd
|
|
party components. To make these Harbour parts built, you need
|
|
to tell Harbour where to find the required 3rd party components
|
|
(typically headers).
|
|
|
|
On *nix systems most of these 3rd party components will
|
|
automatically be picked up if installed in some well-known
|
|
standard system locations.
|
|
|
|
You only need to use manual setup if the dependency isn't available
|
|
on your platform on a system location, or you wish to use
|
|
a non-standard location. Typically you need to do that on non-*nix
|
|
(Windows/DOS/OS2) systems for all packages and for a few packages on
|
|
*nix which aren't available through official package managers
|
|
(ADS Client f.e.). Please see a list of official packages in
|
|
doc/linux1st.txt.
|
|
|
|
You can set these environment variables before starting
|
|
the build. Make sure to adjust them to your own directories:
|
|
|
|
HB_INC_ADS=C:\ads\acesdk
|
|
HB_INC_ALLEGRO=C:\allegro\include
|
|
HB_INC_BLAT=C:\blat\full\source
|
|
HB_INC_CURL=C:\curl\include
|
|
HB_INC_FIREBIRD=C:\Firebird\include
|
|
HB_INC_FREEIMAGE=C:\FreeImage\Dist
|
|
HB_INC_GD=C:\gd\include
|
|
HB_INC_LIBHARU=C:\libharu\include (defaults to locally hosted version)
|
|
HB_INC_LIBPNG=C:\libpng (defaults to locally hosted version on win/os2/dos)
|
|
HB_INC_MYSQL=C:\mysql\include
|
|
HB_INC_ODBC= (may only be needed on non-Windows systems)
|
|
HB_INC_OPENSSL=C:\openssl\inc32
|
|
HB_INC_PGSQL=C:\pgsql\include
|
|
HB_INC_QT=C:\Qt\4.5.1\include
|
|
HB_INC_SQLITE3=C:\sqlite3 (defaults to locally hosted version on win/os2)
|
|
|
|
NOTES: - For MinGW + msys and Cygwin you have to use forward slashes
|
|
and also Cygwin drive notation for Cygwin.
|
|
- Spaces in directory names aren't currently supported.
|
|
(You can use short name alias on Windows platform, though)
|
|
- Don't put directory names inside double quotes.
|
|
- Use absolute paths.
|
|
|
|
Windows/Windows CE
|
|
------------------
|
|
Some contribs support build mode in which they be linked *statically*
|
|
with 3rd party components:
|
|
|
|
HB_ALLEGRO_STATIC=yes
|
|
HB_QT_STATIC=yes
|
|
|
|
Darwin (OS X)
|
|
-------------
|
|
1.) Install MacPorts, follow their instructions:
|
|
http://www.macports.org/
|
|
2.) sudo port install allegro freeimage gd2 mysql5-devel postgresql83
|
|
|
|
|
|
SUPPORTED C COMPILERS UNDER DIFFERENT PLATFORMS
|
|
===============================================
|
|
|
|
You can use abbreviations below as HB_COMPILER values.
|
|
|
|
Linux
|
|
-----
|
|
gcc - GNU C
|
|
gpp - GNU C++
|
|
watcom - Open Watcom C++
|
|
icc - Intel(R) C/C++
|
|
|
|
Darwin/BSD/HP-UX/Solaris
|
|
------------------------
|
|
gcc - GNU C
|
|
|
|
Windows (recommended)
|
|
-------
|
|
mingw - MinGW GNU C 3.4.2 and above
|
|
mingw64 - MinGW GNU C x86-64
|
|
msvc - Microsoft Visual C++
|
|
msvc64 - Microsoft Visual C++ x86-64
|
|
msvcia64 - Microsoft Visual C++ IA-64
|
|
|
|
Windows (supported, some features may be missing)
|
|
-------
|
|
watcom - Open Watcom C++
|
|
bcc - Borland/CodeGear C++ 4.x and above
|
|
icc - Intel(R) C/C++
|
|
iccia64 - Intel(R) C/C++ IA-64
|
|
pocc - Pelles C 4.5 and above
|
|
pocc64 - Pelles C x86-64 5.0 and above
|
|
xcc - Pelles C for xhb
|
|
cygwin - Cygwin GNU C
|
|
|
|
Windows CE
|
|
----------
|
|
mingwarm - MinGW GNU C ARM
|
|
msvcarm - Microsoft Visual C++ ARM
|
|
poccarm - Pelles C ARM 5.0 and above
|
|
|
|
DOS (32-bit)
|
|
---
|
|
djgpp - Delorie GNU C
|
|
watcom - Open Watcom C++ 9.x and above
|
|
|
|
OS/2
|
|
----
|
|
gcc - EMX GNU C
|
|
watcom - Open Watcom C++
|
|
|
|
|
|
OPTIONS AVAILABLE WHEN BUILDING HARBOUR
|
|
=======================================
|
|
|
|
You can fine-tune Harbour builds with below listed
|
|
environment variables. All of these are optional.
|
|
|
|
General
|
|
-------
|
|
- HB_USER_PRGFLAGS User Harbour compiler options
|
|
- HB_USER_CFLAGS User C compiler options
|
|
- HB_USER_LDFLAGS User linker options for executables
|
|
- HB_USER_AFLAGS User linker options for libraries
|
|
- HB_USER_MAKEFLAGS User GNU Make options
|
|
|
|
- HB_BIN_INSTALL Target directory to install executables
|
|
- HB_LIB_INSTALL Target directory to install libraries
|
|
- HB_INC_INSTALL Target directory to install language headers
|
|
- HB_DOC_INSTALL Target directory to install documentation
|
|
|
|
Special
|
|
-------
|
|
- HB_BUILD_DLL=yes To create a full build with .dlls.
|
|
This is only needed and available for
|
|
non-GNU Windows compilers. When using this,
|
|
full clean + install cycles will automatically
|
|
be executed, so you don't have to explicitly
|
|
pass them to make_gnu.bat.
|
|
- HB_BUILD_DEBUG=yes Create a debug build.
|
|
- HB_BUILD_OPTIM=no Disable C compiler optimizations.
|
|
- HB_CONTRIBLIBS=no Don't build any contrib libraries.
|
|
- HB_CONTRIBLIBS=[<list>] Build space separated <list> of contrib
|
|
libraries. Build all if left empty.
|
|
- HB_CONTRIB_ADDONS=<list> Build space separated <list> of additional
|
|
libraries stored in the contrib directory.
|
|
- HB_EXTERNALLIBS=no Don't build any external libraries.
|
|
- HB_EXTERNALLIBS=[<list>] Build space separated <list> of external
|
|
libraries. Build all if left empty.
|
|
- HB_EXTERNAL_ADDONS=<list> Build space separated <list> of additional
|
|
libraries stored in the external directory.
|
|
- HB_VISUALC_VER_PRE80=yes Set this if you're using a pre-8.0
|
|
(= pre-MSVS 2005) version of MSVC compiler.
|
|
- HB_REBUILD_PARSER=yes To rebuild the language parsers. Typically
|
|
you only need this if your are Harbour core
|
|
developer modifying the parser.
|
|
This requires GNU Bison 1.28 or upper.
|
|
|
|
Cross building
|
|
--------------
|
|
|
|
when using make_gnu_xmingwce.sh:
|
|
HB_COMP_PATH=<HARBOUR_NATIVE_BUILD_DIR>\bin\harbour.exe
|
|
HB_PPGEN_PATH=<HARBOUR_NATIVE_BUILD_DIR>\bin\hbpp.exe
|
|
with rest of compilers:
|
|
HB_BIN_COMPILE=<HARBOUR_NATIVE_BUILD_DIR>\bin
|
|
HB_PPGEN_PATH=<HARBOUR_NATIVE_BUILD_DIR>\bin
|
|
|
|
You need these when building for a platform different than host.
|
|
For this to work, you will need to point above environment variables
|
|
to a native Harbour build available on your system. You don't need
|
|
a full native build, harbour, hbpp and hbmk2 executables are
|
|
enough for the process to succeed.
|
|
|
|
|
|
EXAMPLES
|
|
========
|
|
|
|
Windows/Windows CE
|
|
------------------
|
|
|
|
NOTES: - All code below should be copied to .bat files.
|
|
- Naturally, you'll need to adapt dirs to valid ones on your system.
|
|
Don't use spaces in dirs.
|
|
- '%1 %2' can be empty, 'clean', 'install' or 'clean install'
|
|
depending on what you want to do.
|
|
- Cross build setup (HB_BIN_COMPILE, HB_COMP_PATH, HB_PPGEN_PATH)
|
|
is tentative.
|
|
|
|
--- MSVC 2008 + SDK
|
|
set WindowsSDKDir=%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\
|
|
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
|
rem
|
|
set HB_COMPILER=msvc
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MSVC 2008
|
|
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
|
rem
|
|
set HB_COMPILER=msvc
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MSVC 2008 x86-64 (requires native x86 Harbour binaries)
|
|
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
|
|
rem
|
|
set HB_BIN_COMPILE=C:\hb-msvc\bin
|
|
set HB_PPGEN_PATH=%HB_BIN_COMPILE%
|
|
rem
|
|
set HB_COMPILER=msvc64
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MSVC 2005
|
|
call "%ProgramFiles%\Microsoft Visual Studio 8\VC\vcvarsall.bat"
|
|
rem
|
|
set HB_COMPILER=msvc
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MSVC .NET 2003 (untested)
|
|
call "%ProgramFiles%\Microsoft Visual Studio .NET 2003\VC7\vcvarsall.bat"
|
|
rem
|
|
set HB_VISUALC_VER_PRE80=yes
|
|
rem
|
|
set HB_COMPILER=msvc
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MinGW GCC (make sure msys (sh.exe) isn't in the PATH)
|
|
set PATH=C:\mingw\bin;%PATH%
|
|
rem
|
|
set HB_COMPILER=mingw
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MinGW GCC + msys
|
|
set PATH=C:\msys\1.0.11\bin;%PATH%
|
|
set PATH=C:\mingw\bin;%PATH%
|
|
rem
|
|
set HB_COMPILER=mingw
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
sh make_gnu.sh %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MinGW GCC for x86-64 (requires native x86 Harbour binaries)
|
|
set PATH=C:\mingw64\bin;%PATH%
|
|
rem
|
|
set HB_BIN_COMPILE=C:\hb-mingw\bin
|
|
set HB_PPGEN_PATH=%HB_BIN_COMPILE%
|
|
rem
|
|
set HB_COMPILER=mingw64
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- MinGW GCC for WinCE/ARM (requires native x86 Harbour binaries)
|
|
set PATH=C:\mingwce\opt\mingw32ce\bin;%PATH%
|
|
rem
|
|
set HB_BIN_COMPILE=C:\hb-mingw\bin
|
|
set HB_PPGEN_PATH=%HB_BIN_COMPILE%
|
|
rem
|
|
set HB_ARCHITECTURE=wce
|
|
set HB_COMPILER=mingwarm
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Open Watcom C++
|
|
SET WATCOM=C:\watcom
|
|
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
|
|
SET EDPATH=%WATCOM%\EDDAT
|
|
SET INCLUDE=%WATCOM%\H;%WATCOM%\H\NT
|
|
rem
|
|
set HB_COMPILER=watcom
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Intel(R) C++
|
|
call "%ProgramFiles%\Intel\Compiler\C++\10.1.014\IA32\Bin\iclvars.bat"
|
|
rem
|
|
set HB_COMPILER=icc
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Borland/CodeGear C++
|
|
set PATH=C:\Borland\BCC55\Bin;%PATH%
|
|
rem
|
|
set HB_COMPILER=bcc
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Pelles C
|
|
set PATH=%ProgramFiles%\PellesC\Bin;%PATH%
|
|
set INCLUDE=%ProgramFiles%\PellesC\Include;%ProgramFiles%\PellesC\Include\Win;%INCLUDE%
|
|
set LIB=%ProgramFiles%\PellesC\Lib;%ProgramFiles%\PellesC\Lib\Win;%LIB%
|
|
rem
|
|
set HB_COMPILER=pocc
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Pelles C x86-64 (requires native x86 Harbour binaries)
|
|
set PATH=%ProgramFiles%\PellesC\Bin;%PATH%
|
|
set INCLUDE=%ProgramFiles%\PellesC\Include;%ProgramFiles%\PellesC\Include\Win;%INCLUDE%
|
|
set LIB=%ProgramFiles%\PellesC\Lib;%ProgramFiles%\PellesC\Lib\Win64;%LIB%
|
|
rem
|
|
set HB_BIN_COMPILE=C:\hb-pocc\bin
|
|
set HB_PPGEN_PATH=%HB_BIN_COMPILE%
|
|
rem
|
|
set HB_COMPILER=pocc64
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Pelles C WinCE/ARM (requires native x86 Harbour binaries)
|
|
set PATH=%ProgramFiles%\PellesC\Bin;%PATH%
|
|
set INCLUDE=%ProgramFiles%\PellesC\Include\WinCE;%ProgramFiles%\PellesC\Include;%INCLUDE%
|
|
set LIB=%ProgramFiles%\PellesC\Lib;%ProgramFiles%\PellesC\Lib\WinCE;%LIB%
|
|
rem
|
|
set HB_BIN_COMPILE=C:\hb-pocc\bin
|
|
set HB_PPGEN_PATH=%HB_BIN_COMPILE%
|
|
rem
|
|
set HB_ARCHITECTURE=wce
|
|
set HB_COMPILER=poccarm
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Cygwin GCC
|
|
set PATH=C:\cygwin\bin;%PATH%
|
|
set C_INCLUDE_PATH=/cygdrive/c/cygwin/usr/include:/cygdrive/c/cygwin/usr/include/w32api
|
|
set LIBRARY_PATH=/cygdrive/c/cygwin/usr/lib:/cygdrive/c/cygwin/usr/lib/w32api
|
|
rem
|
|
set HB_COMPILER=cygwin
|
|
set HB_INSTALL_PREFIX=/cygdrive/c/hb-%HB_COMPILER%
|
|
sh make_gnu.sh %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--8<--
|
|
rem ; Add these *before* above sample scripts to configure 3rd party dependencies.
|
|
rem For 'MinGW + msys' and Cygwin you'll have to use forward slashes and
|
|
rem also Cygwin drive notation for Cygwin.
|
|
set HB_INC_ADS=C:\ads\acesdk
|
|
set HB_INC_ALLEGRO=C:\allegro\include
|
|
set HB_INC_APOLLO=C:\Apollo\include
|
|
set HB_INC_BLAT=C:\blat\full\source
|
|
set HB_INC_CURL=C:\curl\include
|
|
set HB_INC_FIREBIRD=C:\Firebird\include
|
|
set HB_INC_FREEIMAGE=C:\FreeImage\Dist
|
|
set HB_INC_GD=C:\gd\include
|
|
set HB_INC_MYSQL=C:\mysql\include
|
|
set HB_INC_OPENSSL=C:\openssl\inc32
|
|
set HB_INC_PGSQL=C:\pgsql\include
|
|
set HB_INC_QT=C:\Qt\4.5.1\include
|
|
-->8--
|
|
|
|
--8<--
|
|
rem ; Add these *before* above sample scripts to configure 3rd party dependencies
|
|
rem for implib generation. These environment variables must point to the *root
|
|
rem directory* of given projects.
|
|
set HB_DIR_ADS=C:\ads\acesdk
|
|
set HB_DIR_ALLEGRO=C:\allegro
|
|
set HB_DIR_APOLLO=C:\Apollo
|
|
set HB_DIR_BLAT=C:\blat
|
|
set HB_DIR_CURL=C:\curl
|
|
set HB_DIR_FIREBIRD=C:\Firebird
|
|
set HB_DIR_FREEIMAGE=C:\FreeImage
|
|
set HB_DIR_GD=C:\gd
|
|
set HB_DIR_MYSQL=C:\mysql
|
|
set HB_DIR_OPENSSL=C:\openssl
|
|
set HB_DIR_PGSQL=C:\pgsql
|
|
set HB_DIR_QT=C:\Qt\4.5.1
|
|
rem
|
|
set HB_BUILD_IMPLIB=yes
|
|
-->8--
|
|
|
|
--8<--
|
|
rem ; To create installation packages (.exe + .zip),
|
|
rem replace last line (calling make_gnu.bat) with these two:
|
|
set HB_DIR_NSIS=%ProgramFiles%\NSIS\
|
|
call mpkg_win.bat > log-%HB_COMPILER%.txt 2>&1
|
|
-->8--
|
|
|
|
DOS
|
|
---
|
|
|
|
--- Delorie GNU C
|
|
set DJGPP=C:\djgpp\djgpp.env
|
|
set PATH=C:\djgpp\bin;%PATH%
|
|
rem
|
|
set HB_ARCHITECTURE=dos
|
|
set HB_COMPILER=djgpp
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
--- Open Watcom C++
|
|
SET WATCOM=C:\watcom
|
|
SET PATH=%WATCOM%\BINW;%PATH%
|
|
SET EDPATH=%WATCOM%\EDDAT
|
|
SET INCLUDE=%WATCOM%\H
|
|
rem
|
|
set HB_ARCHITECTURE=dos
|
|
set HB_COMPILER=watcom
|
|
set HB_INSTALL_PREFIX=C:\hb-ow
|
|
call make_gnu.bat %1 %2 > log-ow.txt 2>&1
|
|
---
|
|
|
|
--8<--
|
|
rem ; Add these *before* above sample scripts to configure 3rd party dependencies.
|
|
rem You have to use 8.3 path notation.
|
|
set HB_INC_ALLEGRO=C:\ALLEGR~1.2\include
|
|
set HB_INC_FIREBIRD=C:\FIREBI~1.4\include
|
|
set HB_INC_GD=C:\GD-20~1.34\include
|
|
set HB_INC_MYSQL=C:\MYSQL-~1.67\include
|
|
set HB_INC_PGSQL=C:\PGSQL-~1.3\include
|
|
-->8--
|
|
|
|
--8<--
|
|
rem ; To create installation packages (.zip),
|
|
rem replace last line (calling make_gnu.bat) with this one:
|
|
rem (this will only work when using Windows host)
|
|
call mpkg_dos.bat > log-%HB_COMPILER%.txt 2>&1
|
|
-->8--
|
|
|
|
OS/2
|
|
----
|
|
|
|
--- Open Watcom C++
|
|
SET WATCOM=C:\watcom
|
|
SET PATH=%WATCOM%\BINP;%WATCOM%\BINW;%PATH%
|
|
SET BEGINLIBPATH=%WATCOM%\BINP\DLL
|
|
SET EDPATH=%WATCOM%\EDDAT
|
|
SET INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2
|
|
SET HELP=%WATCOM%\BINP\HELP;%HELP%
|
|
SET BOOKSHELF=%WATCOM%\BINP\HELP;%BOOKSHELF%
|
|
rem
|
|
set HB_COMPILER=watcom
|
|
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
|
call make_gnu_os2.cmd %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
|
---
|
|
|
|
|
|
HOW TO GET THE HARBOUR SOURCES
|
|
==============================
|
|
|
|
1.) It's possible you're reading this file as part of the Harbour
|
|
source code package. If not, read along.
|
|
|
|
2.) Harbour source repository
|
|
|
|
You'll need Subversion (SVN) version control software installed
|
|
on your system, and issue this command:
|
|
svn co https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
|
|
|
|
You can get subsequent updates using this command:
|
|
svn update
|
|
|
|
3.) Harbour nightly sources (updated once a day from source repository)
|
|
|
|
Download source archive from any of these links and unpack:
|
|
http://harbour-project.org/harbour-nightly.zip
|
|
http://harbour-project.org/harbour-nightly.tgz
|
|
http://harbour-project.org/harbour-nightly.bz2
|
|
|
|
4.) Harbour source download (stable)
|
|
|
|
Download source archive from this page and unpack:
|
|
http://sourceforge.net/project/showfiles.php?group_id=681&package_id=192305
|
|
|
|
|
|
TROUBLESHOOTING
|
|
===============
|
|
|
|
Please evaluate these points before reporting an issue on the mailing list.
|
|
|
|
- Make sure to have carefully read this document.
|
|
- Make sure to do a 'clean' before doing a build after refreshing
|
|
the sources.
|
|
- Make sure to install fresh source tree in a new local directory and
|
|
start over. See HOW TO GET THE HARBOUR SOURCES section for instructions
|
|
to get the source.
|
|
- Keep you PATH clean from old, mixed compiler tools or other Harbour
|
|
versions when building Harbour. The surest way to achieve this is to
|
|
leave only compiler directory in PATH:
|
|
set PATH=C:\<compilerdir>
|
|
- Remove all old, unnecessary environment variables from your environment.
|
|
Use only those documented in this file.
|
|
- Try to do no or only small modifications at once to command examples
|
|
included in this file. If it doesn't work, fall back to documented
|
|
examples as is.
|
|
|
|
|
|
FOR MORE INFORMATION
|
|
====================
|
|
|
|
Homepage:
|
|
http://www.harbour-project.org/
|
|
|
|
User Forums:
|
|
http://sourceforge.net/apps/phpbb/harbour-project/
|
|
|
|
Sourceforge Page:
|
|
http://sourceforge.net/projects/harbour-project/
|
|
|
|
Developers' Mail Archives:
|
|
http://lists.harbour-project.org/pipermail/harbour/
|
|
|
|
Development Timeline:
|
|
http://sourceforge.net/apps/trac/harbour-project/timeline
|
|
|
|
Source Repository Browser:
|
|
http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/
|
|
|
|
Source Repository Checkout (anonymous):
|
|
svn co https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
|
|
|
|
Miscellaneous documents:
|
|
/doc directory under this directory.
|
|
|
|
|
|
|
|
[ Copyright (c) 2009 Viktor Szakats (harbour.01 syenar.hu)
|
|
Licensed under Creative Commons Attribution-ShareAlike 3.0:
|
|
http://creativecommons.org/licenses/by-sa/3.0/
|
|
See COPYING. ]
|