2010-03-21 12:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* bin/hb-mkimp.prg
    + Finished, tested. This version also adds pocc64 support.
      It also gives proper feedback.

  * INSTALL
  * bin/postinst.bat
  - bin/hb-mkimp.bat
  * package/winuni/mpkg_win_uni_extra_copy.bat
  * package/winuni/mpkg_win_uni.bat
  * package/winuni/mpkg_win_uni.nsi
    + Switched to use hb-mkimp.prg instead of .bat.
      25KB less of non-portable .bat file in Harbour SVN.
      Remains only ~100 lines of .bat stuff in core parts.
    + Deleted GNU Sed requirement.
    + Lifted Windows NT requirement for implib creation.
    + Lifted NT shell requirement for implib creation.
This commit is contained in:
Viktor Szakats
2010-03-21 11:31:52 +00:00
parent 9d30f3ba4d
commit f985d48f95
8 changed files with 148 additions and 351 deletions

View File

@@ -17,6 +17,24 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-03-21 12:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkimp.prg
+ Finished, tested. This version also adds pocc64 support.
It also gives proper feedback.
* INSTALL
* bin/postinst.bat
- bin/hb-mkimp.bat
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Switched to use hb-mkimp.prg instead of .bat.
25KB less of non-portable .bat file in Harbour SVN.
Remains only ~100 lines of .bat stuff in core parts.
+ Deleted GNU Sed requirement.
+ Lifted Windows NT requirement for implib creation.
+ Lifted NT shell requirement for implib creation.
2010-03-21 12:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ bin/hb-mkimp.prg
+ Added .prg rewrite for implib generation. This highly

View File

@@ -610,8 +610,7 @@ HARBOUR
to a *nix system location, otherwise no.
- HB_BUILD_IMPLIB=yes Create import libraries for external .dll
dependencies (including contribs). Default: no
(for Windows targets created from Windows NT
shells only. Needs GNU Sed.)
(for Windows targets only.)
- HB_BUILD_DEBUG=yes Create a debug build. Default: no
- HB_BUILD_STRIP=
[all|bin|lib|no] Strip symbols and debug information from binaries.
@@ -1261,12 +1260,12 @@ HARBOUR
Supported shells per host platforms:
win / NT shell (cmd.exe)
win / POSIX shell (MSYS or Cygwin sh.exe) (* not supported: HB_BUILD_PKG, HB_BUILD_IMPLIB)
win / MS-DOS shell (command.com) (* not supported: HB_BUILD_PKG, HB_BUILD_IMPLIB)
dos / MS-DOS shell (command.com) (* not supported: HB_BUILD_PKG, HB_BUILD_IMPLIB)
dos / POSIX shell (bash.exe) (* not supported: HB_BUILD_PKG, HB_BUILD_IMPLIB)
os/2 / OS/2 shell (cmd.exe) (* not supported: HB_BUILD_PKG, HB_BUILD_IMPLIB)
os/2 / POSIX shell (bash.exe) (* not supported: HB_BUILD_PKG, HB_BUILD_IMPLIB)
win / POSIX shell (MSYS or Cygwin sh.exe) (* not supported: HB_BUILD_PKG)
win / MS-DOS shell (command.com) (* not supported: HB_BUILD_PKG)
dos / MS-DOS shell (command.com) (* not supported: HB_BUILD_PKG)
dos / POSIX shell (bash.exe) (* not supported: HB_BUILD_PKG)
os/2 / OS/2 shell (cmd.exe) (* not supported: HB_BUILD_PKG)
os/2 / POSIX shell (bash.exe) (* not supported: HB_BUILD_PKG)
*nix / POSIX shell (* not supported: HB_BUILD_PKG - implemented as standalone scripts)
@@ -1394,9 +1393,6 @@ HARBOUR
Windows binary:
http://gnuwin32.sourceforge.net/packages/bison.htm
(not verified with current Harbour version)
GNU Sed (stream editor) [multiplatform, free, open-source]
Windows binary:
http://gnuwin32.sourceforge.net/packages/sed.htm
Valgrind (dynamic executable analysis tool) [linux, darwin-x86, free, open-source]
http://valgrind.org/
UPX (executable compressor) [win, dos, *nix, free, open-source]

View File

