diff --git a/harbour/ChangeLog b/harbour/ChangeLog index bf855094c1..582f685f18 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,87 @@ The license applies to all entries newer than 2009-04-28. */ +2012-11-10 14:30 UTC+0100 Viktor Szakats (harbour syenar.net) + + utils/hbmk2/pkg_dynl.hbm + * utils/hbmk2/hbmk2.prg + + added built-in package $hb_pkg_dynlib.hbm which adds + hbmk2 options needed to build standard dynamic libs out + of lib projects the same way contribs are built when + using HB_BUILD_CONTRIB_DYN=yes. + + * utils/hbmk2/pkg_inst.hbm + ! fixed to place target dynamic libs to main project + directory, so they can be used right away + + * extras/hbvpdf/hbvpdf.hbp + - extras/hbvpdf/hbvpdf.prg + + extras/hbvpdf/core.prg + - extras/hbvpdf/hbvpsup.prg + + extras/hbvpdf/fonts.prg + * renamed source to not collide with .hbx file + * renamed other source to simpler name + * fonts.prg hbformatted + + * extras/gtwvw/gtwvw.hbp + * extras/hbusb/hbusb.hbp + * extras/hbvpdf/hbvpdf.hbp + * extras/hbxlsxml/hbxlsxml.hbp + + added $hb_pkg_dynlib.hbm built-in build rules, + so now these can be built as dynamic libs using + command: + 'hbmk2 -hbdyn .hbp' + + * extras/gtwvw/gtwvwd.c + ! fixed wrong startup code causing GPF when + used as hbrun script. + + * extras/hbusb/tests/test.prg + * extras/hbvpdf/tests/pdf_demo.prg + * extras/hbxlsxml/tests/example.prg + * extras/hbxlsxml/tests/example2.prg + * extras/hbxlsxml/tests/example3.prg + + added #require directives to make + them run as scripts. + + * extras/gtwvw/tests/cbtest1.prg + * extras/gtwvw/tests/cbtest6.prg + * extras/gtwvw/tests/drawimg.prg + * extras/gtwvw/tests/ebtest7.prg + * extras/gtwvw/tests/inpfocus.prg + * extras/gtwvw/tests/maincoor.prg + * extras/gtwvw/tests/maximize.prg + * extras/gtwvw/tests/prog0.prg + * extras/gtwvw/tests/prog1.prg + * extras/gtwvw/tests/prog2.prg + * extras/gtwvw/tests/wvwtest9.hbp + * extras/gtwvw/tests/wvwtest9.prg + - extras/gtwvw/tests/wvwmouse.prg + + extras/gtwvw/tests/_wvwmous.prg + + added #require directives and dynamic switching + to GTWVW GT to make them run as scripts. + * renamed one internal .prg to start with an + underscore + * changed the way _wvwmous.prg is added to the + main project source to make it run as + script (though the .rc file won't be available + in this case) + + * extras/hbxlsxml/tests/example.prg + ! fixed typo in a recent manual cleanup update + + ; After this, 3rd party addons can easily use this + facility to build and used as dynamic libs, making + it possible to use them from scripts. + + ; NOTE: I didn't check if these dynamic libs can be + linked statically to dependent projects. Left + for the future. + + ; TODO: - clean contrib/hbpost.hbm to be more in + sync with utils/hbmk2/pkg_dynl.hbm + - inspect if _HB_DYNSUFF can be avoided in + contrib .hbc files + 2012-11-10 03:59 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/gtwvg/bitmap.prg * contrib/gtwvg/drawarea.prg diff --git a/harbour/extras/gtwvw/gtwvw.hbp b/harbour/extras/gtwvw/gtwvw.hbp index 40b2aca001..65a3c38568 100644 --- a/harbour/extras/gtwvw/gtwvw.hbp +++ b/harbour/extras/gtwvw/gtwvw.hbp @@ -33,4 +33,5 @@ wvwtbar.c # NOTE: Due to large quantity of unprecise code, it doesn't build in C++ mode. -warn=no +$hb_pkg_dynlib.hbm $hb_pkg_install.hbm diff --git a/harbour/extras/gtwvw/gtwvwd.c b/harbour/extras/gtwvw/gtwvwd.c index 08ab7de390..909a122e41 100644 --- a/harbour/extras/gtwvw/gtwvwd.c +++ b/harbour/extras/gtwvw/gtwvwd.c @@ -456,7 +456,10 @@ static void hb_gt_wvw_Init( PHB_GT pGT, HB_FHANDLE hFilenoStdin, HB_FHANDLE hFil s_iStdErr = hFilenoStderr; if( ! hb_winmainArgGet( &hInstance, &hPrevInstance, &iCmdShow ) ) - hb_errInternal( 10001, "It's not a GUI program", NULL, NULL ); + { + hInstance = GetModuleHandle( NULL ); + iCmdShow = 1; + } s_iOldCurStyle = s_iCursorStyle = SC_NORMAL; diff --git a/harbour/extras/gtwvw/tests/wvwmouse.prg b/harbour/extras/gtwvw/tests/_wvwmous.prg similarity index 100% rename from harbour/extras/gtwvw/tests/wvwmouse.prg rename to harbour/extras/gtwvw/tests/_wvwmous.prg diff --git a/harbour/extras/gtwvw/tests/cbtest1.prg b/harbour/extras/gtwvw/tests/cbtest1.prg index dcc23283d1..833424a569 100644 --- a/harbour/extras/gtwvw/tests/cbtest1.prg +++ b/harbour/extras/gtwvw/tests/cbtest1.prg @@ -12,6 +12,7 @@ Compile: bldwvw cbtest1 */ +#require "gtwvw" #include "inkey.ch" #include "setcurs.ch" @@ -35,6 +36,10 @@ PROCEDURE Main() LOCAL nMaxWidth, nCBid, nPBid, nPos LOCAL ch, ncursor +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SetColor( "N/W" ) WVW_SetTitle( NIL, "Quick Survey" ) WVW_NoClose( NIL ) diff --git a/harbour/extras/gtwvw/tests/cbtest6.prg b/harbour/extras/gtwvw/tests/cbtest6.prg index 1f217dc534..11fc648a5e 100644 --- a/harbour/extras/gtwvw/tests/cbtest6.prg +++ b/harbour/extras/gtwvw/tests/cbtest6.prg @@ -14,6 +14,8 @@ Compile: bldwvw cbtest6 */ +#require "gtwvw" + #include "getexit.ch" #include "inkey.ch" @@ -58,6 +60,10 @@ PROCEDURE Main() LOCAL mname := PadR( "Budyanto Dj.", 30 ), msex := "MALE", mage := 17, mstat := "married" LOCAL __nCBid__, __temp__ // these two are temporary var required by CB get creation +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + WVW_SetCodePage( NIL, 255 ) WVW_SetLineSpacing( NIL, 4 ) WVW_SetLSpaceColor( NIL, 0 ) diff --git a/harbour/extras/gtwvw/tests/drawimg.prg b/harbour/extras/gtwvw/tests/drawimg.prg index 883c4f29a2..f2ad7c23a6 100644 --- a/harbour/extras/gtwvw/tests/drawimg.prg +++ b/harbour/extras/gtwvw/tests/drawimg.prg @@ -27,11 +27,13 @@ of the image. Remarks: - Image drawing and wvw_paint management are performed by WUTIL.PRG. - WUTIL.PRG is a simple "middle module" interfacing an application with + Image drawing and wvw_paint management are performed by wutil.prg. + wutil.prg is a simple "middle module" interfacing an application with gtwvw. */ +#require "gtwvw" + #include "inkey.ch" #include "setcurs.ch" #include "hbclass.ch" @@ -88,6 +90,10 @@ PROCEDURE Main() LOCAL i, j, oWPaint LOCAL getlist := {} +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SetColor( "N/W,N/GR*,,,N/W*" ) wvw_setcodepage( , 255 ) wg_ResetWPaintObj( 0 ) diff --git a/harbour/extras/gtwvw/tests/ebtest7.prg b/harbour/extras/gtwvw/tests/ebtest7.prg index a4946427a3..63b922ce29 100644 --- a/harbour/extras/gtwvw/tests/ebtest7.prg +++ b/harbour/extras/gtwvw/tests/ebtest7.prg @@ -23,6 +23,8 @@ */ +#require "gtwvw" + #include "inkey.ch" #include "set.ch" #include "setcurs.ch" @@ -60,8 +62,13 @@ PROCEDURE Main() LOCAL lClosepermitted := .F. LOCAL bSetKey := SetKey( K_F8, {|| MyHelp() } ) +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SET CENTURY ON SET DATE ANSI + SET CENTURY ON SetMode( 4, 54 ) // a small window SetColor( "N/W" ) Wvw_SetFont( 0, "Courier New", 16, - 7 ) diff --git a/harbour/extras/gtwvw/tests/inpfocus.prg b/harbour/extras/gtwvw/tests/inpfocus.prg index 658c548094..766d03c6d2 100644 --- a/harbour/extras/gtwvw/tests/inpfocus.prg +++ b/harbour/extras/gtwvw/tests/inpfocus.prg @@ -10,6 +10,8 @@ * */ +#require "gtwvw" + #include "inkey.ch" #include "setcurs.ch" @@ -49,6 +51,10 @@ PROCEDURE Main() LOCAL ch +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + IF ! SetMode( 25, 80 ) wvw_messagebox( 0, "Cannot set to (25,80) screen", "Warning", MB_OK + MB_ICONEXCLAMATION ) ENDIF diff --git a/harbour/extras/gtwvw/tests/maincoor.prg b/harbour/extras/gtwvw/tests/maincoor.prg index 6e517f6cab..0c5c6ce68c 100644 --- a/harbour/extras/gtwvw/tests/maincoor.prg +++ b/harbour/extras/gtwvw/tests/maincoor.prg @@ -9,10 +9,16 @@ Standard Mode of GTWVW. */ +#require "gtwvw" + #include "inkey.ch" PROCEDURE Main() +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SetColor( "N/W" ) WVW_SetMainCoord( .F. ) // Standard Mode diff --git a/harbour/extras/gtwvw/tests/maximize.prg b/harbour/extras/gtwvw/tests/maximize.prg index 32e4475293..0f80e6c3b9 100644 --- a/harbour/extras/gtwvw/tests/maximize.prg +++ b/harbour/extras/gtwvw/tests/maximize.prg @@ -7,6 +7,8 @@ budyanto@centrin.net.id */ +#require "gtwvw" + #include "inkey.ch" // this dimension will be used when user presses RESTORE button @@ -19,6 +21,10 @@ PROCEDURE Main() LOCAL ch +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + // activate WVW_SIZE() s_lSizeReady := .T. diff --git a/harbour/extras/gtwvw/tests/prog0.prg b/harbour/extras/gtwvw/tests/prog0.prg index 00c99b032b..7cddcd501f 100644 --- a/harbour/extras/gtwvw/tests/prog0.prg +++ b/harbour/extras/gtwvw/tests/prog0.prg @@ -11,12 +11,9 @@ Note that this Clipper program uses ZNEWWINDOW() and ZREVWINDOW() to open and close every pseudo-windows respectively. - - Compiling and linking in Clipper: - clipper prog0 -m -n -w - blinker file prog0 */ +#require "gtwvw" #include "inkey.ch" #include "setcurs.ch" @@ -28,6 +25,10 @@ PROCEDURE Main() LOCAL i, j +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SET SCOREBOARD OFF SetColor( s_cStdColor ) SetCursor( SC_NONE ) diff --git a/harbour/extras/gtwvw/tests/prog1.prg b/harbour/extras/gtwvw/tests/prog1.prg index c4027660dd..ab885869d7 100644 --- a/harbour/extras/gtwvw/tests/prog1.prg +++ b/harbour/extras/gtwvw/tests/prog1.prg @@ -24,15 +24,9 @@ All changes are guarded by #ifdef, so this program is still compilable in Clipper resulting its original behaviour. - - Compiling and linking in Clipper: - clipper prog1 -m -n -w - blinker file prog1 - - Compiling and linking in xHarbour: - requires GTWVW */ +#require "gtwvw" #include "inkey.ch" #include "setcurs.ch" @@ -52,6 +46,11 @@ PROCEDURE Main() WVW_SetCodePage( , 255 ) #endif + +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SET SCOREBOARD OFF SetColor( s_cStdColor ) SetCursor( SC_NONE ) diff --git a/harbour/extras/gtwvw/tests/prog2.prg b/harbour/extras/gtwvw/tests/prog2.prg index 381401b904..3c3e3d2e56 100644 --- a/harbour/extras/gtwvw/tests/prog2.prg +++ b/harbour/extras/gtwvw/tests/prog2.prg @@ -11,16 +11,9 @@ pseudo-GUI objects onto each window, one by one. Notes: GTWVW now also has native Windows Controls. See other samples. - - Compiling and linking in Clipper: - clipper prog2 -m -n -w - blinker file prog2 - - See also - Compiling and linking in xHarbour: - requires GTWVW */ +#require "gtwvw" #include "inkey.ch" #include "setcurs.ch" @@ -48,6 +41,10 @@ PROCEDURE Main() WVW_SBcreate() #endif +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SET SCOREBOARD OFF SetColor( s_cStdColor ) SetCursor( SC_NONE ) diff --git a/harbour/extras/gtwvw/tests/wvwtest9.hbp b/harbour/extras/gtwvw/tests/wvwtest9.hbp index 23dd56b1bd..ed8766df09 100644 --- a/harbour/extras/gtwvw/tests/wvwtest9.hbp +++ b/harbour/extras/gtwvw/tests/wvwtest9.hbp @@ -4,5 +4,3 @@ wvwtest9.prg wvwtest9.rc - -wvwmouse.prg diff --git a/harbour/extras/gtwvw/tests/wvwtest9.prg b/harbour/extras/gtwvw/tests/wvwtest9.prg index abaf2a4ac7..3848393f2e 100644 --- a/harbour/extras/gtwvw/tests/wvwtest9.prg +++ b/harbour/extras/gtwvw/tests/wvwtest9.prg @@ -24,11 +24,11 @@ /* Compile/Link info: - This program requires WVWMOUSE.PRG. You may use 'hbmk2 wvwtest9.hbp' to build this program. - */ +#require "gtwvw" + #include "inkey.ch" #include "setcurs.ch" #include "hbgtinfo.ch" @@ -174,9 +174,14 @@ PROCEDURE Main() LOCAL oMouse LOCAL ch +#if defined( __HBSCRIPT__HBSHELL ) .AND. defined( __PLATFORM__WINDOWS ) + hbshell_gtSelect( "GTWVW" ) +#endif + SET( _SET_EVENTMASK, INKEY_ALL ) SET DATE ANSI + SET CENTURY ON SET SCOREBOARD OFF // wvw_SetPaintRefresh( 0 ) wvw_SetVertCaret( .T. ) @@ -1297,3 +1302,5 @@ PROCEDURE pause() Inkey( 0 ) RETURN + +SET PROCEDURE TO "_wvwmous.prg" diff --git a/harbour/extras/hbusb/hbusb.hbp b/harbour/extras/hbusb/hbusb.hbp index d5483aec2f..c18c620845 100644 --- a/harbour/extras/hbusb/hbusb.hbp +++ b/harbour/extras/hbusb/hbusb.hbp @@ -23,4 +23,7 @@ hbusb.hbx core.c +{hbdyn}hbusb.hbc + +$hb_pkg_dynlib.hbm $hb_pkg_install.hbm diff --git a/harbour/extras/hbusb/tests/test.prg b/harbour/extras/hbusb/tests/test.prg index e46355f30d..28779d50a1 100644 --- a/harbour/extras/hbusb/tests/test.prg +++ b/harbour/extras/hbusb/tests/test.prg @@ -2,6 +2,8 @@ * $Id$ */ +#require "hbusb" + #include "simpleio.ch" #include "hbusb.ch" diff --git a/harbour/extras/hbvpdf/hbvpdf.prg b/harbour/extras/hbvpdf/core.prg similarity index 100% rename from harbour/extras/hbvpdf/hbvpdf.prg rename to harbour/extras/hbvpdf/core.prg diff --git a/harbour/extras/hbvpdf/fonts.prg b/harbour/extras/hbvpdf/fonts.prg new file mode 100644 index 0000000000..ca4416d45c --- /dev/null +++ b/harbour/extras/hbvpdf/fonts.prg @@ -0,0 +1,7 @@ +/* + * $Id$ + */ + +FUNCTION __pdf_FontsDat() + +#pragma __streaminclude "fonts.dat" | RETURN %s diff --git a/harbour/extras/hbvpdf/hbvpdf.hbp b/harbour/extras/hbvpdf/hbvpdf.hbp index 180f9bd94b..9f34afc42a 100644 --- a/harbour/extras/hbvpdf/hbvpdf.hbp +++ b/harbour/extras/hbvpdf/hbvpdf.hbp @@ -13,7 +13,8 @@ hbvpdf.hbx -hbvpdf.prg -hbvpsup.prg +core.prg +fonts.prg +$hb_pkg_dynlib.hbm $hb_pkg_install.hbm diff --git a/harbour/extras/hbvpdf/hbvpsup.prg b/harbour/extras/hbvpdf/hbvpsup.prg deleted file mode 100644 index d85e8d7d8a..0000000000 --- a/harbour/extras/hbvpdf/hbvpsup.prg +++ /dev/null @@ -1,6 +0,0 @@ -/* - * $Id$ - */ - -FUNCTION __pdf_FontsDat() - #pragma __streaminclude "fonts.dat" | RETURN %s diff --git a/harbour/extras/hbvpdf/tests/pdf_demo.prg b/harbour/extras/hbvpdf/tests/pdf_demo.prg index 6df9d270aa..efcf77601d 100644 --- a/harbour/extras/hbvpdf/tests/pdf_demo.prg +++ b/harbour/extras/hbvpdf/tests/pdf_demo.prg @@ -2,6 +2,8 @@ * $Id$ */ +#require "hbvpdf" + #include "hbvpdf.ch" PROCEDURE Main() diff --git a/harbour/extras/hbxlsxml/hbxlsxml.hbp b/harbour/extras/hbxlsxml/hbxlsxml.hbp index 995b6dfd74..997865c09e 100644 --- a/harbour/extras/hbxlsxml/hbxlsxml.hbp +++ b/harbour/extras/hbxlsxml/hbxlsxml.hbp @@ -17,4 +17,5 @@ xlsxml.prg xlsxml_s.prg xlsxml_y.prg +$hb_pkg_dynlib.hbm $hb_pkg_install.hbm diff --git a/harbour/extras/hbxlsxml/tests/example.prg b/harbour/extras/hbxlsxml/tests/example.prg index 8e75dcfec8..c2ff49cf28 100644 --- a/harbour/extras/hbxlsxml/tests/example.prg +++ b/harbour/extras/hbxlsxml/tests/example.prg @@ -52,6 +52,8 @@ * */ +#require "hbxlsxml" + PROCEDURE Main() LOCAL oXml, oSheet, xarquivo := "example.xml" @@ -225,7 +227,7 @@ PROCEDURE Main() Date() - 50 - i, ; "5.102", ; StrZero( i, 5 ), ; - "NOME DO CLIENTE TESTE " + hb_ntos( i ) ), ; + "NOME DO CLIENTE TESTE " + hb_ntos( i ), ; "PR", ; i * 100, ; i * 100 * 0.90, ; diff --git a/harbour/extras/hbxlsxml/tests/example2.prg b/harbour/extras/hbxlsxml/tests/example2.prg index 28369f28d3..4e48cbe752 100644 --- a/harbour/extras/hbxlsxml/tests/example2.prg +++ b/harbour/extras/hbxlsxml/tests/example2.prg @@ -52,6 +52,8 @@ * */ +#require "hbxlsxml" + PROCEDURE Main() LOCAL xml, format1, format2, format3, format4 diff --git a/harbour/extras/hbxlsxml/tests/example3.prg b/harbour/extras/hbxlsxml/tests/example3.prg index 331cde6cae..6bf32994a8 100644 --- a/harbour/extras/hbxlsxml/tests/example3.prg +++ b/harbour/extras/hbxlsxml/tests/example3.prg @@ -52,6 +52,8 @@ * */ +#require "hbxlsxml" + PROCEDURE Main() LOCAL xml, sheet1, format4 diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 6c719d3d2d..63c5cef94c 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -10381,6 +10381,9 @@ STATIC FUNCTION ValueIsF( cString ) /* built-in files */ +STATIC FUNCTION hbmk_builtin_File_hb_pkg_dynlib() +#pragma __streaminclude "pkg_dynl.hbm" | RETURN %s + STATIC FUNCTION hbmk_builtin_File_hb_pkg_install() #pragma __streaminclude "pkg_inst.hbm" | RETURN %s @@ -10391,6 +10394,7 @@ STATIC FUNCTION hbmk_builtin_File_hb_pkg_install() STATIC FUNCTION hbmk_builtin_List() STATIC s_hHBM_BuildIn := { ; + _HBMK_BUILDIN_FILENAME_MARKER_ + "hb_pkg_dynlib.hbm" => {|| hbmk_builtin_File_hb_pkg_dynlib() } , ; _HBMK_BUILDIN_FILENAME_MARKER_ + "hb_pkg_install.hbm" => {|| hbmk_builtin_File_hb_pkg_install() } } RETURN s_hHBM_BuildIn diff --git a/harbour/utils/hbmk2/pkg_dynl.hbm b/harbour/utils/hbmk2/pkg_dynl.hbm new file mode 100644 index 0000000000..df2783d22f --- /dev/null +++ b/harbour/utils/hbmk2/pkg_dynl.hbm @@ -0,0 +1,42 @@ +# +# $Id$ +# + +# dynamic lib creation settings + +# Do not generate .hbx when building dynamic libs. +# It would cause core functions referenced from lib .prg +# code to appear in the .hbx. +{hbdyn}-hbx= + +{hbdyn}-shared +{hbdyn}-implib=lib/${hb_plat}/${hb_comp}${hb_build}/ +{hbdyn&hb_dynsuffix}-implib=${hb_outputname}${hb_dynsuffix} +{hbdyn&!hb_dynsuffix}-implib=${hb_outputname}_dll +{hbdyn&unix&!cygwin}-ln=${hb_dynprefix}${hb_outputname}${hb_dynext} +{hbdyn&unix&!darwin&!cygwin}-ln=${hb_dynprefix}${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor} +{hbdyn&unix&darwin}-ln=${hb_dynprefix}${hb_outputname}.${hb_major}.${hb_minor}${hb_dynext} +{hbdyn&(allwin|cygwin)}-lhbmaindllp +{hbdyn}-depimplib- + +"{hbdyn&darwin}-dflag=-install_name '${hb_dynprefix}${hb_outputname}${hb_dynext}'" +"{hbdyn&darwin}-dflag=-compatibility_version ${hb_major}.${hb_minor}" +"{hbdyn&darwin}-dflag=-current_version ${hb_major}.${hb_minor}.${hb_release}" +"{hbdyn&linux}-dflag=-Wl,-soname,${hb_dynprefix}${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor}" +"{hbdyn&sunos}-dflag=-Wl,-h,${hb_dynprefix}${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor}" + +# output name tweaks for dynamic libs +# NOTE: We're altering previously set output name value here +{hbdyn&unix&!darwin&!cygwin}-o${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor}.${hb_release} +{hbdyn&unix&darwin}-o${hb_outputname}.${hb_major}.${hb_minor}.${hb_release}${hb_dynext} +{hbdyn&unix&cygwin}-o${hb_outputname}${hb_dynext} +{hbdyn&!unix&allwin}-o${hb_outputname}-${hb_major}${hb_minor}${hb_dynsuffix} +{hbdyn&!unix&!allwin}-o${hb_outputname}${hb_dynsuffix} + +# output dir (in sync with GNU Make) +{hbdyn&unix&!cygwin}-olib/${hb_plat}/${hb_comp}${hb_build}/ +{hbdyn&(cygwin|!unix)}-obin/${hb_plat}/${hb_comp}${hb_build}/ + +# workdir (in sync with GNU Make) +{hbdyn&unix&!cygwin}-workdir=lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub} +{hbdyn&(cygwin|!unix)}-workdir=bin/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub} diff --git a/harbour/utils/hbmk2/pkg_inst.hbm b/harbour/utils/hbmk2/pkg_inst.hbm index 69d5fd692c..66eef67d76 100644 --- a/harbour/utils/hbmk2/pkg_inst.hbm +++ b/harbour/utils/hbmk2/pkg_inst.hbm @@ -21,16 +21,17 @@ # ----------------------------------------- # static library & dynamic library on *nix -{hblib|(hbdyn&unix)}-instpath=${HB_ADDONS}/${hb_name}/lib/${hb_plat}/${hb_comp}/ +{hblib}-instpath=${HB_ADDONS}/${hb_name}/lib/${hb_plat}/${hb_comp}/ # dynamic library on non-*nix -{hbdyn&!unix}-instpath=${HB_ADDONS}/${hb_name}/bin/${hb_plat}/${hb_comp}/ +{hbdyn&!unix}-instpath=${HB_BIN}/ +{hbdyn&unix}-instpath=${HB_LIB}/ # import library on non-*nix -instpath=implib:${HB_ADDONS}/${hb_name}/lib/${hb_plat}/${hb_comp}/ # dynamic libraries belonging to project dependencies -{hbdyn&(win|os2)&HB_INSTALL_3RDDYN='yes'}-instpath=depimplibsrc:${HB_ADDONS}/${hb_name}/bin/${hb_plat}/${hb_comp}/ +{hbdyn&(win|os2)&HB_INSTALL_3RDDYN='yes'}-instpath=depimplibsrc:${HB_BIN}/ # import libraries belonging to project dependencies {!(HB_INSTALL_IMPLIB='no')}-instpath=depimplib:${HB_ADDONS}/${hb_name}/lib/${hb_plat}/${hb_comp}/