* Makefile
! Adjusted a little bit to postinst.bat executed for Linux
cross builds also.
* doc/linux1st.txt
* source/rtl/Makefile
* config/hpux/global.cf
* config/darwin/global.cf
* config/dos/global.cf
* config/win/global.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/linux/watcom.cf
* config/linux/global.cf
* config/os2/global.cf
* config/sunos/global.cf
* config/bsd/global.cf
* config/wce/global.cf
* config/wce/poccarm.cf
- Deleted references of already halfly-deleted HB_GT_LIB
support. Users should use -DHB_GT_LIB=<gtname>. HB_GT_LIB
also has a different, special purpose in os2, this is still
kept, but it would be better to use some other names for it.
! Fixed linux/watcom to suppress .elf extension of binaries
when built on a non-Linux host.
- Deleted extra GT libs from link list. Now all *portable* GTs
plus the default one are *linked*, and all GTs are always
attempted to be *built*.
- Deleted checking GT libs extistance. They always exist
unless the source tree is corrupted, so there is no point
to do this check.
* wce/poccarm now always have /SUBSYSTEM:WINDOWS.
; NOTE: If we want to support build-time default GT selection/override,
we should find some proper ways, but it makes things
very complicated without much benefit, since GT can be
easily overridden in final apps, supplied binary tools can
also very easily rebuilt using hbmk2 with whatever GT.
* utils/hbmk2/hbmk2.prg
* Minor formatting.
165 lines
4.8 KiB
Plaintext
165 lines
4.8 KiB
Plaintext
/*
|
|
* $Id$
|
|
*/
|
|
|
|
Linux primer
|
|
============
|
|
|
|
Ubuntu/Debian distro
|
|
--------------------
|
|
|
|
Packages needed to cleanly build Harbour:
|
|
(Tested with Ubuntu 7.04, 8.04, 9.04)
|
|
|
|
For GTCRS terminal lib:
|
|
sudo apt-get install libncurses-dev
|
|
|
|
For GTSLN terminal lib:
|
|
sudo apt-get install libslang2-dev
|
|
|
|
For GTXWC terminal lib:
|
|
sudo apt-get install libx11-dev
|
|
|
|
For console mouse support in GTTRM, GTSLN and GTCRS:
|
|
sudo apt-get install libgpmg1-dev
|
|
|
|
For contrib/hbodbc lib:
|
|
sudo apt-get install unixodbc-dev
|
|
|
|
For contrib/hbcurl lib:
|
|
sudo apt-get install libcurl4-openssl-dev
|
|
or
|
|
sudo apt-get install libcurl4-gnutls-dev
|
|
|
|
For contrib/hbfbird lib:
|
|
sudo apt-get install libfirebird2.0-dev
|
|
or
|
|
sudo apt-get install firebird2.1-dev
|
|
|
|
For contrib/hbfimage lib:
|
|
sudo apt-get install libfreeimage-dev
|
|
|
|
For contrib/hbgd lib:
|
|
sudo apt-get install libgd2-xpm-dev
|
|
or
|
|
sudo apt-get install libgd-xpm-dev
|
|
|
|
For contrib/hbmysql lib:
|
|
sudo apt-get install libmysqlclient15-dev
|
|
|
|
For contrib/hbpgsql lib:
|
|
sudo apt-get install libpq-dev
|
|
|
|
For contrib/hbqt lib:
|
|
sudo apt-get install libqt4-dev
|
|
|
|
For examples/hbgf/hbgfgtk lib:
|
|
sudo apt-get install libgtk2.0-dev
|
|
sudo apt-get install libglib2.0-dev
|
|
|
|
For contrib/rddads lib:
|
|
Download and install 'Advantage Client Engine API for Linux' package
|
|
(f.e. aceapi-9.00.0.0.tar.gz)
|
|
|
|
For contrib/hbhpdf lib:
|
|
Download and './configure', 'make install' libharu
|
|
from http://libharu.org/
|
|
|
|
openSUSE distro
|
|
---------------
|
|
|
|
You'll need these packages to compile certain contribs and optional
|
|
Harbour modules:
|
|
- xorg-x11-devel
|
|
- postgresql-devel
|
|
- gtk2-devel
|
|
- ncurses-devel
|
|
- slang-devel
|
|
- unixodbc-devel
|
|
- gd-devel
|
|
- libmysqlclient-devel
|
|
|
|
For contrib/rddads lib:
|
|
Download and install 'Advantage Client Engine API for Linux' package
|
|
(f.e. aceapi-9.00.0.0.tar.gz)
|
|
|
|
For contrib/libharu:
|
|
- Download and './configure', 'make install' libharu
|
|
from http://libharu.org/
|
|
- libpng-devel
|
|
- zlib-devel
|
|
|
|
|
|
Notes by Scott Johnson <scomps at purplewire.org>
|
|
-------------------------------------------------
|
|
|
|
Ok, I finally got something to run. The code I compiled was standard
|
|
Clipper 5.2 code pulled directly from a dos/win box and was working
|
|
properly there.
|
|
|
|
I'm compiling under Debian Sarge which for their own reasons are using
|
|
the Alpha Build 44.0. It was installed with the standard apt-get
|
|
harbour. I did this to pretty much ensure that the install wasn't
|
|
tainted by any of my previous attempts at getting this to work.
|
|
|
|
The first thing I checked was for the bld.sh. it didn't exist so I did
|
|
the cut/paste thing from this list (thank you) and set out on my
|
|
adventure.
|
|
|
|
First off, set your environment variables. If you want to set this up
|
|
for your shell to do it automagically go for it. That's beyond what I
|
|
want to cover here.
|
|
|
|
export HB_ARCHITECTURE=linux
|
|
export HB_BIN_INSTALL=/usr/bin
|
|
export HB_LIB_INSTALL=/usr/lib/harbour
|
|
export HB_INC_INSTALL=/usr/include/harbour
|
|
export HB_COMPILER=gcc
|
|
|
|
Since we created the bld.sh from scratch, I dropped it in the /usr/bin
|
|
directory where the rest of the harbour binaries exist.
|
|
|
|
chmod +x bld.sh
|
|
|
|
Now I go to where my actual clipper/harbour source code is.
|
|
|
|
The files I have are inv.prg, csrc.prg, cmenu.prg and citem.prg. The
|
|
dbf files are already created and exist in the same directory, but
|
|
that's just me. I pulled those over with the dos application.
|
|
|
|
Next, I issued the following command
|
|
|
|
bld.sh inv csrc cmenu citem
|
|
|
|
This ran through it's gyrations, made the c source and attempted to link
|
|
it. Hey, this is great although it bombed out with an unresolved
|
|
external to dbfdbt. Ok, so that's a library. I can do this
|
|
|
|
I jumped into the bld.sh file and hunted down the gcc line. It's quite
|
|
a ways down into the file, but you'll need to find the one appropriate
|
|
for your system (mind was right after the last check for GT_LIB where it
|
|
leaves it as gtstd if you don't set something.
|
|
|
|
On the gcc line, you'll see a section like "-L$HB_LIB_INSTALL -ldebug"
|
|
and so on; add "-ldbfdbt" (without the quotes of course). I added it
|
|
right after -lrdd, but I don't know if that's important or not. Maybe
|
|
somebody can correct me there.
|
|
|
|
After I saved it, I went back and issued the same bld.sh command as I
|
|
did above, and lo! It just worked.
|
|
|
|
./inv
|
|
|
|
As a side note, gtstd is probably not going to be very helpful for you
|
|
in linux if you have any SAY/GET's as screen positioning (especially if
|
|
you use xterm) won't be handled correctly. Same with gtpca. Gtcrs
|
|
seemed to work properly in my environment.
|
|
|
|
I know this is pretty sparse as far as any kind of documentation is
|
|
concerned, and I might be doing things I don't need to, and not doing
|
|
things that make people cringe. It's a start though and maybe some
|
|
folks can clean it up a bit and add/remove things that are important.
|
|
At least this worked on my particular Debian system. Your mileage may
|
|
vary and other distributions will probably have their own setups and
|
|
issues.
|