2012-03-31 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)

* utils/hbmk2/hbmk2.prg
    + will now add lib/3rd dir to the link commands, so
      unicows lib will be found in uninstalled Harbour SVN
      source tree.

  * contrib/make.hbs
  * contrib/hbpost.hbm
    + automatically enable unicows support for contribs, if available.
    - deleted support for undocumented __HB_BUILD_WINUNI envvar

  * config/global.mk
  * config/rules.mk
    - deleted support for undocumented __HB_BUILD_WINUNI envvar

  * package/winuni/mpkg_win_uni.bat
  * package/mpkg_win_nightly.bat
    - deleted special support for unicows libs for nightly
      and official releases, along with HB_DIR_UNICOWS envvar.
      Now these libs are included in all builds.

  * config/win/global.mk
    + automatically enable unicows support for core, if available.

  * config/win/xcc.mk
  * config/win/icc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/msvc.mk
    + added support for SYSLIBPATHS. (used by unicows support)
    ! fixed bcc dynlib link command missing libpaths.
    ; NOTE: watcom unicows support is missing, as it needs
            special tricks due to missing separate libpath option
            in this compiler/linker.

  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
    * synced with config/win files

  + config/libbin.mk
    + added rule to install pre-built binary libs.
      (for unicows libs)

  * Makefile
  + lib/3rd
  + lib/3rd/win
  + lib/3rd/win/mingw
  + lib/3rd/win/mingw/Makefile
  + lib/3rd/win/mingw/libunicows.a
  + lib/3rd/win/mingw/libunicows_license.txt
  + lib/3rd/win/bcc
  + lib/3rd/win/bcc/unicows_license.txt
  + lib/3rd/win/bcc/unicows.lib
  + lib/3rd/win/bcc/Makefile
    + added locally hosted unicows runtime/implibs from:
      http://libunicows.sourceforge.net/ by author Vaclav Slavik.
      With these libs, it's possible to use UNICODE builds
      with both MS unicows.dll and opencows .dll on legacy
      Windows-system (Win9x).
      These libs will be installed to Harbour core lib directory,
      and also used from lib/3rd directory, if they are available.
      I've uploaed mingw and bcc libs because these are used
      nearly exclusively by users, but they are also available
      for older msvc, watcom, dmc and lcc compilers. I don't
      think it's worth the extra size to support Win9x using
      these legacy compilers, anyhow they can be added easily
      if needed (except watcom, which requires more work).

  ; These changes mean three things:
    1. Harbour now has only one build mode on Windows: UNICODE
       This will greatly simplify coding and testing and will
       allow to focus much better on what's important. It also
       allows to drop lots of dual code dealing with separate
       UNICODE and non-UNICODE branches.
    2. Harbour default builds will now run on Win9x (currently
       when using mingw or bcc compilers), though UNICOWS.DLL
       is now required. See INSTALL how to get this free .dll
       from MS. This also means that Harbour can now theoretically
       by built on Win9x systems (I didn't try).
    3. Harbour users can create UNICODE builds compatible with
       Win9x, by simply adding -lunicows to their .hbp projects.
       No extra installation is required.
This commit is contained in:
Viktor Szakats
2012-03-31 16:43:33 +00:00
parent c2b6191f92
commit 47776af691
26 changed files with 209 additions and 37 deletions

View File

@@ -16,6 +16,91 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-03-31 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
+ will now add lib/3rd dir to the link commands, so
unicows lib will be found in uninstalled Harbour SVN
source tree.
* contrib/make.hbs
* contrib/hbpost.hbm
+ automatically enable unicows support for contribs, if available.
- deleted support for undocumented __HB_BUILD_WINUNI envvar
* config/global.mk
* config/rules.mk
- deleted support for undocumented __HB_BUILD_WINUNI envvar
* package/winuni/mpkg_win_uni.bat
* package/mpkg_win_nightly.bat
- deleted special support for unicows libs for nightly
and official releases, along with HB_DIR_UNICOWS envvar.
Now these libs are included in all builds.
* config/win/global.mk
+ automatically enable unicows support for core, if available.
* config/win/xcc.mk
* config/win/icc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/msvc.mk
+ added support for SYSLIBPATHS. (used by unicows support)
! fixed bcc dynlib link command missing libpaths.
; NOTE: watcom unicows support is missing, as it needs
special tricks due to missing separate libpath option
in this compiler/linker.
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* synced with config/win files
+ config/libbin.mk
+ added rule to install pre-built binary libs.
(for unicows libs)
* Makefile
+ lib/3rd
+ lib/3rd/win
+ lib/3rd/win/mingw
+ lib/3rd/win/mingw/Makefile
+ lib/3rd/win/mingw/libunicows.a
+ lib/3rd/win/mingw/libunicows_license.txt
+ lib/3rd/win/bcc
+ lib/3rd/win/bcc/unicows_license.txt
+ lib/3rd/win/bcc/unicows.lib
+ lib/3rd/win/bcc/Makefile
+ added locally hosted unicows runtime/implibs from:
http://libunicows.sourceforge.net/ by author Vaclav Slavik.
With these libs, it's possible to use UNICODE builds
with both MS unicows.dll and opencows .dll on legacy
Windows-system (Win9x).
These libs will be installed to Harbour core lib directory,
and also used from lib/3rd directory, if they are available.
I've uploaed mingw and bcc libs because these are used
nearly exclusively by users, but they are also available
for older msvc, watcom, dmc and lcc compilers. I don't
think it's worth the extra size to support Win9x using
these legacy compilers, anyhow they can be added easily
if needed (except watcom, which requires more work).
; These changes mean three things:
1. Harbour now has only one build mode on Windows: UNICODE
This will greatly simplify coding and testing and will
allow to focus much better on what's important. It also
allows to drop lots of dual code dealing with separate
UNICODE and non-UNICODE branches.
2. Harbour default builds will now run on Win9x (currently
when using mingw or bcc compilers), though UNICOWS.DLL
is now required. See INSTALL how to get this free .dll
from MS. This also means that Harbour can now theoretically
by built on Win9x systems (I didn't try).
3. Harbour users can create UNICODE builds compatible with
Win9x, by simply adding -lunicows to their .hbp projects.
No extra installation is required.
2012-03-31 01:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* package/winuni/mpkg_win_uni.bat
! typo in mingw unicows license filename

View File

@@ -6,9 +6,15 @@ ROOT := ./
include $(ROOT)config/global.mk
DIRS :=
ifneq ($(wildcard lib/3rd/$(PLAT_COMP)),)
DIRS += lib/3rd/$(PLAT_COMP)
endif
ifeq ($(HB_BUILD_PARTS),compiler)
DIRS := \
DIRS += \
src \
utils{src} \
@@ -23,7 +29,7 @@ else
endif
endif
DIRS := \
DIRS += \
doc \
include \
src \

View File

@@ -259,9 +259,6 @@ ifeq ($(HB_INIT_DONE),)
ifneq ($(HB_BUILD_OPTIM),)
$(info ! HB_BUILD_OPTIM: $(HB_BUILD_OPTIM))
endif
ifneq ($(__HB_BUILD_WINUNI),)
$(info ! __HB_BUILD_WINUNI: $(__HB_BUILD_WINUNI))
endif
ifneq ($(HB_BUILD_MODE),)
$(info ! HB_BUILD_MODE: $(HB_BUILD_MODE))
endif
@@ -381,12 +378,6 @@ ifeq ($(HB_HOST_PLAT),)
HB_HOST_PLAT := win
ifeq ($(OS),)
HB_HOST_PLAT_WIN9X := yes
ifeq ($(HB_HOST_BIN),)
ifneq ($(__HB_BUILD_WINUNI),no)
export __HB_BUILD_WINUNI := no
$(info ! Win9x/ME host detected: Windows UNICODE build mode forcibly turned off)
endif
endif
endif
else
ifeq ($(HB_SHELL),dos)

28
harbour/config/libbin.mk Normal file
View File

@@ -0,0 +1,28 @@
#
# $Id$
#
include $(TOP)$(ROOT)config/global.mk
ifneq ($(HB_PLATFORM),)
ifneq ($(HB_COMPILER),)
first::
ifeq ($(HB_INSTALL_LIB),)
install::
else
INSTALL_FILES := $(LIB_BINS)
INSTALL_DIR := $(HB_INSTALL_LIB)
include $(TOP)$(ROOT)config/instsh.mk
INSTALL_RULE_LIB_BINS := $(INSTALL_RULE)
ifneq ($(INSTALL_RULE_LIB_BINS),)
install:: first
$(INSTALL_RULE_LIB_BINS)
endif
endif
endif
endif

View File

@@ -16,9 +16,7 @@ endif
# Handle it here, so that it can be disabled for individual libs
ifeq ($(HB_PLATFORM),win)
ifneq ($(__HB_BUILD_WINUNI),no)
HB_CFLAGS += -DUNICODE
endif
HB_CFLAGS += -DUNICODE
endif
ifeq ($(HB_DYN_COPT),)

View File

@@ -54,7 +54,7 @@ endif
LD := $(CC)
LD_OUT := -o$(subst x,x, )
LIBPATHS := -L$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-L$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib))
LDFLAGS += $(LIBPATHS)

