diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 1bb162aae2..ca24605bda 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -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 diff --git a/harbour/Makefile b/harbour/Makefile index 498403ce4c..1b91f9eea8 100644 --- a/harbour/Makefile +++ b/harbour/Makefile @@ -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 \ diff --git a/harbour/config/global.mk b/harbour/config/global.mk index d9b8c1d9ee..cc888b5533 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -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) diff --git a/harbour/config/libbin.mk b/harbour/config/libbin.mk new file mode 100644 index 0000000000..f3d5b99eda --- /dev/null +++ b/harbour/config/libbin.mk @@ -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 diff --git a/harbour/config/rules.mk b/harbour/config/rules.mk index a19e4af5e1..6ce95bc669 100644 --- a/harbour/config/rules.mk +++ b/harbour/config/rules.mk @@ -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),) diff --git a/harbour/config/wce/mingwarm.mk b/harbour/config/wce/mingwarm.mk index 6bf14b59d4..9f46a66d70 100644 --- a/harbour/config/wce/mingwarm.mk +++ b/harbour/config/wce/mingwarm.mk @@ -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) diff --git a/harbour/config/wce/msvcarm.mk b/harbour/config/wce/msvcarm.mk index 1886c1e955..1c68a7a3b3 100644 --- a/harbour/config/wce/msvcarm.mk +++ b/harbour/config/wce/msvcarm.mk @@ -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 diff --git a/harbour/config/wce/poccarm.mk b/harbour/config/wce/poccarm.mk index 78ee405f15..a6f20c8f16 100644 --- a/harbour/config/wce/poccarm.mk +++ b/harbour/config/wce/poccarm.mk @@ -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 diff --git a/harbour/config/win/bcc.mk b/harbour/config/win/bcc.mk index 8275653c97..9f2c91b3bb 100644 --- a/harbour/config/win/bcc.mk +++ b/harbour/config/win/bcc.mk @@ -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 diff --git a/harbour/config/win/global.mk b/harbour/config/win/global.mk index 7db98eef28..2f46916627 100644 --- a/harbour/config/win/global.mk +++ b/harbour/config/win/global.mk @@ -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 diff --git a/harbour/config/win/icc.mk b/harbour/config/win/icc.mk index d6e05b70fd..fe8d79a33a 100644 --- a/harbour/config/win/icc.mk +++ b/harbour/config/win/icc.mk @@ -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) diff --git a/harbour/config/win/mingw.mk b/harbour/config/win/mingw.mk index b21057b0f5..dde6e96344 100644 --- a/harbour/config/win/mingw.mk +++ b/harbour/config/win/mingw.mk @@ -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 diff --git a/harbour/config/win/msvc.mk b/harbour/config/win/msvc.mk index 8ad0d34954..08ffec8f92 100644 --- a/harbour/config/win/msvc.mk +++ b/harbour/config/win/msvc.mk @@ -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) diff --git a/harbour/config/win/pocc.mk b/harbour/config/win/pocc.mk index 6103a0d7a9..e159530157 100644 --- a/harbour/config/win/pocc.mk +++ b/harbour/config/win/pocc.mk @@ -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 diff --git a/harbour/config/win/xcc.mk b/harbour/config/win/xcc.mk index f9094036d5..1f1b77bcdd 100644 --- a/harbour/config/win/xcc.mk +++ b/harbour/config/win/xcc.mk @@ -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) diff --git a/harbour/contrib/hbpost.hbm b/harbour/contrib/hbpost.hbm index bfef8d960b..5d6fed24e0 100644 --- a/harbour/contrib/hbpost.hbm +++ b/harbour/contrib/hbpost.hbm @@ -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 diff --git a/harbour/contrib/make.hbs b/harbour/contrib/make.hbs index 4ecde89726..7f474ed37a 100755 --- a/harbour/contrib/make.hbs +++ b/harbour/contrib/make.hbs @@ -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 ) diff --git a/harbour/lib/3rd/win/bcc/Makefile b/harbour/lib/3rd/win/bcc/Makefile new file mode 100644 index 0000000000..2df7717a8c --- /dev/null +++ b/harbour/lib/3rd/win/bcc/Makefile @@ -0,0 +1,11 @@ +# +# $Id$ +# + +ROOT := ../../../../ + +LIB_BINS := \ + unicows.lib \ + unicows_license.txt + +include $(TOP)$(ROOT)config/libbin.mk diff --git a/harbour/lib/3rd/win/bcc/unicows.lib b/harbour/lib/3rd/win/bcc/unicows.lib new file mode 100644 index 0000000000..7f29fc1b35 Binary files /dev/null and b/harbour/lib/3rd/win/bcc/unicows.lib differ diff --git a/harbour/lib/3rd/win/bcc/unicows_license.txt b/harbour/lib/3rd/win/bcc/unicows_license.txt new file mode 100644 index 0000000000..41b545d5e5 --- /dev/null +++ b/harbour/lib/3rd/win/bcc/unicows_license.txt @@ -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. diff --git a/harbour/lib/3rd/win/mingw/Makefile b/harbour/lib/3rd/win/mingw/Makefile new file mode 100644 index 0000000000..d1b0964884 --- /dev/null +++ b/harbour/lib/3rd/win/mingw/Makefile @@ -0,0 +1,11 @@ +# +# $Id$ +# + +ROOT := ../../../../ + +LIB_BINS := \ + libunicows.a \ + libunicows_license.txt + +include $(TOP)$(ROOT)config/libbin.mk diff --git a/harbour/lib/3rd/win/mingw/libunicows.a b/harbour/lib/3rd/win/mingw/libunicows.a new file mode 100644 index 0000000000..f551561736 Binary files /dev/null and b/harbour/lib/3rd/win/mingw/libunicows.a differ diff --git a/harbour/lib/3rd/win/mingw/libunicows_license.txt b/harbour/lib/3rd/win/mingw/libunicows_license.txt new file mode 100644 index 0000000000..41b545d5e5 --- /dev/null +++ b/harbour/lib/3rd/win/mingw/libunicows_license.txt @@ -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. diff --git a/harbour/package/mpkg_win_nightly.bat b/harbour/package/mpkg_win_nightly.bat index 7fd7e9631a..fdb2b8aa48 100644 --- a/harbour/package/mpkg_win_nightly.bat +++ b/harbour/package/mpkg_win_nightly.bat @@ -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 diff --git a/harbour/package/winuni/mpkg_win_uni.bat b/harbour/package/winuni/mpkg_win_uni.bat index 0c8ca63e24..a4e3410d52 100644 --- a/harbour/package/winuni/mpkg_win_uni.bat +++ b/harbour/package/winuni/mpkg_win_uni.bat @@ -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 diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index e7aa0f3cd6..4eb40b20da 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -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