* INSTALL
* Updates.
* source/vm/Makefile
- Removed sensing HB_MT value and building pure MT version
of Harbour. This is to avoid yet another unnecessary
variation of Harbour builds. For MT, just simply hbvmmt lib
should be linked.
257 lines
8.2 KiB
Plaintext
257 lines
8.2 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>
|
|
(use forward slashes and msys drive notation: /c/)
|
|
> 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.
|
|
|
|
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.
|
|
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.
|
|
- 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 parses.
|
|
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> ]
|