View File

@@ -91,7 +91,7 @@ LD_OUT := -out:
SYSLIBS += corelibc
LIBPATHS := -libpath:$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-libpath:$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += -nologo -subsystem:windowsce -nodefaultlib:oldnames.lib -nodefaultlib:kernel32.lib

View File

@@ -44,7 +44,7 @@ LD_OUT := -out:
SYSLIBS += corelibc
LIBPATHS := -libpath:$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-libpath:$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += -subsystem:windows

View File

@@ -62,7 +62,7 @@ RC := brcc32.exe
RC_OUT := -fo
LD := ilink32.exe
LIBPATHS := $(subst /,$(BACKSLASH),-L"$(LIB_DIR)")
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),$(subst /,$(BACKSLASH),-L"$(dir)"))
LDFLAGS += $(LIBPATHS) -Gn -Tpe
LD_RULE = $(LD) $(LDFLAGS) $(HB_LDFLAGS) $(HB_USER_LDFLAGS) c0x32.obj $(filter-out %$(RES_EXT),$(^F)), "$(subst /,$(BACKSLASH),$(BIN_DIR)/$@)", nul, $(LDLIBS) cw32mt import32,, $(filter %$(RES_EXT),$(^F)) $(LDSTRIP)
@@ -104,7 +104,7 @@ ifneq ($(HB_SHELL),sh)
endif
DY := ilink32.exe
DFLAGS += -q -Gn -C -aa -Tpd -Gi -x
DFLAGS += -q -Gn -C -aa -Tpd -Gi -x $(LIBPATHS)
DY_OUT :=
# NOTE: .lib extension not added to keep line short enough to work on Win9x/ME
DLIBS := $(HB_USER_LIBS) $(LIBS) $(SYSLIBS) cw32mt import32

