Clipper Fans,
I first sent this reply to the users mailing list. Since I'm neither a
Harbour nor a FreeBSD developer, I thought I should start out asking on
the users' list instead of the developers' list. But haven't received any
replies there so maybe this would be better directed here. I'm the fellow
from the users list Massimo quoted below.
On Tue, 11 Nov 2008, Massimo Belgrano wrote:
Follow from harbour user mailing list
P.S. If anyone here is the FreeBSD harbour port maintainer or has
contact with him/her, the version of Harbour in the FreeBSD ports tree
is 0.44.0. It looks like it might be time for an update.
Well, this seemed like a good excuse to expand my knowledge. I hadn't
tried to do anything more adventurous to a FreeBSD port then adding a
patch, etc. After some tinkering I now have a Harbour 1.0.1 FreeBSD port
that's working well enough for my needs. With a little more polishing I
might even be brave enough to try submitting it to FreeBSD. :-)
Whoever created the 0.44.0 port added an additional Makefile and script.
The port's Makefile executed the added Makefile, which in turn called the
added script. That script set several Harbour environment variables to
control the build, changed to the source dir, and finally executed
Harbour's Makefile, via gmake. I've stripped out the unneeded layers of
confusion, removed the added Makefile and script, set all the environment
variables in the port's Makefile and let it execute Harbour's Makefile
directly.
So, anyway, I have a few questions that might aid me in the polishing of
the port. Has the Harbour development team ever considered using a
./configure script instead of various environment variables? It would
greatly simplify creating Harbour packages on source based, and a few
binary based, Linux distros, not to mention FreeBSD, etc. Most distros
with automated build systems prefer building via:
./configure -> make -> make install
Where can I find documentation on all the environment variables available
to control building Harbour? I found some in make_gcc.mak but it doesn't
appear to be a complete list. HB_WITHOUT_X11, for example, isn't
documented there. I discovered HB_WITHOUT_X11 in an xHarbour Gentoo
ebuild.
The various *.txt files under doc and the Makefiles under doc appear to be
out of sync. Some docs get omitted if I set HB_DOC_INSTALL. Is there an
environment variable to enable installing the man pages? I don't even see
a Makefile in doc/man. For the moment I'm just installing the docs and
man pages via the port's Makefile.
I'm currently testing the port under a FreeBSD install I have running
under vmware, which doesn't have X installed. If I leave HB_WITHOUT_X11
unset, Harbour tries to build its X related bits, which all fail with
Error 1 or Error 2 errors. Those errors should cause the overall
build to fail but don't. Any idea why that's happening?
I have my FreeBSD ports system set up to use ccache. It does so by
setting CC before executing ./configure and/or make in the package's
source tree. After much head scratching trying to figure out why ccache
wasn't being used when building Harbour, I finally found CC was being
blindly set to gcc in config/bsd/gcc.cf. Could that perhaps be changed to
only set CC to GCC if it's not already set? For the moment I'm removing
that setting via a patch before the build starts and Harbour builds
correctly with ccache.
Kevin
http://www.RawFedDogs.net
http://www.WacoAgilityGroup.org
Bruceville, TX
Si hoc legere scis nimium eruditionis habes.
Longum iter est per praecepta, breve et efficax per exempla!!!
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour