2010-05-11 22:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* contrib/hbziparc/Makefile
  * contrib/hbziparc/hbziparc.prg
    ! Fixed <lOverWrite> support in HB_ZIPFILE().

  * config/postinst.prg
    % Simplified local implib creation logic.
This commit is contained in:
Viktor Szakats
2010-05-11 20:27:03 +00:00
parent d4c09be821
commit 0ddac6c7ab
4 changed files with 44 additions and 32 deletions

View File

@@ -17,6 +17,14 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-05-11 22:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbziparc/Makefile
* contrib/hbziparc/hbziparc.prg
! Fixed <lOverWrite> support in HB_ZIPFILE().
* config/postinst.prg
% Simplified local implib creation logic.
2010-05-11 21:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
! Fixed forming quoted paths in implib creation commands.

View File

@@ -77,51 +77,51 @@ PROCEDURE Main()
! Empty( GetEnv( "HB_HOST_BIN_DIR" ) )
aArray := {;
{ "HB_WITH_ADS" , "Redistribute\ace32.dll" , .F., "" },;
{ "HB_WITH_ADS" , "ace32.dll" , .F., "" },;
{ "HB_WITH_ADS" , "32bit\ace32.dll" , .F., "" },;
{ "HB_WITH_ALLEGRO" , "..\bin\alleg42.dll" , .T., "alleg" },;
{ "HB_WITH_BLAT" , "..\blat.dll" , .T., "" },;
{ "HB_WITH_CAIRO" , "..\..\bin\libcairo-2.dll" , .T., "cairo" },;
{ "HB_WITH_CURL" , "..\libcurl.dll" , .T., "" },;
{ "HB_WITH_CURL" , "..\bin\libcurl.dll" , .T., "" },;
{ "HB_WITH_FIREBIRD" , "..\bin\fbclient.dll" , .F., "" },; /* Doesn't work with mingw/cygwin, because .lib has another name in another directory */
{ "HB_WITH_FREEIMAGE" , "..\Dist\FreeImage.dll" , .F., "" },;
{ "HB_WITH_GD" , "..\bin\bgd.dll" , .F., "" },;
{ "HB_WITH_LIBHARU" , "..\libhpdf.dll" , .F., "" },;
{ "HB_WITH_LIBHARU" , "..\lib_dll\libhpdf.dll" , .F., "" },;
{ "HB_WITH_MYSQL" , "..\lib\opt\libmySQL.dll" , .F., "" },;
{ "HB_WITH_OCILIB" , "..\lib32\ociliba.dll" , .F., "" },;
{ "HB_WITH_OCILIB" , "..\lib32\ocilibm.dll" , .F., "" },;
{ "HB_WITH_OCILIB" , "..\lib32\ocilibw.dll" , .F., "" },;
{ "HB_WITH_OPENSSL" , "..\out32dll\libeay32.dll" , .T., "" },;
{ "HB_WITH_OPENSSL" , "..\out32dll\ssleay32.dll" , .T., "" },;
{ "HB_WITH_OPENSSL" , "..\dll\libeay32.dll" , .T., "" },;
{ "HB_WITH_OPENSSL" , "..\dll\ssleay32.dll" , .T., "" },;
{ "HB_WITH_OPENSSL" , "..\libeay32.dll" , .T., "" },;
{ "HB_WITH_OPENSSL" , "..\ssleay32.dll" , .T., "" },;
{ "HB_WITH_PGSQL" , "..\lib\libpq.dll" , .T., "" }}
{ "HB_WITH_ADS" , "Redistribute/ace32.dll" , "" , "" },;
{ "HB_WITH_ADS" , "ace32.dll" , "" , "" },;
{ "HB_WITH_ADS" , "32bit/ace32.dll" , "" , "" },;
{ "HB_WITH_ALLEGRO" , "../bin/alleg42.dll" , " -mkimplibms", "alleg" },;
{ "HB_WITH_BLAT" , "../blat.dll" , " -mkimplibms", "" },;
{ "HB_WITH_CAIRO" , "../../bin/libcairo-2.dll" , " -mkimplibms", "cairo" },;
{ "HB_WITH_CURL" , "../libcurl.dll" , " -mkimplibms", "" },;
{ "HB_WITH_CURL" , "../bin/libcurl.dll" , " -mkimplibms", "" },;
{ "HB_WITH_FIREBIRD" , "../bin/fbclient.dll" , "" , "" },; /* Doesn't work with mingw/cygwin, because .lib has another name in another directory */
{ "HB_WITH_FREEIMAGE" , "../Dist/FreeImage.dll" , "" , "" },;
{ "HB_WITH_GD" , "../bin/bgd.dll" , "" , "" },;
{ "HB_WITH_LIBHARU" , "../libhpdf.dll" , "" , "" },;
{ "HB_WITH_LIBHARU" , "../lib_dll/libhpdf.dll" , "" , "" },;
{ "HB_WITH_MYSQL" , "../lib/opt/libmySQL.dll" , "" , "" },;
{ "HB_WITH_OCILIB" , "../lib32/ociliba.dll" , "" , "" },;
{ "HB_WITH_OCILIB" , "../lib32/ocilibm.dll" , "" , "" },;
{ "HB_WITH_OCILIB" , "../lib32/ocilibw.dll" , "" , "" },;
{ "HB_WITH_OPENSSL" , "../out32dll/libeay32.dll" , " -mkimplibms", "" },;
{ "HB_WITH_OPENSSL" , "../out32dll/ssleay32.dll" , " -mkimplibms", "" },;
{ "HB_WITH_OPENSSL" , "../dll/libeay32.dll" , " -mkimplibms", "" },;
{ "HB_WITH_OPENSSL" , "../dll/ssleay32.dll" , " -mkimplibms", "" },;
{ "HB_WITH_OPENSSL" , "../libeay32.dll" , " -mkimplibms", "" },;
{ "HB_WITH_OPENSSL" , "../ssleay32.dll" , " -mkimplibms", "" },;
{ "HB_WITH_PGSQL" , "../lib/libpq.dll" , " -mkimplibms", "" }}
FOR EACH tmp IN aArray
IF ! Empty( GetEnv( tmp[ 1 ] ) )
hb_processRun( GetEnv( "HB_HOST_BIN_DIR" ) + _PS_ + "hbmk2" +;
" " + Chr( 34 ) + "-mkimplib=" + StrTran( GetEnv( tmp[ 1 ] ) + "\" + tmp[ 2 ], "\", "/" ) + Chr( 34 ) +;
" " + Chr( 34 ) + StrTran( GetEnv( "HB_LIB_INSTALL" ) + "\" + tmp[ 4 ], "\", "/" ) + Chr( 34 ) +;
iif( tmp[ 3 ], " -mkimplibms", "" ) )
" -mkimplib=${" + tmp[ 1 ] + "}/" + tmp[ 2 ] +;
" ${HB_LIB_INSTALL}/" + tmp[ 4 ] +;
tmp[ 3 ] + " -trace" )
ENDIF
NEXT
/* HACK: Automatic implib generation doesn't work in case of FireBird, so we manually create it. [vszakats] */
IF GetEnv( "HB_COMPILER" ) $ "mingw|mingw64|cygwin"
hb_FCopy( GetEnv( "HB_WITH_FIREBIRD" ) + _PS_ + StrTran( "..\lib\fbclient_ms.lib", "\", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libfbclient.a" )
hb_FCopy( GetEnv( "HB_WITH_FIREBIRD" ) + _PS_ + StrTran( "../lib/fbclient_ms.lib", "/", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libfbclient.a" )
ENDIF
/* Exception: We use static libs with mingw */
IF GetEnv( "HB_COMPILER" ) == "mingw" .AND. ;
! Empty( GetEnv( "HB_WITH_OCILIB" ) )
hb_FCopy( GetEnv( "HB_WITH_OCILIB" ) + _PS_ + StrTran( "..\lib32\libociliba.a", "\", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libociliba.a" )
hb_FCopy( GetEnv( "HB_WITH_OCILIB" ) + _PS_ + StrTran( "..\lib32\libocilibm.a", "\", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libocilibm.a" )
hb_FCopy( GetEnv( "HB_WITH_OCILIB" ) + _PS_ + StrTran( "..\lib32\libocilibw.a", "\", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libocilibw.a" )
hb_FCopy( GetEnv( "HB_WITH_OCILIB" ) + _PS_ + StrTran( "../lib32/libociliba.a", "/", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libociliba.a" )
hb_FCopy( GetEnv( "HB_WITH_OCILIB" ) + _PS_ + StrTran( "../lib32/libocilibm.a", "/", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libocilibm.a" )
hb_FCopy( GetEnv( "HB_WITH_OCILIB" ) + _PS_ + StrTran( "../lib32/libocilibw.a", "/", _PS_ ), GetEnv( "HB_LIB_INSTALL" ) + _PS_ + "libocilibw.a" )
ENDIF
ENDIF

View File

@@ -9,4 +9,6 @@ LIBNAME := hbziparc
PRG_SOURCES := \
hbziparc.prg \
HB_INC_DEPEND := -I$(TOP)$(ROOT)contrib/hbmzip
include $(TOP)$(ROOT)config/lib.mk

View File

@@ -57,6 +57,8 @@
#include "directry.ch"
#include "fileio.ch"
#include "hbmzip.ch"
THREAD STATIC t_nReadBuffer := 32768
THREAD STATIC t_cComment
THREAD STATIC t_lReadOnly := .F.
@@ -304,7 +306,7 @@ FUNCTION hb_ZipFile( cFileName,;
FErase( cFileName )
ENDIF
IF !Empty( hZip := hb_ZipOpen( cFileName ) )
IF !Empty( hZip := hb_ZipOpen( cFileName, iif( lOverwrite, NIL, HB_ZIP_OPEN_ADDINZIP ) ) )
DEFAULT acFiles TO {}
DEFAULT acExclude TO {}