View File

@@ -17,8 +17,9 @@ HB_GT_LIBS += gtwvt gtgui gtwin
# advapi32: GetUserName()
# gdi32: gtwvt
# must come after user libs and before Windows system libs
ifeq ($(__HB_BUILD_WINUNI),unicows)
# unicows lib must come after user libs and before Windows system libs
ifneq ($(wildcard $(TOP)$(ROOT)lib/3rd/$(PLAT_COMP)),)
SYSLIBPATHS += $(TOP)$(ROOT)lib/3rd/$(PLAT_COMP)
SYSLIBS += unicows
endif

View File

@@ -44,7 +44,7 @@ endif
LD := xilink.exe
LD_OUT := -out:
LIBPATHS := -libpath:$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-libpath:$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += -nologo $(LIBPATHS)

View File

@@ -89,7 +89,7 @@ endif
LD := $(CC)
LD_OUT := -o$(subst x,x, )
LIBPATHS := -L$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-L$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib))
# Add the standard C entry

View File

@@ -77,7 +77,7 @@ endif
LD := link.exe
LD_OUT := -out:
LIBPATHS := -libpath:$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-libpath:$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += -nologo -subsystem:console $(LIBPATHS)

View File

@@ -41,7 +41,7 @@ RC_OUT := -fo$(subst x,x, )
LD := polink.exe
LD_OUT := -out:
LIBPATHS := -libpath:$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-libpath:$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += -subsystem:console