@@ -1,245 +0,0 @@
@rem
@rem $Id$
@rem
@echo off
rem ---------------------------------------------------------------
rem Copyright 2009 Viktor Szakats (harbour.01 syenar.hu)
rem See COPYING for licensing terms.
rem
rem script to create import libs for various compilers
rem
rem This script requires:
rem - Windows NT or upper
rem - C compiler in PATH
rem - HB_COMPILER and HB_LIB_INSTALL envvars set
rem - HB_WITH_* envvars pointing to installed 3rd party _headers_
rem - GNU Sed (sed.exe) for some msvc and msvc64 targets
rem ---------------------------------------------------------------
if not "%OS%" == "Windows_NT" echo ! hb-mkimp.bat Harbour build script requires Windows NT or upper.
if not "%OS%" == "Windows_NT" goto END
if not "%HB_LIB_INSTALL%" == "" (
echo ! Making import libs...
if "%HB_COMPILER%" == "mingw" (
if exist "%HB_WITH_ADS%\Redistribute\ace32.lib" copy /b /y "%HB_WITH_ADS%\Redistribute\ace32.lib" "%HB_LIB_INSTALL%\libace32.a"
if exist "%HB_WITH_ADS%\ace32.lib" copy /b /y "%HB_WITH_ADS%\ace32.lib" "%HB_LIB_INSTALL%\libace32.a"
if exist "%HB_WITH_ADS%\32bit\ace32.lib" copy /b /y "%HB_WITH_ADS%\32bit\ace32.lib" "%HB_LIB_INSTALL%\libace32.a"
if exist "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" copy /b /y "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" "%HB_LIB_INSTALL%\liballeg.a"
if exist "%HB_WITH_BLAT%\..\blat.lib" copy /b /y "%HB_WITH_BLAT%\..\blat.lib" "%HB_LIB_INSTALL%\libblat.a"
if exist "%HB_WITH_CAIRO%\..\..\lib\libcairo.dll.a" copy /b /y "%HB_WITH_CAIRO%\..\..\lib\libcairo.dll.a" "%HB_LIB_INSTALL%\libcairo.a"
if exist "%HB_WITH_CURL%\..\lib\libcurl.a" copy /b /y "%HB_WITH_CURL%\..\lib\libcurl.a" "%HB_LIB_INSTALL%\libcurl.a"
if exist "%HB_WITH_CURL%\..\lib\libcurldll.a" copy /b /y "%HB_WITH_CURL%\..\lib\libcurldll.a" "%HB_LIB_INSTALL%\libcurldll.a"
if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\libfbclient.a"
if exist "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" copy /b /y "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" "%HB_LIB_INSTALL%\libFreeImage.a"
if exist "%HB_WITH_GD%\..\lib\bgd.lib" copy /b /y "%HB_WITH_GD%\..\lib\bgd.lib" "%HB_LIB_INSTALL%\libbgd.a"
if exist "%HB_WITH_LIBHARU%\..\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\libhpdf.lib" "%HB_LIB_INSTALL%\liblibhpdf.a"
if exist "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" "%HB_LIB_INSTALL%\liblibhpdf.a"
if exist "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" copy /b /y "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\liblibmysql.a"
if exist "%HB_WITH_OCILIB%\..\lib32\libociliba.a" copy /b /y "%HB_WITH_OCILIB%\..\lib32\libociliba.a" "%HB_LIB_INSTALL%\libociliba.a"
if exist "%HB_WITH_OCILIB%\..\lib32\libocilibm.a" copy /b /y "%HB_WITH_OCILIB%\..\lib32\libocilibm.a" "%HB_LIB_INSTALL%\libocilibm.a"
if exist "%HB_WITH_OCILIB%\..\lib32\libocilibw.a" copy /b /y "%HB_WITH_OCILIB%\..\lib32\libocilibw.a" "%HB_LIB_INSTALL%\libocilibw.a"
if exist "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" "%HB_LIB_INSTALL%\liblibeay32.a"
if exist "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" "%HB_LIB_INSTALL%\libssleay32.a"
if exist "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" "%HB_LIB_INSTALL%\liblibeay32.a"
if exist "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" "%HB_LIB_INSTALL%\libssleay32.a"
if exist "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" "%HB_LIB_INSTALL%\liblibeay32.a"
if exist "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" "%HB_LIB_INSTALL%\libssleay32.a"
if exist "%HB_WITH_OPENSSL%\..\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\libeay32.lib" "%HB_LIB_INSTALL%\liblibeay32.a"
if exist "%HB_WITH_OPENSSL%\..\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\ssleay32.lib" "%HB_LIB_INSTALL%\libssleay32.a"
if exist "%HB_WITH_PGSQL%\..\lib\libpq.lib" copy /b /y "%HB_WITH_PGSQL%\..\lib\libpq.lib" "%HB_LIB_INSTALL%\liblibpq.a"
goto END
)
if "%HB_COMPILER%" == "mingw64" (
if exist "%HB_WITH_CURL%\..\lib\libcurl.a" copy /b /y "%HB_WITH_CURL%\..\lib\libcurl.a" "%HB_LIB_INSTALL%\libcurl.a"
if exist "%HB_WITH_CURL%\..\lib\libcurldll.a" copy /b /y "%HB_WITH_CURL%\..\lib\libcurldll.a" "%HB_LIB_INSTALL%\libcurldll.a"
if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\libfbclient.a"
if exist "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" copy /b /y "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\liblibmysql.a"
if exist "%HB_WITH_OCILIB%\..\lib64\ociliba.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib64\ociliba.lib" "%HB_LIB_INSTALL%\libociliba.a"
if exist "%HB_WITH_OCILIB%\..\lib64\ocilibm.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib64\ocilibm.lib" "%HB_LIB_INSTALL%\libocilibm.a"
if exist "%HB_WITH_OCILIB%\..\lib64\ocilibw.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib64\ocilibw.lib" "%HB_LIB_INSTALL%\libocilibw.a"
goto END
)
if "%HB_COMPILER%" == "msvc" (
if exist "%HB_WITH_ADS%\Redistribute\ace32.lib" copy /b /y "%HB_WITH_ADS%\Redistribute\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
if exist "%HB_WITH_ADS%\ace32.lib" copy /b /y "%HB_WITH_ADS%\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
if exist "%HB_WITH_ADS%\32bit\ace32.lib" copy /b /y "%HB_WITH_ADS%\32bit\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
if exist "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" copy /b /y "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" "%HB_LIB_INSTALL%\alleg.lib"
if exist "%HB_WITH_APOLLO%\..\sde61.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_APOLLO%\..\sde61.dll" "%HB_LIB_INSTALL%\sde61.lib"
if exist "%HB_WITH_APOLLO%\..\sde7.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_APOLLO%\..\sde7.dll" "%HB_LIB_INSTALL%\sde7.lib"
if exist "%HB_WITH_BLAT%\..\blat.lib" copy /b /y "%HB_WITH_BLAT%\..\blat.lib" "%HB_LIB_INSTALL%\blat.lib"
if exist "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" copy /b /y "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" "%HB_LIB_INSTALL%\cairo.lib"
if exist "%HB_WITH_CURL%\..\libcurl.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_CURL%\..\libcurl.dll" "%HB_LIB_INSTALL%\libcurl.lib"
if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_CURL%\..\bin\libcurl.dll" "%HB_LIB_INSTALL%\libcurl.lib"
if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\fbclient.lib"
if exist "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" copy /b /y "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" "%HB_LIB_INSTALL%\FreeImage.lib"
if exist "%HB_WITH_GD%\..\lib\bgd.lib" copy /b /y "%HB_WITH_GD%\..\lib\bgd.lib" "%HB_LIB_INSTALL%\bgd.lib"
if exist "%HB_WITH_LIBHARU%\..\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib"
if exist "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib"
if exist "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" copy /b /y "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\libmySQL.lib"
if exist "%HB_WITH_OCILIB%\..\lib32\ociliba.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib32\ociliba.lib" "%HB_LIB_INSTALL%\ociliba.lib"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibm.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib32\ocilibm.lib" "%HB_LIB_INSTALL%\ocilibm.lib"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibw.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib32\ocilibw.lib" "%HB_LIB_INSTALL%\ocilibw.lib"
if exist "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_OPENSSL%\..\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_PGSQL%\..\bin\libpq.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_PGSQL%\..\bin\libpq.dll" "%HB_LIB_INSTALL%\libpq.lib"
if exist "%HB_WITH_PGSQL%\..\lib\libpq.lib" copy /b /y "%HB_WITH_PGSQL%\..\lib\libpq.lib" "%HB_LIB_INSTALL%\libpq.lib"
goto END
)
if "%HB_COMPILER%" == "pocc" (
if exist "%HB_WITH_ADS%\Redistribute\ace32.lib" copy /b /y "%HB_WITH_ADS%\Redistribute\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
if exist "%HB_WITH_ADS%\ace32.lib" copy /b /y "%HB_WITH_ADS%\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
if exist "%HB_WITH_ADS%\32bit\ace32.lib" copy /b /y "%HB_WITH_ADS%\32bit\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
if exist "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" copy /b /y "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" "%HB_LIB_INSTALL%\alleg.lib"
if exist "%HB_WITH_APOLLO%\..\sde61.dll" polib "%HB_WITH_APOLLO%\..\sde61.dll" /out:"%HB_LIB_INSTALL%\sde61.lib"
if exist "%HB_WITH_APOLLO%\..\sde7.dll" polib "%HB_WITH_APOLLO%\..\sde7.dll" /out:"%HB_LIB_INSTALL%\sde7.lib"
if exist "%HB_WITH_BLAT%\..\blat.lib" copy /b /y "%HB_WITH_BLAT%\..\blat.lib" "%HB_LIB_INSTALL%\blat.lib"
if exist "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" copy /b /y "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" "%HB_LIB_INSTALL%\cairo.lib"
if exist "%HB_WITH_CURL%\..\libcurl.dll" polib "%HB_WITH_CURL%\..\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib"
if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" polib "%HB_WITH_CURL%\..\bin\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib"
if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\fbclient.lib"
if exist "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" copy /b /y "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" "%HB_LIB_INSTALL%\FreeImage.lib"
if exist "%HB_WITH_GD%\..\lib\bgd.lib" copy /b /y "%HB_WITH_GD%\..\lib\bgd.lib" "%HB_LIB_INSTALL%\bgd.lib"
if exist "%HB_WITH_LIBHARU%\..\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib"
if exist "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib"
if exist "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" copy /b /y "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\libmySQL.lib"
if exist "%HB_WITH_OCILIB%\..\lib32\ociliba.lib" copy /b /y "%HB_WITH_OCILIB%\ociliba.lib" "%HB_LIB_INSTALL%\ociliba.lib"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibm.lib" copy /b /y "%HB_WITH_OCILIB%\ocilibm.lib" "%HB_LIB_INSTALL%\ocilibm.lib"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibw.lib" copy /b /y "%HB_WITH_OCILIB%\ocilibw.lib" "%HB_LIB_INSTALL%\ocilibw.lib"
if exist "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_OPENSSL%\..\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
if exist "%HB_WITH_OPENSSL%\..\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
if exist "%HB_WITH_PGSQL%\..\lib\libpq.lib" copy /b /y "%HB_WITH_PGSQL%\..\lib\libpq.lib" "%HB_LIB_INSTALL%\libpq.lib"
goto END
)
if "%HB_COMPILER%" == "msvc64" (
if exist "%HB_WITH_CURL%\..\libcurl.dll" call :P_MSVC_IMPLIB x64 "%HB_WITH_CURL%\..\libcurl.dll" "%HB_LIB_INSTALL%\libcurl.lib"
if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" call :P_MSVC_IMPLIB x64 "%HB_WITH_CURL%\..\bin\libcurl.dll" "%HB_LIB_INSTALL%\libcurl.lib"
if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\fbclient.lib"
if exist "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" copy /b /y "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\libmySQL.lib"
if exist "%HB_WITH_OCILIB%\..\lib64\ociliba.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib64\ociliba.lib" "%HB_LIB_INSTALL%\ociliba.lib"
if exist "%HB_WITH_OCILIB%\..\lib64\ocilibm.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib64\ocilibm.lib" "%HB_LIB_INSTALL%\ocilibm.lib"
if exist "%HB_WITH_OCILIB%\..\lib64\ocilibw.lib" copy /b /y "%HB_WITH_OCILIB%\..\lib64\ocilibw.lib" "%HB_LIB_INSTALL%\ocilibw.lib"
goto END
)
if "%HB_COMPILER%" == "bcc" (
if exist "%HB_WITH_ADS%\Redistribute\ace32.dll" implib "%HB_LIB_INSTALL%\ace32.lib" "%HB_WITH_ADS%\Redistribute\ace32.dll"
if exist "%HB_WITH_ADS%\ace32.dll" implib "%HB_LIB_INSTALL%\ace32.lib" "%HB_WITH_ADS%\ace32.dll"
if exist "%HB_WITH_ADS%\32bit\ace32.dll" implib "%HB_LIB_INSTALL%\ace32.lib" "%HB_WITH_ADS%\32bit\ace32.dll"
if exist "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll" implib -a "%HB_LIB_INSTALL%\alleg.lib" "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll"
if exist "%HB_WITH_APOLLO%\..\sde61.dll" implib "%HB_LIB_INSTALL%\sde61.lib" "%HB_WITH_APOLLO%\..\sde61.dll"
if exist "%HB_WITH_APOLLO%\..\sde7.dll" implib "%HB_LIB_INSTALL%\sde7.lib" "%HB_WITH_APOLLO%\..\sde7.dll"
if exist "%HB_WITH_BLAT%\..\blat.dll" implib -a "%HB_LIB_INSTALL%\blat.lib" "%HB_WITH_BLAT%\..\blat.dll"
if exist "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll" implib -a "%HB_LIB_INSTALL%\cairo.lib" "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll"
if exist "%HB_WITH_CURL%\..\libcurl.dll" implib -a "%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\libcurl.dll"
if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" implib -a "%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\bin\libcurl.dll"
if exist "%HB_WITH_FIREBIRD%\..\bin\fbclient.dll" implib "%HB_LIB_INSTALL%\fbclient.lib" "%HB_WITH_FIREBIRD%\..\bin\fbclient.dll"
if exist "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.dll" implib "%HB_LIB_INSTALL%\FreeImage.lib" "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.dll"
if exist "%HB_WITH_GD%\..\bin\bgd.dll" implib "%HB_LIB_INSTALL%\bgd.lib" "%HB_WITH_GD%\..\bin\bgd.dll"
if exist "%HB_WITH_LIBHARU%\..\libhpdf.dll" implib "%HB_LIB_INSTALL%\libhpdf.lib" "%HB_WITH_LIBHARU%\..\libhpdf.dll"
if exist "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.dll" implib "%HB_LIB_INSTALL%\libhpdf.lib" "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.dll"
if exist "%HB_WITH_MYSQL%\..\bin\libmySQL.dll" implib "%HB_LIB_INSTALL%\libmysql.lib" "%HB_WITH_MYSQL%\..\bin\libmySQL.dll"
if exist "%HB_WITH_OCILIB%\..\lib32\ociliba.dll" implib "%HB_LIB_INSTALL%\ociliba.lib" "%HB_WITH_OCILIB%\..\lib32\ociliba.dll"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibm.dll" implib "%HB_LIB_INSTALL%\ocilibm.lib" "%HB_WITH_OCILIB%\..\lib32\ocilibm.dll"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibw.dll" implib "%HB_LIB_INSTALL%\ocilibw.lib" "%HB_WITH_OCILIB%\..\lib32\ocilibw.dll"
if exist "%HB_WITH_OPENSSL%\..\out32dll\libeay32.dll" implib -a "%HB_LIB_INSTALL%\libeay32.lib" "%HB_WITH_OPENSSL%\..\out32dll\libeay32.dll"
if exist "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.dll" implib -a "%HB_LIB_INSTALL%\ssleay32.lib" "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.dll"
if exist "%HB_WITH_OPENSSL%\..\dll\libeay32.dll" implib -a "%HB_LIB_INSTALL%\libeay32.lib" "%HB_WITH_OPENSSL%\..\dll\libeay32.dll"
if exist "%HB_WITH_OPENSSL%\..\dll\ssleay32.dll" implib -a "%HB_LIB_INSTALL%\ssleay32.lib" "%HB_WITH_OPENSSL%\..\dll\ssleay32.dll"
if exist "%HB_WITH_OPENSSL%\..\libeay32.dll" implib -a "%HB_LIB_INSTALL%\libeay32.lib" "%HB_WITH_OPENSSL%\..\libeay32.dll"
if exist "%HB_WITH_OPENSSL%\..\ssleay32.dll" implib -a "%HB_LIB_INSTALL%\ssleay32.lib" "%HB_WITH_OPENSSL%\..\ssleay32.dll"
if exist "%HB_WITH_PGSQL%\..\lib\libpq.dll" implib -a "%HB_LIB_INSTALL%\libpq.lib" "%HB_WITH_PGSQL%\..\lib\libpq.dll"
goto END
)
if "%HB_COMPILER%" == "watcom" (
if exist "%HB_WITH_ADS%\Redistribute\ace32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ace32.lib" "%HB_WITH_ADS%\Redistribute\ace32.dll"
if exist "%HB_WITH_ADS%\ace32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ace32.lib" "%HB_WITH_ADS%\ace32.dll"
if exist "%HB_WITH_ADS%\32bit\ace32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ace32.lib" "%HB_WITH_ADS%\32bit\ace32.dll"
if exist "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\alleg.lib" "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll"
if exist "%HB_WITH_APOLLO%\..\sde61.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\sde61.lib" "%HB_WITH_APOLLO%\..\sde61.dll"
if exist "%HB_WITH_APOLLO%\..\sde7.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\sde7.lib" "%HB_WITH_APOLLO%\..\sde7.dll"
if exist "%HB_WITH_BLAT%\..\blat.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\blat.lib" "%HB_WITH_BLAT%\..\blat.dll"
if exist "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\cairo.lib" "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll"
if exist "%HB_WITH_CURL%\..\libcurl.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\libcurl.dll"
if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\bin\libcurl.dll"
if exist "%HB_WITH_FIREBIRD%\..\bin\fbclient.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\fbclient.lib" "%HB_WITH_FIREBIRD%\..\bin\fbclient.dll"
if exist "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\FreeImage.lib" "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.dll"
if exist "%HB_WITH_GD%\..\bin\bgd.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\bgd.lib" "%HB_WITH_GD%\..\bin\bgd.dll"
if exist "%HB_WITH_LIBHARU%\..\libhpdf.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libhpdf.lib" "%HB_WITH_LIBHARU%\..\libhpdf.dll"
if exist "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libhpdf.lib" "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.dll"
if exist "%HB_WITH_MYSQL%\..\bin\libmySQL.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libmySQL.lib" "%HB_WITH_MYSQL%\..\bin\libmySQL.dll"
if exist "%HB_WITH_OCILIB%\..\lib32\ociliba.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ociliba.lib" "%HB_WITH_OCILIB%\..\lib32\ociliba.dll"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibm.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ocilibm.lib" "%HB_WITH_OCILIB%\..\lib32\ocilibm.dll"
if exist "%HB_WITH_OCILIB%\..\lib32\ocilibw.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ocilibw.lib" "%HB_WITH_OCILIB%\..\lib32\ocilibw.dll"
if exist "%HB_WITH_OPENSSL%\..\out32dll\libeay32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libeay32.lib" "%HB_WITH_OPENSSL%\..\out32dll\libeay32.dll"
if exist "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ssleay32.lib" "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.dll"
if exist "%HB_WITH_OPENSSL%\..\dll\libeay32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libeay32.lib" "%HB_WITH_OPENSSL%\..\dll\libeay32.dll"
if exist "%HB_WITH_OPENSSL%\..\dll\ssleay32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ssleay32.lib" "%HB_WITH_OPENSSL%\..\dll\ssleay32.dll"
if exist "%HB_WITH_OPENSSL%\..\libeay32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libeay32.lib" "%HB_WITH_OPENSSL%\..\libeay32.dll"
if exist "%HB_WITH_OPENSSL%\..\ssleay32.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\ssleay32.lib" "%HB_WITH_OPENSSL%\..\ssleay32.dll"
if exist "%HB_WITH_PGSQL%\..\lib\libpq.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libpq.lib" "%HB_WITH_PGSQL%\..\lib\libpq.dll"
goto END
)
)
goto END
rem ---------------------------------------------------------------
rem These .dll to .lib conversions need GNU sed.exe in the path
rem ---------------------------------------------------------------
:P_MSVC_IMPLIB
echo /[ \t]*ordinal hint/,/^^[ \t]*Summary/{> _hbtemp.sed
echo /^^[ \t]\+[0-9]\+/{>> _hbtemp.sed
echo s/^^[ \t]\+[0-9]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+[0-9A-Fa-f]\+[ \t]\+\(.*\)/\1/p>> _hbtemp.sed
echo }>> _hbtemp.sed
echo }>> _hbtemp.sed
dumpbin -exports "%2" > _dump.tmp
echo LIBRARY "%~n2" > _temp.def
echo EXPORTS >> _temp.def
sed -nf _hbtemp.sed < _dump.tmp >> _temp.def
lib -nologo -machine:%1 -def:_temp.def -out:"%3"
del _dump.tmp
del _temp.def
del _hbtemp.sed
rem ---------------------------------------------------------------
goto END
:END

