diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 6c5b2f428b..f6981954bf 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,30 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-07-22 19:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + * make_gnu.bat + * Tweak to previous fix, it didn't work. Falling back to + less elegant solution. + + * external/libhpdf/Makefile + + external/libhpdf/_hbhbpdf.c + + Added ugly hack to make it build on mingwarm targets. + + * contrib/hbssl/Makefile + * contrib/hbssl/ssl.c + * contrib/hbssl/bio.c + * contrib/hbssl/evpmd.c + * Changed to make it build on darwin. + It's be better to control feature automatically by + OPENSSL_VERSION_NUMBER, but documentation is very scarce. + + * utils/hbmk2/hbmk2.prg + ! Temp fix to not pass runflags to darwin GUI programs + (started via 'open'), until we find out how to make it. + Prevsiously 'open' considered extra options as its own, + and failed. + 2009-07-22 17:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * make_gnu.bat ! Added SHLVL=0 to make commands to force native shell diff --git a/harbour/INSTALL b/harbour/INSTALL index c4ce5a02e1..839bfa62cf 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -376,6 +376,7 @@ EXAMPLES --- --- MinGW GCC for WinCE/ARM (requires native x86 Harbour binaries + Cygwin) + set SHLVL=0 set PATH=C:\mingwce\opt\mingw32ce\bin;C:\cygwin\bin;%PATH% rem set HB_BIN_COMPILE=C:\hb-mingw\bin diff --git a/harbour/contrib/hbssl/Makefile b/harbour/contrib/hbssl/Makefile index 3ff8e60d51..0f21c89e3a 100644 --- a/harbour/contrib/hbssl/Makefile +++ b/harbour/contrib/hbssl/Makefile @@ -21,6 +21,10 @@ HB_INC_OPENSSL_OK += $(foreach d, $(HB_INC_OPENSSL), $(if $(wildcard $(d)/openss endif +ifeq ($(HB_ARCHITECTURE),darwin) +HB_USER_CFLAGS += -DOPENSSL_NO_SHA256 -DOPENSSL_NO_SHA512 -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_DGRAM -DHB_OPENSSL_OLD_OSX_ +endif + ifneq ($(strip $(HB_INC_OPENSSL_OK)),) HB_USER_CFLAGS += $(foreach d, $(HB_INC_OPENSSL_OK), -I$(d)) diff --git a/harbour/contrib/hbssl/bio.c b/harbour/contrib/hbssl/bio.c index 1643aac518..30dfe299c0 100644 --- a/harbour/contrib/hbssl/bio.c +++ b/harbour/contrib/hbssl/bio.c @@ -186,6 +186,7 @@ HB_FUNC( BIO_GET_FLAGS ) hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } +#if ! defined( HB_OPENSSL_OLD_OSX_ ) HB_FUNC( BIO_TEST_FLAGS ) { BIO * bio = hb_BIO_par( 1 ); @@ -195,6 +196,7 @@ HB_FUNC( BIO_TEST_FLAGS ) else hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } +#endif HB_FUNC( BIO_SET_FD ) { @@ -406,10 +408,14 @@ HB_FUNC( BIO_NEW_SOCKET ) HB_FUNC( BIO_NEW_DGRAM ) { +#ifndef OPENSSL_NO_DGRAM if( HB_ISNUM( 1 ) ) hb_retptr( BIO_new_dgram( hb_parni( 1 ), HB_ISNUM( 2 ) ? hb_parni( 2 ) : BIO_NOCLOSE ) ); else hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); +#else + hb_errRT_BASE( EG_NOFUNC, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); +#endif } HB_FUNC( BIO_NEW_FD ) diff --git a/harbour/contrib/hbssl/evpmd.c b/harbour/contrib/hbssl/evpmd.c index e30af22ea4..d603a82d75 100644 --- a/harbour/contrib/hbssl/evpmd.c +++ b/harbour/contrib/hbssl/evpmd.c @@ -121,8 +121,10 @@ const EVP_MD * hb_EVP_MD_par( int iParam ) case HB_EVP_MD_SHA1 : p = EVP_sha1(); break; case HB_EVP_MD_DSS : p = EVP_dss(); break; case HB_EVP_MD_DSS1 : p = EVP_dss1(); break; +#if ! defined( HB_OPENSSL_OLD_OSX_ ) case HB_EVP_MD_ECDSA : p = EVP_ecdsa(); break; #endif +#endif #ifndef OPENSSL_NO_SHA256 case HB_EVP_MD_SHA224 : p = EVP_sha224(); break; case HB_EVP_MD_SHA256 : p = EVP_sha256(); break; @@ -162,8 +164,10 @@ static int hb_EVP_MD_ptr_to_id( const EVP_MD * p ) else if( p == EVP_sha1() ) n = HB_EVP_MD_SHA1; else if( p == EVP_dss() ) n = HB_EVP_MD_DSS; else if( p == EVP_dss1() ) n = HB_EVP_MD_DSS1; +#if ! defined( HB_OPENSSL_OLD_OSX_ ) else if( p == EVP_ecdsa() ) n = HB_EVP_MD_ECDSA; #endif +#endif #ifndef OPENSSL_NO_SHA256 else if( p == EVP_sha224() ) n = HB_EVP_MD_SHA224; else if( p == EVP_sha256() ) n = HB_EVP_MD_SHA256; diff --git a/harbour/contrib/hbssl/ssl.c b/harbour/contrib/hbssl/ssl.c index d393196e4c..f73ebb41be 100644 --- a/harbour/contrib/hbssl/ssl.c +++ b/harbour/contrib/hbssl/ssl.c @@ -1208,6 +1208,7 @@ HB_FUNC( SSL_GET_MODE ) hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } +#if ! defined( HB_OPENSSL_OLD_OSX_ ) HB_FUNC( SSL_SET_MTU ) { if( hb_SSL_is( 1 ) ) @@ -1220,6 +1221,7 @@ HB_FUNC( SSL_SET_MTU ) else hb_errRT_BASE( EG_ARG, 2010, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } +#endif HB_FUNC( SSL_GET_CERTIFICATE ) { diff --git a/harbour/external/libhpdf/Makefile b/harbour/external/libhpdf/Makefile index f0cbad4a16..33a202929c 100644 --- a/harbour/external/libhpdf/Makefile +++ b/harbour/external/libhpdf/Makefile @@ -58,6 +58,7 @@ ifneq ($(strip $(HB_INC_LIBPNG_OK)),) HB_USER_CFLAGS += $(foreach d, $(HB_INC_LIBPNG_OK), -I$(d)) C_SOURCES = \ + _hbhbpdf.c \ hpdf_annotation.c \ hpdf_array.c \ hpdf_binary.c \ diff --git a/harbour/external/libhpdf/_hbhbpdf.c b/harbour/external/libhpdf/_hbhbpdf.c new file mode 100644 index 0000000000..84b9f2f2db --- /dev/null +++ b/harbour/external/libhpdf/_hbhbpdf.c @@ -0,0 +1,26 @@ +/* + * $Id$ + */ + +#include "hbapi.h" + +#if defined( HB_OS_WIN_CE ) + +/* NOTE: Ugly hack to make this lib work on WinCE/CEGCC platforms. [vszakats] */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +_CRTIMP int* __cdecl _errno() +{ + return 0; +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/harbour/make_gnu.bat b/harbour/make_gnu.bat index 78e90b1f3d..e2cdfa57a0 100644 --- a/harbour/make_gnu.bat +++ b/harbour/make_gnu.bat @@ -183,7 +183,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp set HB_CONTRIB_ADDONS= set HB_EXTERNALLIBS=no set HB_EXTERNAL_ADDONS= - %_HB_MAKE% SHLVL=0 clean install %HB_USER_MAKEFLAGS% %_HB_BUILD_LOG% + %_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %_HB_BUILD_LOG% if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL% if errorlevel 1 goto MAKE_DONE set HB_DYNLIB=no @@ -195,14 +195,14 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp set _HB_CONTRIB_ADDONS= set _HB_EXTERNALLIBS= set _HB_EXTERNAL_ADDONS= - %_HB_MAKE% SHLVL=0 clean install %HB_USER_MAKEFLAGS% %_HB_BUILD_LOG% + %_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %_HB_BUILD_LOG% if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL% goto MAKE_DONE :DO_GCC set HB_DYNLIB=no - %_HB_MAKE% SHLVL=0 clean install %HB_USER_MAKEFLAGS% %_HB_BUILD_LOG% + %_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %_HB_BUILD_LOG% if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL% goto MAKE_DONE @@ -217,7 +217,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp if "%HB_COMPILER%" == "cygwin" goto SKIP_WINDLL_CYG - %_HB_MAKE% SHLVL=0 %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG% + %_HB_MAKE% %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG% if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL% goto MAKE_DONE diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 30acb46d96..2df5bda385 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -4208,6 +4208,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) ENDIF #elif defined( __PLATFORM__DARWIN ) IF hbmk[ _HBMK_lGUI ] + /* TOFIX: Find a way to pass arbitrary options to an .app. */ + l_aOPTRUN := {} cCommand := "open " + FN_Escape( cCommand + ".app", _ESC_NIX ) ENDIF #endif