View File

@@ -45,7 +45,7 @@ RC_OUT := -fo$(subst x,x, )
LD := xLink.exe
LD_OUT := -out:
LIBPATHS := -libpath:$(LIB_DIR)
LIBPATHS := $(foreach dir,$(LIB_DIR) $(SYSLIBPATHS),-libpath:$(dir))
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += $(LIBPATHS)

View File

@@ -28,8 +28,8 @@
{win&allmsvc&HB_COMP_VER>'1400'}-dflag=-nxcompat
{win&allmsvc&HB_COMP_VER>'1400'}-dflag=-dynamicbase
{allwin&!(__HB_BUILD_WINUNI='no')}-winuni
{allwin&(__HB_BUILD_WINUNI='unicows')}-lunicows
{allwin}-winuni
{allwin&_HB_UNICOWS_AVAILABLE}-lunicows
{HB_BUILD_DEBUG}-prgflag=-l-
{HB_BUILD_DEBUG}-debug

View File

@@ -347,6 +347,7 @@ PROCEDURE GNUMake( aParams, hProjectList )
hb_setenv( "_HB_INSTALL_MAN", GetEnv( "HB_INSTALL_MAN" ) )
hb_setenv( "_HB_INSTALL_ETC", GetEnv( "HB_INSTALL_ETC" ) )
hb_setenv( "_HB_INSTALL_CONTRIB", GetEnv( "HB_INSTALL_CONTRIB" ) )
hb_setenv( "_HB_UNICOWS_AVAILABLE", iif( hb_DirExists( s_cRoot + "lib" + hb_ps() + "3rd" + hb_ps() + GetEnv( "HB_PLATFORM" ) + hb_ps() + GetEnv( "HB_COMPILER" ) ), "yes", "" ) )
/* Override hbmk2 autodetection. WARNING: Must be in sync with global.mk logic */
hb_setenv( "HB_INSTALL_PREFIX", s_cRoot )

View File

@@ -0,0 +1,11 @@
#
# $Id$
#
ROOT := ../../../../
LIB_BINS := \
unicows.lib \
unicows_license.txt
include $(TOP)$(ROOT)config/libbin.mk

Binary file not shown.

View File

@@ -0,0 +1,18 @@
Copyright (c) 2001-2008 Vaclav Slavik
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,11 @@
#
# $Id$
#
ROOT := ../../../../
LIB_BINS := \
libunicows.a \
libunicows_license.txt
include $(TOP)$(ROOT)config/libbin.mk

Binary file not shown.

View File

@@ -0,0 +1,18 @@
Copyright (c) 2001-2008 Vaclav Slavik
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -63,7 +63,6 @@ set HB_DIR_7Z=%_HB_DIR_TOOL%
set HB_DIR_UPX=%_HB_DIR_TOOL%upx\
rem set HB_DIR_BCC_IMPLIB=%_HB_DIR_COMP%bcc\Bin\
set HB_DIR_MINGW=%_HB_DIR_COMP%mingw
set HB_DIR_UNICOWS=%_HB_DIR_3RD%unicows\
set HB_WITH_ADS=%_HB_DIR_3RD%ads\acesdk
set HB_WITH_ALLEGRO=%_HB_DIR_3RD%allegro\include

View File

