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

Reply via email to