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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
=======================================
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user