@@ -9,7 +9,7 @@ rem Copyright 2009-2011 Viktor Szakats (harbour syenar.net)
rem See COPYING for licensing terms.
rem ---------------------------------------------------------------
rem - Adjust target dir, mingw dirs, set HB_DIR_UPX, HB_DIR_7Z, HB_DIR_MINGW, HB_DIR_UNICOWS,
rem - Adjust target dir, mingw dirs, set HB_DIR_UPX, HB_DIR_7Z, HB_DIR_MINGW,
rem create required packages beforehand.
rem - Requires BCC in PATH or HB_DIR_BCC_IMPLIB (for implib).
rem - Run this from vanilla official source tree only.
@@ -99,13 +99,6 @@ xcopy /y "%HB_WITH_QT%\..\lib\libQtSql4.a"
copy /y "%HB_WITH_QT%\..\LICENSE.LGPL" %HB_ABSROOT%bin\Qt_LICENSE_LGPL.txt
copy /y "%HB_WITH_QT%\..\LGPL_EXCEPTION.txt" %HB_ABSROOT%bin\Qt_LICENSE_LGPL_EXCEPTION.txt
if exist %HB_ABSROOT%lib\win\mingw\ xcopy /y "%HB_DIR_UNICOWS%\mingw\libunicows.a" %HB_ABSROOT%lib\win\mingw\
if exist %HB_ABSROOT%lib\win\mingw\ xcopy /y "%HB_DIR_UNICOWS%\mingw\libunicows_license.txt" %HB_ABSROOT%lib\win\mingw\
if exist %HB_ABSROOT%lib\win\watcom\ xcopy /y "%HB_DIR_UNICOWS%\watcom\unicows.lib" %HB_ABSROOT%lib\win\watcom\
if exist %HB_ABSROOT%lib\win\watcom\ xcopy /y "%HB_DIR_UNICOWS%\watcom\unicows_license.txt" %HB_ABSROOT%lib\win\watcom\
if exist %HB_ABSROOT%lib\win\bcc\ xcopy /y "%HB_DIR_UNICOWS%\bcc\unicows.lib" %HB_ABSROOT%lib\win\bcc\
if exist %HB_ABSROOT%lib\win\bcc\ xcopy /y "%HB_DIR_UNICOWS%\bcc\unicows_license.txt" %HB_ABSROOT%lib\win\bcc\
rem ; Create unified installer
pushd

View File

@@ -786,6 +786,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
LOCAL l_cHB_INSTALL_PREFIX
LOCAL l_cHB_INSTALL_BIN
LOCAL l_cHB_INSTALL_LIB
LOCAL l_cHB_INSTALL_LIB3RD
LOCAL l_cHB_INSTALL_DYN
LOCAL l_cHB_INSTALL_INC
LOCAL l_cHB_INSTALL_ADD
@@ -1917,6 +1918,15 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
l_cHB_INSTALL_LIB := hb_PathNormalize( hb_DirSepAdd( l_cHB_INSTALL_PREFIX ) + "lib" )
ENDIF
ENDIF
IF Empty( l_cHB_INSTALL_LIB3RD )
IF hbmk[ _HBMK_cPLAT ] == "win" .AND. ;
hb_DirExists( tmp := hb_PathNormalize( hb_DirSepAdd( l_cHB_INSTALL_PREFIX ) ) + "lib" +;
hb_ps() + "3rd" +;
hb_ps() + hbmk[ _HBMK_cPLAT ] +;
hb_ps() + hbmk[ _HBMK_cCOMP ] )
l_cHB_INSTALL_LIB3RD := tmp
ENDIF
ENDIF
IF Empty( l_cHB_INSTALL_INC )
l_cHB_INSTALL_INC := hb_PathNormalize( hb_DirSepAdd( l_cHB_INSTALL_PREFIX ) + "include" )
ENDIF
@@ -1951,6 +1961,8 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
/* Add main Harbour library dir to lib path list */
AAddNotEmpty( hbmk[ _HBMK_aLIBPATH ], l_cHB_INSTALL_LIB )
/* Locally hosted 3rd party binary libraries */
AAddNotEmpty( hbmk[ _HBMK_aLIBPATH ], l_cHB_INSTALL_LIB3RD )
IF ! Empty( l_cHB_INSTALL_DYN ) .AND. !( l_cHB_INSTALL_DYN == l_cHB_INSTALL_LIB )
AAddNotEmpty( hbmk[ _HBMK_aLIBPATH ], l_cHB_INSTALL_DYN )
ENDIF