2010-03-22 01:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
+ Finishing touches to -mkimplib option:
- Automatic "dressing" of target library name with extension, lib prefix.
- More detailed feedback.
* bin/postinst.bat
+ Added hb-mkimp.prg replacement logic based on hbmk2.
(not yet enabled)
This commit is contained in:
@@ -17,6 +17,16 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-03-22 01:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Finishing touches to -mkimplib option:
|
||||
- Automatic "dressing" of target library name with extension, lib prefix.
|
||||
- More detailed feedback.
|
||||
|
||||
* bin/postinst.bat
|
||||
+ Added hb-mkimp.prg replacement logic based on hbmk2.
|
||||
(not yet enabled)
|
||||
|
||||
2010-03-22 00:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Added experimental -mkimplib= option to "convert" .dll
|
||||
|
||||
@@ -79,7 +79,36 @@ if "%HB_SHELL%" == "nt" goto _SH_NT
|
||||
|
||||
:_NO_ICON_BIN
|
||||
|
||||
if "%HB_BUILD_IMPLIB%" == "yes" "%HB_HOST_BIN_DIR%\hbrun" --hb:gtcgi "%~dp0hb-mkimp.prg"
|
||||
if not "%HB_BUILD_IMPLIB%" == "yes" goto _NO_IMPLIB
|
||||
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ace32 "%HB_WITH_ADS%\Redistribute\ace32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ace32 "%HB_WITH_ADS%\ace32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ace32 "%HB_WITH_ADS%\32bit\ace32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=alleg "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=sde61 "%HB_WITH_APOLLO%\..\sde61.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=sde7 "%HB_WITH_APOLLO%\..\sde7.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=blat "%HB_WITH_BLAT%\..\blat.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=cairo "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libcurl "%HB_WITH_CURL%\..\libcurl.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libcurl "%HB_WITH_CURL%\..\bin\libcurl.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=fbclient "%HB_WITH_FIREBIRD%\..\bin\fbclient.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=FreeImage "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=bgd "%HB_WITH_GD%\..\bin\bgd.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libhpdf "%HB_WITH_LIBHARU%\..\libhpdf.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libhpdf "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libmysql "%HB_WITH_MYSQL%\..\bin\libmySQL.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ociliba "%HB_WITH_OCILIB%\..\lib32\ociliba.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ocilibm "%HB_WITH_OCILIB%\..\lib32\ocilibm.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ocilibw "%HB_WITH_OCILIB%\..\lib32\ocilibw.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libeay32 "%HB_WITH_OPENSSL%\..\out32dll\libeay32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ssleay32 "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libeay32 "%HB_WITH_OPENSSL%\..\dll\libeay32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ssleay32 "%HB_WITH_OPENSSL%\..\dll\ssleay32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libeay32 "%HB_WITH_OPENSSL%\..\libeay32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=ssleay32 "%HB_WITH_OPENSSL%\..\ssleay32.dll"
|
||||
rem "%HB_HOST_BIN_DIR%\hbmk2" -mkimplib=libpq "%HB_WITH_PGSQL%..\lib\libpq.dll"
|
||||
|
||||
"%HB_HOST_BIN_DIR%\hbrun" --hb:gtcgi "%~dp0hb-mkimp.prg"
|
||||
|
||||
:_NO_IMPLIB
|
||||
|
||||
|
||||
@@ -3597,9 +3597,13 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
IF lMakeImpLib
|
||||
IF ISBLOCK( bBlk_ImpLib )
|
||||
IF ! Empty( cMakeImpLibDLL ) .AND. ! Empty( cMakeImpLibLib )
|
||||
hbmk_OutStd( hbmk, I_( "Creating import library..." ) )
|
||||
IF ! Eval( bBlk_ImpLib, cMakeImpLibDLL, cMakeImpLibLib )
|
||||
hbmk_OutErr( hbmk, I_( "Error: Creating import libraries failed." ) )
|
||||
IF hb_FileExists( cMakeImpLibDLL )
|
||||
tmp := FN_CookLib( hbmk, cMakeImpLibLib, cLibLibPrefix, cLibLibExt )
|
||||
IF Eval( bBlk_ImpLib, cMakeImpLibDLL, tmp )
|
||||
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created import library: %1$s <= %2$s" ), tmp, cMakeImpLibDLL ) )
|
||||
ELSE
|
||||
hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating import library %1$s from %2$s." ), tmp, cMakeImpLibDLL ) )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ELSE
|
||||
hbmk_OutErr( hbmk, I_( "Error: Missing parameter for import library creation." ) )
|
||||
@@ -5814,6 +5818,40 @@ STATIC FUNCTION ListCookLib( hbmk, aLIB, aLIBA, array, cPrefix, cExtNew )
|
||||
|
||||
RETURN array
|
||||
|
||||
STATIC FUNCTION FN_CookLib( hbmk, cLibName, cPrefix, cExtNew )
|
||||
LOCAL cDir
|
||||
LOCAL cLibNameCooked
|
||||
|
||||
IF hbmk[ _HBMK_cCOMP ] $ "gcc|mingw|mingw64|mingwarm|djgpp|cygwin|gccomf|clang|open64"
|
||||
hb_FNameSplit( cLibName, @cDir )
|
||||
IF Empty( cDir )
|
||||
cLibNameCooked := cLibName
|
||||
#if 0
|
||||
/* Don't attempt to strip this as it can be valid for libs which have double lib prefixes (f.e. libpng) */
|
||||
IF Left( cLibNameCooked, 3 ) == "lib"
|
||||
cLibNameCooked := SubStr( cLibNameCooked, 4 )
|
||||
ENDIF
|
||||
#endif
|
||||
IF cPrefix != NIL
|
||||
cLibNameCooked := cPrefix + cLibNameCooked
|
||||
ENDIF
|
||||
IF cExtNew != NIL
|
||||
cLibNameCooked := FN_ExtSet( cLibNameCooked, cExtNew )
|
||||
ENDIF
|
||||
RETURN cLibNameCooked
|
||||
ELSE
|
||||
RETURN cLibName
|
||||
ENDIF
|
||||
ELSE
|
||||
IF cExtNew != NIL
|
||||
RETURN FN_ExtSet( cLibName, cExtNew )
|
||||
ELSE
|
||||
RETURN cLibName
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/* Append optional prefix and optional extension to all members */
|
||||
STATIC FUNCTION ListCook( arraySrc, cExtNew )
|
||||
LOCAL array := AClone( arraySrc )
|
||||
|
||||
Reference in New Issue
Block a user