Revision: 12334 http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12334&view=rev Author: vszakats Date: 2009-08-26 16:00:07 +0000 (Wed, 26 Aug 2009)
Log Message: ----------- 2009-08-26 17:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + config/detfun.mk + config/detect.mk * config/global.mk + Added generic external component detection function. + Added central detection for optional external components used by Harbour core. These are: openssl, gpm, slang, curses, x11 Easy to extend with new ones. The detection code will run once per make session and results can be used in all our make files by checking HB_HAS_* variable. If it's empty we cannot use the component, if it's not we can. In this case it contains dir where headers were located. It's possible that it's a list of paths. Users can control these components by using HB_INC_* variable the following way: if it's left empty, Harbour make system will automatically look into default locations, this usually works on *nix systems. If set to a path (or a list of paths), this list will be checked. Finally to explicitly disable a component, user can set the variable to 'no'. Following legacy control variables are yet understood, but the will be removed in the near future: HB_WITHOUT_GTCRS=yes is the same as HB_INC_CURSES=no HB_WITHOUT_SLANG=yes is the same as HB_INC_SLANG=no HB_WITHOUT_GTXWC=yes is the same as HB_INC_X11=no Notice that these settings aren't meant to allow user control of actual Harbour components (like gtxwc). If we need something like this, we can do it, but it wasn't the subject of this change. HB_GPM_MOUSE var is still set for compatibility with internals. NOTE: I've left verbose output on to see what's happening, this will tuned after testing. ; TODO: Remove reliance on legacy settings in our own codebase. ; TODO: Start using HB_HAS_* values for dynamic lib syslib list assembly and in GT Makefiles. * contrib/hbtip/hbtipssl/Makefile * contrib/hbtip/Makefile * contrib/hbssl/Makefile * HB_HAS_OPENSSL works a little differently now, not empty means 'yes', empty means 'no'. Modified Paths: -------------- trunk/harbour/ChangeLog trunk/harbour/config/global.mk trunk/harbour/contrib/hbssl/Makefile trunk/harbour/contrib/hbtip/Makefile trunk/harbour/contrib/hbtip/hbtipssl/Makefile Added Paths: ----------- trunk/harbour/config/detect.mk trunk/harbour/config/detfun.mk This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour