267 lines
8.8 KiB
Plaintext
267 lines
8.8 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
|
|
================================
|
|
|
|
For all platforms you'll need:
|
|
|
|
* Supported C compiler
|
|
* GNU Make
|
|
* GNU Bison 1.28 or upper (optional)
|
|
|
|
Linux/Darwin/BSD/HP-UX/Solaris
|
|
------------------------------
|
|
$ export HB_COMPILER=<[gcc]|owatcom|icc|...>
|
|
$ export HB_INSTALL_PREFIX=<DIR>
|
|
$ ./make_gnu.sh
|
|
$ sudo ./make_gnu.sh install
|
|
|
|
To test it, go to <DIR>/bin directory and type:
|
|
$ ./hbmk2 -n ../tests/hello.prg
|
|
$ ./hello
|
|
You should see 'Hello world!' on screen.
|
|
|
|
Windows with MinGW + msys
|
|
-------------------------
|
|
This is the recommended way to build with MinGW.
|
|
|
|
Make sure to have msys and MinGW properly installed
|
|
and setup. 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 -n ../tests/hello.prg
|
|
> hello
|
|
You should see 'Hello world!' on screen.
|
|
|
|
NOTE: You have to use forwards slashes in <DIR>, and
|
|
msys style drive notation: /c/ (means C:)
|
|
|
|
Windows with other compilers
|
|
----------------------------
|
|
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,
|
|
please 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 (put all these _after_ your selected C compiler
|
|
in PATH).
|
|
For the list of supported compilers, please look up the
|
|
relevant section of this file.
|
|
3.) Make sure to have GNU Make. We recommend the one distributed
|
|
with MinGW. Use this link to get it:
|
|
http://sourceforge.net/project/showfiles.php?group_id=2435
|
|
If you have it, you have three choices:
|
|
- Put mingw32-make.exe anywhere in your PATH. (recommended)
|
|
- Put mingw32-make.exe in Harbour source root dir.
|
|
- Rename mingw32-make.exe to make.exe and put it in
|
|
your PATH _before_ your compiler tools.
|
|
|
|
> set HB_COMPILER=<[msvc]|bcc|owatcom|...>
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> make_gnu.bat install
|
|
|
|
To test it, go to <DIR>\bin directory and type:
|
|
> hbmk2 -n ..\tests\hello.prg
|
|
> hello
|
|
You should see 'Hello world!' on screen.
|
|
|
|
NOTE: <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.
|
|
|
|
DOS
|
|
---
|
|
> set HB_COMPILER=<[djgpp]|owatcom>
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> make_gnu.bat install
|
|
|
|
OS/2
|
|
----
|
|
> set HB_COMPILER=<[gcc]|owatcom|icc>
|
|
> set HB_INSTALL_PREFIX=<DIR>
|
|
> make_gnu_os2.cmd install
|
|
|
|
|
|
HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD
|
|
==============================================
|
|
|
|
On *nix systems most of these will be automatically 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 dirs:
|
|
|
|
HB_INC_ADS=C:\ads\acesdk
|
|
HB_INC_ALLEGRO=C:\allegro\include
|
|
HB_INC_APOLLO=C:\Apollo\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
|
|
HB_INC_MYSQL=C:\mysql\include
|
|
HB_INC_OPENSSL=C:\openssl
|
|
HB_INC_PGSQL=C:\pgsql\include
|
|
|
|
|
|
SUPPORTED C COMPILERS UNDER DIFFERENT PLATFORMS
|
|
===============================================
|
|
|
|
You can use abbreviations below as HB_COMPILER values.
|
|
|
|
Linux
|
|
-----
|
|
gcc - GNU C
|
|
gpp - GNU C++
|
|
owatcom - Open Watcom C++
|
|
icc - Intel(R) C/C++
|
|
|
|
Darwin/BSD/HP-UX/Solaris
|
|
------------------------
|
|
gcc - GNU C
|
|
|
|
Windows
|
|
-------
|
|
mingw - MinGW GNU C
|
|
msvc - Microsoft Visual C++
|
|
owatcom - Open Watcom C++
|
|
bcc - Borland/CodeGear C++ 4.x and above
|
|
gcc - Cygwin GNU C
|
|
rxsnt - EMX/RSXNT/Windows GNU C
|
|
icc - IBM Visual Age C++
|
|
dmc - Digital Mars C
|
|
msvc64 - Microsoft Visual C++ x64
|
|
msvcia64 - Microsoft Visual C++ ia64
|
|
mingwce - MinGW GNU C (Windows CE / ARM)
|
|
msvcce - Microsoft Visual C++ (Windows CE / ARM)
|
|
pocc - Pelles C 4.5 and above
|
|
pocc64 - Pelles C 5.0 x64
|
|
poccce - Pelles C 5.0 (Windows CE / ARM)
|
|
xcc - Pelles C for xhb
|
|
|
|
DOS (32-bit)
|
|
---
|
|
djgpp - Delorie GNU C
|
|
owatcom - Open Watcom C++ 9.x and above
|
|
rxs32 - EMX/RSXNT/DOS GNU C
|
|
|
|
OS/2
|
|
----
|
|
gcc - EMX GNU C
|
|
owatcom - Open Watcom C++
|
|
icc - IBM Visual Age C++ 3.0
|
|
|
|
|
|
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 explicily
|
|
pass them to make_gnu.bat.
|
|
- 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 additional libraries stored
|
|
in the contrib directory.
|
|
- HB_REBUILD_PARSER=yes To rebuild the language parsers.
|
|
This requires GNU Bison.
|
|
- HB_VISUALC_VER_PRE80=yes Set this if you're using a pre-8.0
|
|
(= pre-MSVS 2005) version of MSVC compiler.
|
|
|
|
Cross building
|
|
--------------
|
|
HB_BIN_COMPILE=<HARBOUR_NATIVE_BUILD_DIR>\bin
|
|
HB_PPGEN_PATH=<HARBOUR_NATIVE_BUILD_DIR>\bin
|
|
HB=<HARBOUR_NATIVE_BUILD_DIR>\bin\harbour[.exe]
|
|
HBPP=<HARBOUR_NATIVE_BUILD_DIR>\bin\hbpp[.exe]
|
|
|
|
You need these when building for a platform different to host.
|
|
For this to work, you will need to point above envvars to
|
|
a native Harbour build available on your system.
|
|
|
|
|
|
FOR MORE INFORMATION
|
|
====================
|
|
|
|
Home:
|
|
http://www.harbour-project.org/
|
|
|
|
Mailing lists:
|
|
http://www.harbour-project.org/mailing.html
|
|
|
|
Developers' mail archives:
|
|
http://lists.harbour-project.org/pipermail/harbour/
|
|
|
|
Users' mail archives:
|
|
http://lists.harbour-project.org/pipermail/harbour-users/
|
|
|
|
Sourceforge page:
|
|
https://sourceforge.net/projects/harbour-project/
|
|
|
|
Development timeline:
|
|
https://apps.sourceforge.net/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 harbour-project
|
|
|
|
Miscellaneous documents:
|
|
/doc directory under this dir.
|
|
|
|
|
|
|
|
[ Copyright 2009 Viktor Szakats <harbour.01 syenar.hu> ]
|