diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 69b38c46f2..9644f5e6e2 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,37 @@ The license applies to all entries newer than 2009-04-28. */ +2010-11-07 13:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + * Changed the way target selection (-hblib, -hbdyn*, -hbexe, etc) + options are handled. So far the last one specified remained + active, now the first one specified will stay active. + IOW: 'hbmk2 -hbdyn mylib.hbp' will result in dynamic lib target, + even if mylib.hbp contains -hblib option. + ; Beware of some regressions or incompatibility with certain + build configs. + + * contrib/hbpost.hbm + * contrib/hbpre.hbm + * Moved -hbdyn option to hbpre.hbm. This makes it possible + for .hbp files to act differently when built as dynamic lib. + ; Such will be required for + + * external/libhpdf/libhpdf.hbp + * Cleared TOFIX after above changes. + + * contrib/hbplist + * contrib/hbmzip/hbmzip.hbp + * contrib/hbmzip/hbmzip.hbc + - external/minizip + + contrib/hbmzip/3rd + + contrib/hbmzip/3rd/minizip + * contrib/hbmzip/3rd/minizip/minizip.hbc + * contrib/hbmzip/3rd/minizip/minizip.hbp + - contrib/hbmzip/3rd/minizip/Makefile + * Moved minizip dir under the contrib that uses it. + ; Please test. + 2010-11-07 12:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * external/sqlite3/sqlite3.hbp * external/sqlite3/Makefile diff --git a/harbour/external/minizip/crypt.h b/harbour/contrib/hbmzip/3rd/minizip/crypt.h similarity index 100% rename from harbour/external/minizip/crypt.h rename to harbour/contrib/hbmzip/3rd/minizip/crypt.h diff --git a/harbour/external/minizip/ioapi.c b/harbour/contrib/hbmzip/3rd/minizip/ioapi.c similarity index 100% rename from harbour/external/minizip/ioapi.c rename to harbour/contrib/hbmzip/3rd/minizip/ioapi.c diff --git a/harbour/external/minizip/ioapi.h b/harbour/contrib/hbmzip/3rd/minizip/ioapi.h similarity index 100% rename from harbour/external/minizip/ioapi.h rename to harbour/contrib/hbmzip/3rd/minizip/ioapi.h diff --git a/harbour/external/minizip/minizip.dif b/harbour/contrib/hbmzip/3rd/minizip/minizip.dif similarity index 100% rename from harbour/external/minizip/minizip.dif rename to harbour/contrib/hbmzip/3rd/minizip/minizip.dif diff --git a/harbour/contrib/hbmzip/3rd/minizip/minizip.hbc b/harbour/contrib/hbmzip/3rd/minizip/minizip.hbc new file mode 100644 index 0000000000..86f6254c46 --- /dev/null +++ b/harbour/contrib/hbmzip/3rd/minizip/minizip.hbc @@ -0,0 +1,5 @@ +# +# $Id$ +# + +libs=${hb_name}${__HB_DYN__} diff --git a/harbour/external/minizip/minizip.hbp b/harbour/contrib/hbmzip/3rd/minizip/minizip.hbp similarity index 92% rename from harbour/external/minizip/minizip.hbp rename to harbour/contrib/hbmzip/3rd/minizip/minizip.hbp index f0c17300c9..d24b602f09 100644 --- a/harbour/external/minizip/minizip.hbp +++ b/harbour/contrib/hbmzip/3rd/minizip/minizip.hbp @@ -20,7 +20,7 @@ unzip.c -depincpath=zlib:/usr/include -depincpath=zlib:/usr/local/include -depincpath=zlib:/boot/develop/headers/3rdparty --depincpathlocal=zlib:../../external/zlib +-depincpathlocal=zlib:../../../../external/zlib # ORIGIN http://www.winimage.com/zLibDll/minizip.html # VER 1.1 diff --git a/harbour/external/minizip/unzip.c b/harbour/contrib/hbmzip/3rd/minizip/unzip.c similarity index 100% rename from harbour/external/minizip/unzip.c rename to harbour/contrib/hbmzip/3rd/minizip/unzip.c diff --git a/harbour/external/minizip/unzip.h b/harbour/contrib/hbmzip/3rd/minizip/unzip.h similarity index 100% rename from harbour/external/minizip/unzip.h rename to harbour/contrib/hbmzip/3rd/minizip/unzip.h diff --git a/harbour/external/minizip/zip.c b/harbour/contrib/hbmzip/3rd/minizip/zip.c similarity index 100% rename from harbour/external/minizip/zip.c rename to harbour/contrib/hbmzip/3rd/minizip/zip.c diff --git a/harbour/external/minizip/zip.h b/harbour/contrib/hbmzip/3rd/minizip/zip.h similarity index 100% rename from harbour/external/minizip/zip.h rename to harbour/contrib/hbmzip/3rd/minizip/zip.h diff --git a/harbour/contrib/hbmzip/hbmzip.hbc b/harbour/contrib/hbmzip/hbmzip.hbc index 0ee4a7b829..310856864a 100644 --- a/harbour/contrib/hbmzip/hbmzip.hbc +++ b/harbour/contrib/hbmzip/hbmzip.hbc @@ -5,4 +5,4 @@ incpaths=. libs=${hb_name}${__HB_DYN__} -libs=minizip +libs=3rd/minizip/minizip.hbc diff --git a/harbour/contrib/hbmzip/hbmzip.hbp b/harbour/contrib/hbmzip/hbmzip.hbp index fe61aaa5b3..4820f84277 100644 --- a/harbour/contrib/hbmzip/hbmzip.hbp +++ b/harbour/contrib/hbmzip/hbmzip.hbp @@ -14,7 +14,7 @@ -depcontrol=minizip:${HB_WITH_MINIZIP} -depincpath=minizip:/usr/include -depincpath=minizip:/usr/local/include --depincpathlocal=minizip:../../external/minizip +-depincpathlocal=minizip:3rd/minizip # This is a dependency of minizip -depkeyhead=zlib:zlib.h @@ -28,3 +28,5 @@ -instfile=inc:hbmzip.ch hbmzip.c + +3rd/minizip/minizip.hbc diff --git a/harbour/contrib/hbplist b/harbour/contrib/hbplist index 01560093ff..f0dd350a6d 100644 --- a/harbour/contrib/hbplist +++ b/harbour/contrib/hbplist @@ -13,7 +13,7 @@ hbcomm/hbcomm.hbp hbct/hbct.hbp hbcups/hbcups.hbp hbcurl/hbcurl.hbp -hbexpat/hbexpat.hbp # uses: expat +hbexpat/hbexpat.hbp # uses: expat (locally hosted) hbfbird/hbfbird.hbp hbfimage/hbfimage.hbp hbfoxpro/hbfoxpro.hbp @@ -25,7 +25,7 @@ hbide/hbide.hbp hbmemio/hbmemio.hbp hbmisc/hbmisc.hbp hbmysql/hbmysql.hbp -hbmzip/hbmzip.hbp # uses: minizip (external) +hbmzip/hbmzip.hbp # uses: minizip (locally hosted) hbnetio/hbnetio.hbp hbnetio/utils/hbnetio.hbp hbnf/hbnf.hbp diff --git a/harbour/contrib/hbpost.hbm b/harbour/contrib/hbpost.hbm index 3fcc4cafce..58c93b9283 100644 --- a/harbour/contrib/hbpost.hbm +++ b/harbour/contrib/hbpost.hbm @@ -38,7 +38,6 @@ {(hbdyn|hbexe)&HB_BUILD_SHARED='yes'&HB_SYSLOC='yes'}-fullshared # dynamic lib creation settings -{_HB_BUILD_LIBDYN}-hbdyn {_HB_BUILD_LIBDYN}-shared {_HB_BUILD_LIBDYN}-implib=../lib/${hb_plat}/${hb_comp}${hb_build}/ {_HB_BUILD_LIBDYN&hb_dynsuffix}-implib=${hb_outputname}${hb_dynsuffix} diff --git a/harbour/contrib/hbpre.hbm b/harbour/contrib/hbpre.hbm index ff38576acf..46b8e2f51f 100644 --- a/harbour/contrib/hbpre.hbm +++ b/harbour/contrib/hbpre.hbm @@ -15,4 +15,6 @@ {(HB_BUILD_MODE='cpp')|(!HB_BUILD_MODE&allmsvc)}-cpp=yes {HB_BUILD_MODE='c'}-cpp=no +{_HB_BUILD_LIBDYN}-hbdyn + -warn=yes diff --git a/harbour/external/libhpdf/libhpdf.hbp b/harbour/external/libhpdf/libhpdf.hbp index e9da2acda8..34f652d1dc 100644 --- a/harbour/external/libhpdf/libhpdf.hbp +++ b/harbour/external/libhpdf/libhpdf.hbp @@ -30,7 +30,6 @@ # Suppress deprecated warnings until libharu gets updated for latest libpng -cflag=-DPNG_NO_PEDANTIC_WARNINGS -# TOFIX: This will never kick in as -hblib is fixed in this file -cflag=-DHPDF_DLL_MAKE{hbdyn} -cflag=-U__COREDLL__{mingwarm} diff --git a/harbour/external/minizip/Makefile b/harbour/external/minizip/Makefile deleted file mode 100644 index 21849788eb..0000000000 --- a/harbour/external/minizip/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# -# $Id$ -# - -ROOT := ../../ - -include $(TOP)$(ROOT)config/global.mk - -LIBNAME := minizip - -HB_BUILD_WARN := no -HB_BUILD_MODE := c - -C_SOURCES := \ - ioapi.c \ - zip.c \ - unzip.c \ - -ifneq ($(HB_HAS_ZLIB),) - HB_CFLAGS += -DHB_HAS_ZLIB $(foreach d,$(HB_HAS_ZLIB),-I$(d)) - - include $(TOP)$(ROOT)config/lib.mk -else - HB_SKIP_REASON := component not found - include $(TOP)$(ROOT)config/none.mk -endif - -# ORIGIN http://www.winimage.com/zLibDll/minizip.html -# VER 1.1 -# URL http://www.winimage.com/zLibDll/unzip11.zip -# DIFF minizip.dif -# -# MAP crypt.h -# MAP ioapi.c -# MAP ioapi.h -# MAP unzip.c -# MAP unzip.h -# MAP zip.c -# MAP zip.h diff --git a/harbour/external/minizip/minizip.hbc b/harbour/external/minizip/minizip.hbc deleted file mode 100644 index 1763330ae6..0000000000 --- a/harbour/external/minizip/minizip.hbc +++ /dev/null @@ -1,5 +0,0 @@ -# -# $Id$ -# - -libs=${hb_name} diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 0d1a7ff048..01308f3b9e 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -788,6 +788,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) LOCAL l_lNOHBLIB := .F. LOCAL l_lLIBSYSMISC := .T. LOCAL l_cCMAIN := NIL + LOCAL l_lTargetSelected := .F. /* hbmk2 lib ordering tries to satisfy linkers which require this (mingw*, linux/gcc, bsd/gcc and dos/djgpp), but this won't solve @@ -2029,12 +2030,48 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) CASE cParamL == "-quiet-" ; hbmk[ _HBMK_lQuiet ] := .F. CASE cParamL == "-info" ; hbmk[ _HBMK_lInfo ] := .T. CASE cParamL == "-pause" ; lPause := .T. - CASE cParamL == "-hbexe" ; hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .F. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .F. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. - CASE cParamL == "-hblib" ; hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .T. ; Set_lCreateDyn( hbmk, .F. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. - CASE cParamL == "-hbdyn" ; hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .T. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. ; hbmk[ _HBMK_lDynVM ] := .F. ; l_lNOHBLIB := .T. - CASE cParamL == "-hbdynvm" ; hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .T. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. ; hbmk[ _HBMK_lDynVM ] := .T. ; l_lNOHBLIB := .F. - CASE cParamL == "-hbcontainer" ; hbmk[ _HBMK_lContainer ] := .T. ; hbmk[ _HBMK_lStopAfterInit ] := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .F. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. - CASE cParamL == "-hbimplib" ; hbmk[ _HBMK_lCreateImpLib ] := .T. ; lAcceptIFlag := .T. + CASE cParamL == "-hbexe" + + IF ! l_lTargetSelected + l_lTargetSelected := .T. + hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .F. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .F. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. + ENDIF + + CASE cParamL == "-hblib" + + IF ! l_lTargetSelected + l_lTargetSelected := .T. + hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .T. ; Set_lCreateDyn( hbmk, .F. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. + ENDIF + + CASE cParamL == "-hbdyn" + + IF ! l_lTargetSelected + l_lTargetSelected := .T. + hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .T. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. ; hbmk[ _HBMK_lDynVM ] := .F. ; l_lNOHBLIB := .T. + ENDIF + + CASE cParamL == "-hbdynvm" + + IF ! l_lTargetSelected + l_lTargetSelected := .T. + hbmk[ _HBMK_lStopAfterHarbour ] := .F. ; lStopAfterCComp := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .T. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. ; hbmk[ _HBMK_lDynVM ] := .T. ; l_lNOHBLIB := .F. + ENDIF + + CASE cParamL == "-hbcontainer" + + IF ! l_lTargetSelected + l_lTargetSelected := .T. + hbmk[ _HBMK_lContainer ] := .T. ; hbmk[ _HBMK_lStopAfterInit ] := .T. ; hbmk[ _HBMK_lCreateLib ] := .F. ; Set_lCreateDyn( hbmk, .F. ) ; hbmk[ _HBMK_lCreateImpLib ] := .F. + ENDIF + + CASE cParamL == "-hbimplib" + + IF ! l_lTargetSelected + l_lTargetSelected := .T. + hbmk[ _HBMK_lCreateImpLib ] := .T. ; lAcceptIFlag := .T. + ENDIF + CASE cParamL == "-gui" .OR. ; cParamL == "-mwindows" ; hbmk[ _HBMK_lGUI ] := .T. /* Compatibility */ CASE cParamL == "-std" .OR. ;