2012-09-28 20:13 UTC+0200 Viktor Szakats (harbour syenar.net)

* contrib/hbpost.hbm
  * contrib/make.hb
  * INSTALL
    + implemented 'install' option when building contribs
      in standalone mode (aka when doing a partial [re]build).
      Experimental, very lightly tested and the recommended
      way remains to _avoid_ 'install' in all situations
      and to use .hbc files to use packages.
This commit is contained in:
Viktor Szakats
2012-09-28 18:14:36 +00:00
parent daf086733d
commit 35559249dd
4 changed files with 27 additions and 22 deletions

View File

@@ -16,6 +16,16 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-09-28 20:13 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbpost.hbm
* contrib/make.hb
* INSTALL
+ implemented 'install' option when building contribs
in standalone mode (aka when doing a partial [re]build).
Experimental, very lightly tested and the recommended
way remains to _avoid_ 'install' in all situations
and to use .hbc files to use packages.
2012-09-28 18:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/box.ch
* src/rtl/browse.prg

View File

@@ -240,11 +240,6 @@ HARBOUR
cd contrib/<name>
../../bin/<plat>/<comp>/hbmk2 ../make.hb [clean] [custom hbmk2 options]
NOTE: 'install' doesn't work when doing a partial [re]build
at this time. To work this around, simply avoid 'install'
completely, do a complete rebuild or copy the created
lib(s) manually.
3. HOW TO CREATE DISTRIBUTABLE PACKAGES
=======================================

View File

@@ -86,7 +86,7 @@
-instfile=contrib:${_HB_CONTRIB_SUBDIR}*.txt
-instfile=contrib_tests:${_HB_CONTRIB_SUBDIR}tests/*.*
# install
# install (GNU Make)
{_HB_BUILD_INSTALL&_HB_INSTALL_LIB&hblib}-instpath=${_HB_INSTALL_LIB}/
{_HB_BUILD_INSTALL&_HB_INSTALL_BIN&hbexe}-instpath=${_HB_INSTALL_BIN}/
{_HB_BUILD_INSTALL&_HB_INSTALL_DYN&hbdyn}-instpath=${_HB_INSTALL_DYN}/
@@ -99,3 +99,15 @@
{_HB_BUILD_INSTALL&_HB_INSTALL_CONTRIB&hblib}-instpath=contrib:${_HB_INSTALL_CONTRIB}/${_HB_CONTRIB_SUBDIR}
{_HB_BUILD_INSTALL&_HB_INSTALL_CONTRIB&hblib}-instpath=contrib_tests:${_HB_INSTALL_CONTRIB}/${_HB_CONTRIB_SUBDIR}/tests/
{_HB_BUILD_INSTALL}-instforce
# install (standalone)
{_HB_BUILD_INSTALL_STDALONE&hblib}-instpath=${HB_LIB}/
{_HB_BUILD_INSTALL_STDALONE&hbexe}-instpath=${HB_BIN}/
{_HB_BUILD_INSTALL_STDALONE&hbdyn}-instpath=${HB_DYN}/
{_HB_BUILD_INSTALL_STDALONE&hbdyn&(win|os2)&HB_INSTALL_3RDDYN='yes'}-instpath=depimplibsrc:${HB_DYN}/
{_HB_BUILD_INSTALL_STDALONE&hblib}-instpath=inc:${HB_INC}/
{_HB_BUILD_INSTALL_STDALONE}-instpath=implib:${HB_LIB}/
{_HB_BUILD_INSTALL_STDALONE}-instpath=etc:${HB_ETC}/
{_HB_BUILD_INSTALL_STDALONE}-instpath=man:${HB_MAN}/
{_HB_BUILD_INSTALL_STDALONE&!(HB_INSTALL_IMPLIB='no')}-instpath=depimplib:${HB_LIB}/
{_HB_BUILD_INSTALL_STDALONE}-instforce

View File

@@ -27,12 +27,6 @@
*
*/
/* NOTE:
- 'install' is ignored in stdalone mode. It would be needed to
replicate the install dir defaulting logic found in global.mk
to implement it.
*/
#pragma warninglevel=3
#pragma -km+
#pragma -ko+
@@ -147,12 +141,6 @@ PROCEDURE Standalone( aParams, hProjectList )
nAction := _ACT_INC
ENDCASE
/* Strip install action */
DO CASE
CASE nAction == _ACT_INC_REBUILD_INST ; nAction := _ACT_INC_REBUILD
CASE nAction == _ACT_INC_INST ; nAction := _ACT_INC
ENDCASE
/* Processing user options */
cOptionsUser := ""
@@ -203,7 +191,7 @@ PROCEDURE Standalone( aParams, hProjectList )
/* Start building */
build_projects( nAction, hProjectList, hProjectReqList, cOptionsUser )
build_projects( nAction, hProjectList, hProjectReqList, cOptionsUser, .T. )
RETURN
@@ -355,13 +343,13 @@ PROCEDURE GNUMake( aParams, hProjectList )
OutStd( hb_StrFormat( "! Started package %1$s...", hActions[ nAction ] ) + hb_eol() )
build_projects( nAction, hProjectList, hProjectReqList, "" )
build_projects( nAction, hProjectList, hProjectReqList, "", .F. )
OutStd( hb_StrFormat( "! Finished package %1$s...", hActions[ nAction ] ) + hb_eol() )
RETURN
STATIC PROCEDURE build_projects( nAction, hProjectList, hProjectReqList, cOptionsUser )
STATIC PROCEDURE build_projects( nAction, hProjectList, hProjectReqList, cOptionsUser, lStdAlone )
LOCAL aPairList
LOCAL aSortedList
@@ -440,7 +428,7 @@ STATIC PROCEDURE build_projects( nAction, hProjectList, hProjectReqList, cOption
lInstall := nAction == _ACT_INC_INST .OR. ;
nAction == _ACT_INC_REBUILD_INST
hb_setenv( "_HB_BUILD_INSTALL", iif( lInstall, "yes", NIL ) )
hb_setenv( iif( lStdAlone, "_HB_BUILD_INSTALL_STDALONE", "_HB_BUILD_INSTALL" ), iif( lInstall, "yes", NIL ) )
/* Build the dependencies and primary targets in sorted order */