Files
harbour-core/harbour/INSTALL
Viktor Szakats c35a25012b 2009-03-02 16:26 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
  * contrib/hbfbird/readme.txt
    * Updates.
2009-03-02 15:27:27 +00:00

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> ]