View File

@@ -1,111 +1,139 @@
@rem
@rem $Id$
@rem
/*
* $Id$
*/
@echo off
rem ---------------------------------------------------------------
rem Copyright 2009-2010 Viktor Szakats (harbour.01 syenar.hu)
rem See COPYING for licensing terms.
rem
rem Create import libs for various Windows compilers
rem
rem This script requires:
rem - C compiler in PATH
rem - HB_COMPILER and HB_LIB_INSTALL envvars set
rem - HB_WITH_* envvars pointing to installed 3rd party _headers_
rem ---------------------------------------------------------------
/*
* Copyright 2009-2010 Viktor Szakats (harbour.01 syenar.hu)
* See COPYING for licensing terms.
*
* Create import libs for various Windows compilers
*
* This script requires:
* - C compiler in PATH
* - HB_COMPILER and HB_LIB_INSTALL envvars set
* - HB_WITH_* envvars pointing to installed 3rd party _headers_
*/
/* TOFIX: Ugly hack to avoid #include "fileio.ch" */
#define FS_ERROR ( -1 )
LOCAL cLibDir
PROCEDURE Main( cCompiler, cLibDir )
LOCAL aLibs
LOCAL hComps
LOCAL aLibs
LOCAL aComps
LOCAL lib
LOCAL comp
IF ! Empty( cLibDir := GetEnv( "HB_LIB_INSTALL" ) )
LOCAL cBase
LOCAL cSource
LOCAL cTarget
LOCAL lDone
OutStd( "! Making import libs...", hb_osNewLine() )
IF ! hb_isString( cCompiler )
cCompiler := GetEnv( "HB_COMPILER" )
ENDIF
IF ! hb_isString( cLibDir )
cLibDir := GetEnv( "HB_LIB_INSTALL" )
ENDIF
#define _L_NAME 1
#define _L_BASE 2
#define _L_DLL 3
#define _L_DLLMS 4
#define _L_LIBMS 5
#define _L_LIBMS64 6
#define _L_LIBA 7
IF ! Empty( cLibDir )
aLibs := {;
{ "ace32" , "HB_WITH_ADS" , "Redistribute\ace32.dll" , .F. , "Redistribute\ace32.lib" , , }, ;
{ "ace32" , "HB_WITH_ADS" , "ace32.dll" , .F. , "ace32.lib" , , }, ;
{ "ace32" , "HB_WITH_ADS" , "32bit\ace32.dll" , .F. , "32bit\ace32.lib" , , }, ;
{ "alleg" , "HB_WITH_ALLEGRO" , "..\bin\alleg42.dll" , .T. , "..\lib\alleg.lib" , , }, ;
{ "sde61" , "HB_WITH_APOLLO" , "..\sde61.dll" , .F. , "..\sde61.dll" , , }, ;
{ "sde7" , "HB_WITH_APOLLO" , "..\sde7.dll" , .F. , "..\sde7.dll" , , }, ;
{ "blat" , "HB_WITH_BLAT" , "..\blat.dll" , .T. , "..\blat.lib" , , }, ;
{ "cairo" , "HB_WITH_CAIRO" , "..\..\bin\libcairo-2.dll" , .T. , "..\..\lib\cairo.lib" , , "..\..\lib\libcairo.dll.a" }, ;
{ "libcurl" , "HB_WITH_CURL" , "..\libcurl.dll" , .T. , "..\libcurl.dll" , , "..\lib\libcurl.a" }, ;
{ "libcurl" , "HB_WITH_CURL" , "..\bin\libcurl.dll" , .T. , "..\bin\libcurl.dll" , , "..\lib\libcurldll.a" }, ;
{ "fbclient" , "HB_WITH_FIREBIRD" , "..\bin\fbclient.dll" , .F. , "..\lib\fbclient_ms.lib" , , }, ;
{ "FreeImage" , "HB_WITH_FREEIMAGE" , "..\Dist\FreeImage.dll" , .F. , "..\Dist\FreeImage.lib" , , }, ;
{ "bgd" , "HB_WITH_GD" , "..\bin\bgd.dll" , .F. , "..\lib\bgd.lib" , , }, ;
{ "libhpdf" , "HB_WITH_LIBHARU" , "..\libhpdf.dll" , .F. , "..\libhpdf.lib" , , }, ;
{ "libhpdf" , "HB_WITH_LIBHARU" , "..\lib_dll\libhpdf.dll" , .F. , "..\lib_dll\libhpdf.lib" , , }, ;
{ "libmysql" , "HB_WITH_MYSQL" , "..\bin\libmySQL.dll" , .F. , "..\lib\opt\libmySQL.lib" , , }, ;
{ "ociliba" , "HB_WITH_OCILIB" , "..\lib32\ociliba.dll" , .F. , "..\lib32\ociliba.lib" , "..\lib64\ociliba.lib" , "..\lib32\libociliba.a" }, ;
{ "ocilibm" , "HB_WITH_OCILIB" , "..\lib32\ocilibm.dll" , .F. , "..\lib32\ocilibm.lib" , "..\lib64\ocilibm.lib" , "..\lib32\libocilibm.a" }, ;
{ "ocilibw" , "HB_WITH_OCILIB" , "..\lib32\ocilibw.dll" , .F. , "..\lib32\ocilibw.lib" , "..\lib64\ocilibw.lib" , "..\lib32\libocilibw.a" }, ;
{ "libeay32" , "HB_WITH_OPENSSL" , "..\out32dll\libeay32.dll" , .T. , "..\out32dll\libeay32.lib" , , }, ;
{ "ssleay32" , "HB_WITH_OPENSSL" , "..\out32dll\ssleay32.dll" , .T. , "..\out32dll\ssleay32.lib" , , }, ;
{ "libeay32" , "HB_WITH_OPENSSL" , "..\dll\libeay32.dll" , .T. , "..\dll\libeay32.lib" , , }, ;
{ "ssleay32" , "HB_WITH_OPENSSL" , "..\dll\ssleay32.dll" , .T. , "..\dll\ssleay32.lib" , , }, ;
{ "libeay32" , "HB_WITH_OPENSSL" , "..\libeay32.dll" , .T. , "..\libeay32.lib" , , }, ;
{ "ssleay32" , "HB_WITH_OPENSSL" , "..\ssleay32.dll" , .T. , "..\ssleay32.lib" , , }, ;
{ "libpq" , "HB_WITH_PGSQL" , "..\lib\libpq.dll" , .T. , "..\lib\libpq.lib" , , } }
OutStd( "! Making import libs...", hb_osNewLine() )
#define _C_LIBPREFIX 1
#define _C_LIBEXT 2
#define _C_PROC_DLL 3
#define _C_PROC_LIBMS 4
#define _C_PROC_LIBMS64 5
#define _C_PROC_LIBA 6
#define _L_NAME 1
#define _L_BASE 2
#define _L_DLL 3
#define _L_DLLMS 4 /* Controls BCC's iditoic -a implib flag. */
#define _L_LIBMS 5
#define _L_LIBMS64 6
#define _L_LIBA 7
hComps := {;
"mingw" => { "lib", ".a" , {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, NIL, {| s, t | hb_fsCopy( s, t ) != FS_ERROR } }, ;
"mingw64" => { "lib", ".a" , {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, NIL, {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, {| s, t | hb_fsCopy( s, t ) != FS_ERROR } }, ;
"msvc" => { "" , ".lib", {| s, t | MSVC_implib( s, t, "x86" ) }, {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, NIL, NIL }, ;
"msvc64" => { "" , ".lib", {| s, t | MSVC_implib( s, t, "x64" ) }, NIL, {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, NIL }, ;
"pocc" => { "" , ".lib", {| s, t | hb_processRun( "polib " + FN_Escape( s ) + " /out:" + FN_Escape( t ) ) == 0 }, {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, NIL, NIL }, ;
"pocc64" => { "" , ".lib", {| s, t | hb_processRun( "polib " + FN_Escape( s ) + " /out:" + FN_Escape( t ) ) == 0 }, NIL, {| s, t | hb_fsCopy( s, t ) != FS_ERROR }, NIL }, ;
"watcom" => { "" , ".lib", {| s, t | hb_processRun( "wlib -q -o=" + FN_Escape( t ) + " " + FN_Escape( s ) ) == 0 }, NIL, NIL, NIL }, ;
"bcc" => { "" , ".lib", {| s, t, lib | hb_processRun( "implib " + iif( lib[ _L_DLLMS ], "-a", "" ) + " " + FN_Escape( t ) + " " + FN_Escape( s ) ) == 0 }, NIL, NIL, NIL } }
aLibs := {;
{ "ace32" , "HB_WITH_ADS" , "Redistribute\ace32.dll" , .F. , "Redistribute\ace32.lib" , , }, ;
{ "ace32" , "HB_WITH_ADS" , "ace32.dll" , .F. , "ace32.lib" , , }, ;
{ "ace32" , "HB_WITH_ADS" , "32bit\ace32.dll" , .F. , "32bit\ace32.lib" , , }, ;
{ "alleg" , "HB_WITH_ALLEGRO" , "..\bin\alleg42.dll" , .T. , "..\lib\alleg.lib" , , }, ;
{ "sde61" , "HB_WITH_APOLLO" , "..\sde61.dll" , .F. , "..\sde61.dll" , , }, ;
{ "sde7" , "HB_WITH_APOLLO" , "..\sde7.dll" , .F. , "..\sde7.dll" , , }, ;
{ "blat" , "HB_WITH_BLAT" , "..\blat.dll" , .T. , "..\blat.lib" , , }, ;
{ "cairo" , "HB_WITH_CAIRO" , "..\..\bin\libcairo-2.dll" , .T. , "..\..\lib\cairo.lib" , , "..\..\lib\libcairo.dll.a" }, ;
{ "libcurl" , "HB_WITH_CURL" , "..\libcurl.dll" , .T. , "..\libcurl.dll" , , "..\lib\libcurl.a" }, ;
{ "libcurl" , "HB_WITH_CURL" , "..\bin\libcurl.dll" , .T. , "..\bin\libcurl.dll" , , "..\lib\libcurldll.a" }, ;
{ "fbclient" , "HB_WITH_FIREBIRD" , "..\bin\fbclient.dll" , .F. , "..\lib\fbclient_ms.lib" , , }, ;
{ "FreeImage" , "HB_WITH_FREEIMAGE" , "..\Dist\FreeImage.dll" , .F. , "..\Dist\FreeImage.lib" , , }, ;
{ "bgd" , "HB_WITH_GD" , "..\bin\bgd.dll" , .F. , "..\lib\bgd.lib" , , }, ;
{ "libhpdf" , "HB_WITH_LIBHARU" , "..\libhpdf.dll" , .F. , "..\libhpdf.lib" , , }, ;
{ "libhpdf" , "HB_WITH_LIBHARU" , "..\lib_dll\libhpdf.dll" , .F. , "..\lib_dll\libhpdf.lib" , , }, ;
{ "libmysql" , "HB_WITH_MYSQL" , "..\bin\libmySQL.dll" , .F. , "..\lib\opt\libmySQL.lib" , , }, ;
{ "ociliba" , "HB_WITH_OCILIB" , "..\lib32\ociliba.dll" , .F. , "..\lib32\ociliba.lib" , "..\lib64\ociliba.lib" , "..\lib32\libociliba.a" }, ;
{ "ocilibm" , "HB_WITH_OCILIB" , "..\lib32\ocilibm.dll" , .F. , "..\lib32\ocilibm.lib" , "..\lib64\ocilibm.lib" , "..\lib32\libocilibm.a" }, ;
{ "ocilibw" , "HB_WITH_OCILIB" , "..\lib32\ocilibw.dll" , .F. , "..\lib32\ocilibw.lib" , "..\lib64\ocilibw.lib" , "..\lib32\libocilibw.a" }, ;
{ "libeay32" , "HB_WITH_OPENSSL" , "..\out32dll\libeay32.dll" , .T. , "..\out32dll\libeay32.lib" , , }, ;
{ "ssleay32" , "HB_WITH_OPENSSL" , "..\out32dll\ssleay32.dll" , .T. , "..\out32dll\ssleay32.lib" , , }, ;
{ "libeay32" , "HB_WITH_OPENSSL" , "..\dll\libeay32.dll" , .T. , "..\dll\libeay32.lib" , , }, ;
{ "ssleay32" , "HB_WITH_OPENSSL" , "..\dll\ssleay32.dll" , .T. , "..\dll\ssleay32.lib" , , }, ;
{ "libeay32" , "HB_WITH_OPENSSL" , "..\libeay32.dll" , .T. , "..\libeay32.lib" , , }, ;
{ "ssleay32" , "HB_WITH_OPENSSL" , "..\ssleay32.dll" , .T. , "..\ssleay32.lib" , , }, ;
{ "libpq" , "HB_WITH_PGSQL" , "..\lib\libpq.dll" , .T. , "..\lib\libpq.lib" , , } }
IF GetEnv( "HB_COMPILER" ) $ hComps
#define _C_LIBPREFIX 1
#define _C_LIBEXT 2
#define _C_PROC_DLL 3
#define _C_PROC_LIBMS 4
#define _C_PROC_LIBMS64 5
#define _C_PROC_LIBA 6
comp := hb_HGet( hComps, GetEnv( "HB_COMPILER" ) )
hComps := {;
"mingw" => { "lib", ".a" , {| s, t | hb_FCopy( s, t ) != FS_ERROR }, {| s, t | hb_FCopy( s, t ) != FS_ERROR }, NIL, {| s, t | hb_FCopy( s, t ) != FS_ERROR } }, ;
"mingw64" => { "lib", ".a" , {| s, t | hb_FCopy( s, t ) != FS_ERROR }, NIL, {| s, t | hb_FCopy( s, t ) != FS_ERROR }, {| s, t | hb_FCopy( s, t ) != FS_ERROR } }, ;
"msvc" => { "" , ".lib", {| s, t | MSVC_implib( s, t, "x86" ) }, {| s, t | hb_FCopy( s, t ) != FS_ERROR }, NIL, NIL }, ;
"msvc64" => { "" , ".lib", {| s, t | MSVC_implib( s, t, "x64" ) }, NIL, {| s, t | hb_FCopy( s, t ) != FS_ERROR }, NIL }, ;
"pocc" => { "" , ".lib", {| s, t | hb_processRun( "polib " + FN_Escape( s ) + " /out:" + FN_Escape( t ) ) == 0 }, {| s, t | hb_FCopy( s, t ) != FS_ERROR }, NIL, NIL }, ;
"pocc64" => { "" , ".lib", {| s, t | hb_processRun( "polib " + FN_Escape( s ) + " /out:" + FN_Escape( t ) ) == 0 }, NIL, {| s, t | hb_FCopy( s, t ) != FS_ERROR }, NIL }, ;
"watcom" => { "" , ".lib", {| s, t | hb_processRun( "wlib -q -o=" + FN_Escape( t ) + " " + FN_Escape( s ) ) == 0 }, NIL, NIL, NIL }, ;
"bcc" => { "" , ".lib", {| s, t, lib | hb_processRun( "implib " + iif( lib[ _L_DLLMS ], "-a", "" ) + " " + FN_Escape( t ) + " " + FN_Escape( s ) ) == 0 }, NIL, NIL, NIL } }
FOR EACH lib IN aLibs
lDone := .F.
IF ! Empty( cBase := GetEnv( lib[ _L_BASE ] ) )
cTarget := DirAddPathSep( cLibDir ) + comp[ _C_LIBPREFIX ] + lib[ _L_NAME ] + comp[ _C_LIBEXT ]
IF ! lDone .AND. ! Empty( comp[ _C_PROC_LIBA ] )
lDone := Eval( comp[ _C_PROC_LIBA ], DirAddPathSep( cBase ) + lib[ _L_LIBA ], cTarget, lib )
IF Lower( cCompiler ) $ hComps
comp := hb_HGet( hComps, Lower( cCompiler ) )
FOR EACH lib IN aLibs
lDone := .F.
cSource := ""
IF ! Empty( cBase := GetEnv( lib[ _L_BASE ] ) )
cTarget := DirAddPathSep( cLibDir ) + comp[ _C_LIBPREFIX ] + lib[ _L_NAME ] + comp[ _C_LIBEXT ]
IF ! lDone .AND. ! Empty( comp[ _C_PROC_LIBA ] ) .AND. ! Empty( lib[ _L_LIBA ] )
cSource := DirAddPathSep( cBase ) + lib[ _L_LIBA ]
IF hb_FileExists( cSource )
lDone := Eval( comp[ _C_PROC_LIBA ], cSource, cTarget, lib )
ENDIF
ENDIF
IF ! lDone .AND. ! Empty( comp[ _C_PROC_LIBMS64 ] ) .AND. ! Empty( lib[ _L_LIBMS64 ] )
cSource := DirAddPathSep( cBase ) + lib[ _L_LIBMS64 ]
IF hb_FileExists( cSource )
lDone := Eval( comp[ _C_PROC_LIBMS64 ], cSource, cTarget, lib )
ENDIF
ENDIF
IF ! lDone .AND. ! Empty( comp[ _C_PROC_LIBMS ] ) .AND. ! Empty( lib[ _L_LIBMS ] )
cSource := DirAddPathSep( cBase ) + lib[ _L_LIBMS ]
IF hb_FileExists( cSource )
lDone := Eval( comp[ _C_PROC_LIBMS ], cSource, cTarget, lib )
ENDIF
ENDIF
IF ! lDone .AND. ! Empty( comp[ _C_PROC_DLL ] ) .AND. ! Empty( lib[ _L_DLL ] )
cSource := DirAddPathSep( cBase ) + lib[ _L_DLL ]
IF hb_FileExists( cSource )
lDone := Eval( comp[ _C_PROC_DLL ], cSource, cTarget, lib )
ENDIF
ENDIF
ENDIF
IF ! lDone .AND. ! Empty( comp[ _C_PROC_LIBMS64 ] )
lDone := Eval( comp[ _C_PROC_LIBMS64 ], DirAddPathSep( cBase ) + lib[ _L_LIBMS64 ], cTarget, lib )
IF lDone
OutStd( "! Import library created: " + cTarget )
OutStd( " <= " + cSource )
OutStd( hb_osNewLine() )
ENDIF
IF ! lDone .AND. ! Empty( comp[ _C_PROC_LIBMS ] )
lDone := Eval( comp[ _C_PROC_LIBMS ], DirAddPathSep( cBase ) + lib[ _L_LIBMS ], cTarget, lib )
ENDIF
IF ! lDone .AND. ! Empty( comp[ _C_PROC_DLL ] )
lDone := Eval( comp[ _C_PROC_DLL ], DirAddPathSep( cBase ) + lib[ _L_DLL ], cTarget, lib )
ENDIF
ENDIF
IF lDone
OutStd( "! Import library created: " + cTarget, hb_osNewLine() )
ENDIF
NEXT
NEXT
ENDIF
ENDIF
RETURN

View File

@@ -79,7 +79,7 @@ if "%HB_SHELL%" == "nt" goto _SH_NT
:_NO_ICON_BIN
if "%HB_BUILD_IMPLIB%" == "yes" call "%~dp0hb-mkimp.bat"
if "%HB_BUILD_IMPLIB%" == "yes" "%HB_HOST_BIN_DIR%\hbrun" --hb:gtcgi "%~dp0hb-mkimp.prg"
:_NO_IMPLIB

View File

@@ -19,7 +19,7 @@ echo "hb20\INSTALL" >> _hbfiles
echo "hb20\COPYING" >> _hbfiles
echo "hb20\TODO" >> _hbfiles
echo "hb20\ChangeLog*" >> _hbfiles
echo "hb20\bin\hb-mkimp.bat" >> _hbfiles
echo "hb20\bin\hb-mkimp.prg" >> _hbfiles
echo "hb20\bin\harbour-20.dll" >> _hbfiles
echo "hb20\bin\harbourmt-20.dll" >> _hbfiles
echo "hb20\bin\harbour.exe" >> _hbfiles

View File

@@ -106,7 +106,7 @@ Section "Main components" hb_main
File "$%HB_ROOT%hb20\bin\hbrun.exe"
File "$%HB_ROOT%hb20\bin\hbtest.exe"
File "$%HB_ROOT%hb20\bin\hbformat.exe"
File "$%HB_ROOT%hb20\bin\hb-mkimp.bat"
File "$%HB_ROOT%hb20\bin\hb-mkimp.prg"
File "$%HB_ROOT%hb20\bin\hbmk.cfg"
File "$%HB_ROOT%hb20\bin\upx*.*"

View File

@@ -10,7 +10,7 @@
xcopy /y RELNOTES F:\hb\hb20\
xcopy /y /s ..\..\examples\*.* F:\hb\hb20\examples\
xcopy /y /s ..\..\tests\*.* F:\hb\hb20\tests\
xcopy /y ..\..\bin\hb-mkimp.bat F:\hb\hb20\bin\
xcopy /y ..\..\bin\hb-mkimp.prg F:\hb\hb20\bin\
xcopy /y HARBOUR_README_ADDONS F:\hb\hb20\addons\
xcopy /y HARBOUR_README_DJGPP F:\hb\hb20\comp\djgpp\
xcopy /y HARBOUR_README_MINGW F:\hb\hb20\comp\mingw\