From 0ae645c591b7bf8517d34c0dffd28b364003ced6 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 19 Aug 2009 17:49:51 +0000 Subject: [PATCH] 2009-08-19 19:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg + Added support for detecting Harbour binary environment in raw form, meaning the one after simple 'make' *without* 'make install'. Of course 'install' is still useful to build dlls (and implibs on win), but for normal cases this may be a very useful feature. You do a 'make' (no admin needed on *nix), go to ./bin/arch/comp and hbmk2 works without any extra configuration. This feature also allows us to distribute multihost binary packages. Such unified binaries can be run under multiple hosts. (IOW we can have one binary distro which covers potentially all our supported platforms/compilers both as host OS and target OS). See watcom for such an example in the C compiler world. --- harbour/ChangeLog | 17 +++++++++++++++++ harbour/utils/hbmk2/hbmk2.prg | 7 +++++++ 2 files changed, 24 insertions(+) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 382cd469d2..dfe2f850c7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,23 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-19 19:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + + Added support for detecting Harbour binary environment + in raw form, meaning the one after simple 'make' *without* + 'make install'. + Of course 'install' is still useful to build dlls (and + implibs on win), but for normal cases this may be a very + useful feature. You do a 'make' (no admin needed on *nix), + go to ./bin/arch/comp and hbmk2 works without any extra + configuration. + This feature also allows us to distribute multihost + binary packages. Such unified binaries can be run under + multiple hosts. (IOW we can have one binary distro which + covers potentially all our supported platforms/compilers + both as host OS and target OS). See watcom for such an + example in the C compiler world. + 2009-08-19 18:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * INSTALL + Replaced make_gnu_xmingw*.sh references with simple make diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 0993890ad7..b27d21ccf4 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -976,6 +976,13 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) RETURN 3 ENDCASE ENDIF + + /* Detect special non-installed dir layout (after simple 'make') */ + IF hb_FileExists( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "include" +; + hb_osPathSeparator() + "hbvm.h" ) + l_cHB_INSTALL_PREFIX := DirAddPathSep( l_cHB_INSTALL_PREFIX ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ENDIF + /* Detect special *nix dir layout (/bin, /lib/harbour, /include/harbour) */ IF hb_FileExists( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + "include" +; hb_osPathSeparator() + iif( hbmk[ _HBMK_nHBMODE ] == _HBMODE_XHB, "xharbour", "harbour" ) +;