Files
harbour-core/harbour/bin/hb-mkdyn.bat
Viktor Szakats 8fe54aeb52 2009-06-15 11:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/bnch_win.bat
  * bin/postinst.bat
  * bin/hb-mkimp.bat
  * bin/hb-mkdyn.bat
  * mpkg_dos.bat
  * mpkg_win.bat
    * Minor adjustment to prev.
2009-06-15 09:46:21 +00:00

505 lines
18 KiB
Batchfile

@rem
@rem $Id$
@rem
@echo off
rem ---------------------------------------------------------------
rem Copyright 2009 Viktor Szakats (harbour.01 syenar.hu)
rem See COPYING for licensing terms.
rem ---------------------------------------------------------------
rem NOTE: .prg files have to be compiled with -n1
rem NOTE: .c files have to be compiled with -DHB_DYNLIB
if not "%OS%" == "Windows_NT" echo This Harbour build script requires Windows NT or upper.
if not "%OS%" == "Windows_NT" goto :EOF
setlocal
if "%HB_ARCHITECTURE%" == "" ( echo HB_ARCHITECTURE needs to be set. && goto END )
if "%HB_COMPILER%" == "" ( echo HB_COMPILER needs to be set. && goto END )
set HB_DLL_VERSION=20
set HB_DLL_LIBS=hbcommon hbpp hbrtl hbmacro hblang hbcpage hbpcre hbzlib hbextern hbrdd rddntx rddnsx rddcdx rddfpt hbsix hbhsx hbusrrdd gtcgi gtpca gtstd gtwvt gtgui
set HB_DLL_LIBS_WIN=gtwin
set HB_DLL_LIBS_ST=hbvm
set HB_DLL_LIBS_MT=hbvmmt
if "%HB_ARCHITECTURE%" == "wce" set HB_DLL_LIBS_WIN=
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc64" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcia64" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_msvcarm" goto DO_MSVC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_mingw" goto DO_GCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_mingw64" goto DO_GCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_mingwarm" goto DO_GCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_cygwin" goto DO_GCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_bcc" goto DO_BCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_watcom" goto DO_WATCOM
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc" goto DO_POCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc64" goto DO_POCC
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_poccarm" goto DO_POCC
echo Platform %HB_ARCHITECTURE% / %HB_COMPILER% isn't supported.
goto END
:DO_MSVC
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
set _BIN_LIB=lib
set _BIN_LINK=link
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _BIN_LIB=xilib
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _BIN_LINK=xilink
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _BIN_LIB=xilib
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _BIN_LINK=xilink
rem ; Extract neutral objects
echo.> _hboneut.txt
for %%f in (%HB_DLL_LIBS% %HB_DLL_LIBS_WIN%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
%_BIN_LIB% "%HB_LIB_INSTALL%\%%f.lib" /nologo /list > _hboraw.txt
for /F %%p in (_hboraw.txt) do (
%_BIN_LIB% "%HB_LIB_INSTALL%\%%f.lib" /nologo /extract:%%p /out:%%p
echo %%p>> _hboneut.txt
)
del _hboraw.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
md _st
cd _st
rem ; Extract ST objects
echo.> ..\_hbost.txt
for %%f in (%HB_DLL_LIBS_ST%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
%_BIN_LIB% "%HB_LIB_INSTALL%\%%f.lib" /nologo /list > _hboraw.txt
for /F %%p in (_hboraw.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
%_BIN_LIB% "%HB_LIB_INSTALL%\%%f.lib" /nologo /extract:%%p /out:%%p
echo _st\%%p>> ..\_hbost.txt
)
)
)
del _hboraw.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
md _mt
cd _mt
rem ; Extract MT objects
echo.> ..\_hbomt.txt
for %%f in (%HB_DLL_LIBS_MT%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
%_BIN_LIB% "%HB_LIB_INSTALL%\%%f.lib" /nologo /list > _hboraw.txt
for /F %%p in (_hboraw.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
%_BIN_LIB% "%HB_LIB_INSTALL%\%%f.lib" /nologo /extract:%%p /out:%%p
echo _mt\%%p>> ..\_hbomt.txt
)
)
)
del _hboraw.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ia64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-ia64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_msvcarm" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_msvcarm" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvc64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ia64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_msvcia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-ia64
if "%HB_ARCHITECTURE%" == "win" set _SYSLIBS=user32.lib ws2_32.lib advapi32.lib gdi32.lib
if "%HB_ARCHITECTURE%" == "wce" set _SYSLIBS=wininet.lib ws2.lib
echo Making %_DST_NAME_ST%.dll... && %_BIN_LINK% /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" @_hboneut.txt @_hbost.txt %_SYSLIBS% %HB_DLLIBS%
echo Making %_DST_NAME_MT%.dll... && %_BIN_LINK% /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hboneut.txt @_hbomt.txt %_SYSLIBS% %HB_DLLIBS%
if exist "%HB_BIN_INSTALL%\%_DST_NAME_ST%.lib" move "%HB_BIN_INSTALL%\%_DST_NAME_ST%.lib" "%HB_LIB_INSTALL%\%_DST_NAME_ST%.lib"
if exist "%HB_BIN_INSTALL%\%_DST_NAME_MT%.lib" move "%HB_BIN_INSTALL%\%_DST_NAME_MT%.lib" "%HB_LIB_INSTALL%\%_DST_NAME_MT%.lib"
if exist "%HB_BIN_INSTALL%\%_DST_NAME_ST%.exp" move "%HB_BIN_INSTALL%\%_DST_NAME_ST%.exp" "%HB_LIB_INSTALL%\%_DST_NAME_ST%.exp"
if exist "%HB_BIN_INSTALL%\%_DST_NAME_MT%.exp" move "%HB_BIN_INSTALL%\%_DST_NAME_MT%.exp" "%HB_LIB_INSTALL%\%_DST_NAME_MT%.exp"
rem ; Cleanup
for /F %%o in (_hbost.txt) do ( del %%o )
del _hbost.txt
rmdir _st
for /F %%o in (_hbomt.txt) do ( del %%o )
del _hbomt.txt
rmdir _mt
for /F %%o in (_hboneut.txt) do ( del %%o )
del _hboneut.txt
cd ..
rmdir _dll
goto END
:DO_BCC
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
echo. c0d32.obj +> _hballst.txt
echo. c0d32.obj +> _hballmt.txt
rem ; Extract neutral objects
echo.> _hboneut.txt
for %%f in (%HB_DLL_LIBS% %HB_DLL_LIBS_WIN%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
tlib "%HB_LIB_INSTALL%\%%f.lib", _hboraw.txt > nul
echo.> _hboraw2.txt
for /F "tokens=1,2" %%f in (_hboraw.txt) do (
if "%%g" == "size" (
echo %%f.obj >> _hboraw2.txt
)
)
del _hboraw.txt
for /F %%p in (_hboraw2.txt) do (
tlib "%HB_LIB_INSTALL%\%%f.lib" * %%p > nul
echo %%p +>> _hballst.txt
echo %%p +>> _hballmt.txt
echo %%p>> _hboneut.txt
)
del _hboraw2.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
md _st
cd _st
rem ; Extract ST objects
echo.> ..\_hbost.txt
for %%f in (%HB_DLL_LIBS_ST%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
tlib "%HB_LIB_INSTALL%\%%f.lib", _hboraw.txt > nul
echo.> _hboraw2.txt
for /F "tokens=1,2" %%f in (_hboraw.txt) do (
if "%%g" == "size" (
echo %%f.obj >> _hboraw2.txt
)
)
del _hboraw.txt
for /F %%p in (_hboraw2.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
tlib "%HB_LIB_INSTALL%\%%f.lib" * %%p > nul
echo _st\%%p +>> ..\_hballst.txt
echo _st\%%p>> ..\_hbost.txt
)
)
)
del _hboraw2.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
md _mt
cd _mt
rem ; Extract MT objects
echo.> ..\_hbomt.txt
for %%f in (%HB_DLL_LIBS_MT%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
tlib "%HB_LIB_INSTALL%\%%f.lib", _hboraw.txt > nul
echo.> _hboraw2.txt
for /F "tokens=1,2" %%f in (_hboraw.txt) do (
if "%%g" == "size" (
echo %%f.obj >> _hboraw2.txt
)
)
del _hboraw.txt
for /F %%p in (_hboraw2.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
tlib "%HB_LIB_INSTALL%\%%f.lib" * %%p > nul
echo _mt\%%p +>> ..\_hballmt.txt
echo _mt\%%p>> ..\_hbomt.txt
)
)
)
del _hboraw2.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-bcc
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-bcc
echo. , "%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll",, cw32mt.lib import32.lib %HB_DLLIBS% >> _hballst.txt
echo. , "%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll",, cw32mt.lib import32.lib %HB_DLLIBS% >> _hballmt.txt
echo Making %_DST_NAME_ST%.dll... && ilink32 -q -Gn -C -aa -Tpd -Gi -x c0d32.obj @_hballst.txt
echo Making %_DST_NAME_MT%.dll... && ilink32 -q -Gn -C -aa -Tpd -Gi -x c0d32.obj @_hballmt.txt
if exist "%HB_BIN_INSTALL%\%_DST_NAME_ST%.lib" move "%HB_BIN_INSTALL%\%_DST_NAME_ST%.lib" "%HB_LIB_INSTALL%\%_DST_NAME_ST%.lib"
if exist "%HB_BIN_INSTALL%\%_DST_NAME_MT%.lib" move "%HB_BIN_INSTALL%\%_DST_NAME_MT%.lib" "%HB_LIB_INSTALL%\%_DST_NAME_MT%.lib"
del _hballst.txt
del _hballmt.txt
rem ; Cleanup
for /F %%o in (_hbost.txt) do ( del %%o )
del _hbost.txt
rmdir _st
for /F %%o in (_hbomt.txt) do ( del %%o )
del _hbomt.txt
rmdir _mt
for /F %%o in (_hboneut.txt) do ( del %%o )
del _hboneut.txt
cd ..
rmdir _dll
goto END
:DO_WATCOM
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
set HB_DLL_LIBS_EXTRA=hbmaindllh
md _dll
cd _dll
echo.> _hbsst.txt
echo.> _hbsmt.txt
for %%f in (%HB_DLL_LIBS% %HB_DLL_LIBS_WIN% %HB_DLL_LIBS_EXTRA%) do (
echo FILE '%HB_LIB_INSTALL%\%%f.lib'>> _hbsst.txt
echo FILE '%HB_LIB_INSTALL%\%%f.lib'>> _hbsmt.txt
)
copy /b /y "%HB_LIB_INSTALL%\%HB_DLL_LIBS_ST%.lib" . > nul && wlib -q -b "%HB_DLL_LIBS_ST%.lib" - mainwin.obj - mainstd.obj
copy /b /y "%HB_LIB_INSTALL%\%HB_DLL_LIBS_MT%.lib" . > nul && wlib -q -b "%HB_DLL_LIBS_MT%.lib" - mainwin.obj - mainstd.obj
echo FILE '%HB_DLL_LIBS_ST%.lib'>> _hbsst.txt
echo FILE '%HB_DLL_LIBS_MT%.lib'>> _hbsmt.txt
set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
echo Making %_DST_NAME_ST%.dll... && wlink OP QUIET SYS NT_DLL OP IMPLIB NAME '%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll' @_hbsst.txt LIB user32.lib, ws2_32.lib, advapi32.lib, gdi32.lib
echo Making %_DST_NAME_MT%.dll... && wlink OP QUIET SYS NT_DLL OP IMPLIB NAME '%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll' @_hbsmt.txt LIB user32.lib, ws2_32.lib, advapi32.lib, gdi32.lib
if exist "%HB_BIN_INSTALL%\%_DST_NAME_ST%.lib" move "%HB_BIN_INSTALL%\%_DST_NAME_ST%.lib" "%HB_LIB_INSTALL%\%_DST_NAME_ST%.lib"
if exist "%HB_BIN_INSTALL%\%_DST_NAME_MT%.lib" move "%HB_BIN_INSTALL%\%_DST_NAME_MT%.lib" "%HB_LIB_INSTALL%\%_DST_NAME_MT%.lib"
del %HB_DLL_LIBS_ST%.lib
del %HB_DLL_LIBS_MT%.lib
del _hbsst.txt
del _hbsmt.txt
cd ..
rmdir _dll
goto END
:DO_POCC
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
rem ; Extract neutral objects
echo.> _hboneut.txt
for %%f in (%HB_DLL_LIBS% %HB_DLL_LIBS_WIN%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
polib "%HB_LIB_INSTALL%\%%f.lib" /list /explode >> _hboneut.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
md _st
cd _st
rem ; Extract ST objects
echo.> ..\_hbost.txt
for %%f in (%HB_DLL_LIBS_ST%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
polib "%HB_LIB_INSTALL%\%%f.lib" /list /explode > _hboraw.txt
for /F %%p in (_hboraw.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
echo _st\%%p>> ..\_hbost.txt
)
)
)
del _hboraw.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
md _mt
cd _mt
rem ; Extract MT objects
echo.> ..\_hbomt.txt
for %%f in (%HB_DLL_LIBS_MT%) do (
if exist "%HB_LIB_INSTALL%\%%f.lib" (
echo Processing library: %%f
polib "%HB_LIB_INSTALL%\%%f.lib" /list /explode > _hboraw.txt
for /F %%p in (_hboraw.txt) do (
if not "%%p" == "maindll.obj" (
if not "%%p" == "maindllp.obj" (
echo _mt\%%p>> ..\_hbomt.txt
)
)
)
del _hboraw.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_pocc64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_poccarm" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_poccarm" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%" == "win" set _SYSLIBS=user32.lib ws2_32.lib advapi32.lib gdi32.lib
if "%HB_ARCHITECTURE%" == "wce" set _SYSLIBS=wininet.lib ws2.lib
echo Making %_DST_NAME_ST%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" @_hboneut.txt @_hbost.txt %_SYSLIBS% %HB_DLLIBS%
echo Making %_DST_NAME_MT%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hboneut.txt @_hbomt.txt %_SYSLIBS% %HB_DLLIBS%
polib "%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" /out:"%HB_LIB_INSTALL%\%_DST_NAME_ST%.lib"
polib "%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" /out:"%HB_LIB_INSTALL%\%_DST_NAME_MT%.lib"
rem ; Cleanup
for /F %%o in (_hbost.txt) do ( del %%o )
if exist _st\maindll.obj del _st\maindll.obj
if exist _st\maindllp.obj del _st\maindllp.obj
del _hbost.txt
rmdir _st
for /F %%o in (_hbomt.txt) do ( del %%o )
if exist _mt\maindll.obj del _mt\maindll.obj
if exist _mt\maindllp.obj del _mt\maindllp.obj
del _hbomt.txt
rmdir _mt
for /F %%o in (_hboneut.txt) do ( del %%o )
del _hboneut.txt
cd ..
rmdir _dll
goto END
:DO_GCC
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
md _dll
cd _dll
rem ; Extract neutral objects
echo.> _hboneut.txt
for %%f in (%HB_DLL_LIBS% %HB_DLL_LIBS_WIN%) do (
if exist "%HB_LIB_INSTALL%\lib%%f.a" (
echo Processing library: %%f
%HB_CCPREFIX%ar -x "%HB_LIB_INSTALL%\lib%%f.a"
%HB_CCPREFIX%ar -t "%HB_LIB_INSTALL%\lib%%f.a" >> _hboneut.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
md _st
cd _st
rem ; Extract ST objects
echo.> _hbost.txt
for %%f in (%HB_DLL_LIBS_ST%) do (
if exist "%HB_LIB_INSTALL%\lib%%f.a" (
echo Processing library: %%f
%HB_CCPREFIX%ar -x "%HB_LIB_INSTALL%\lib%%f.a"
%HB_CCPREFIX%ar -t "%HB_LIB_INSTALL%\lib%%f.a" >> _hbost.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
md _mt
cd _mt
rem ; Extract MT objects
echo.> _hbomt.txt
for %%f in (%HB_DLL_LIBS_MT%) do (
if exist "%HB_LIB_INSTALL%\lib%%f.a" (
echo Processing library: %%f
%HB_CCPREFIX%ar -x "%HB_LIB_INSTALL%\lib%%f.a"
%HB_CCPREFIX%ar -t "%HB_LIB_INSTALL%\lib%%f.a" >> _hbomt.txt
) else ( echo Library not found: %HB_LIB_INSTALL%\%%f.lib )
)
cd ..
setlocal enabledelayedexpansion
set _HBOST=
for /f %%f in (_hboneut.txt) do set _HBOST=!_HBOST! %%f
for /f %%f in (_st\_hbost.txt) do set _HBOST=!_HBOST! _st\%%f
set _HBOMT=
for /f %%f in (_hboneut.txt) do set _HBOMT=!_HBOMT! %%f
for /f %%f in (_mt\_hbomt.txt) do set _HBOMT=!_HBOMT! _mt\%%f
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_mingw" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_mingw" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_mingw64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_mingw64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-x64
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_mingwarm" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "wce_mingwarm" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-arm
if "%HB_ARCHITECTURE%" == "win" set _SYSLIBS=-luser32 -lws2_32 -ladvapi32 -lgdi32
if "%HB_ARCHITECTURE%" == "wce" set _SYSLIBS=-lwininet -lws2
echo Making %_DST_NAME_ST%.dll... && %HB_CCPREFIX%gcc -shared -o "%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" %_HBOST% %HB_USER_LDFLAGS% %_SYSLIBS% %HB_DLLIBS% -Wl,--output-def,"%HB_BIN_INSTALL%\%_DST_NAME_ST%.def"
echo Making %_DST_NAME_MT%.dll... && %HB_CCPREFIX%gcc -shared -o "%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" %_HBOMT% %HB_USER_LDFLAGS% %_SYSLIBS% %HB_DLLIBS% -Wl,--output-def,"%HB_BIN_INSTALL%\%_DST_NAME_MT%.def"
rem ,--out-implib,"%HB_LIB_INSTALL%\lib%_DST_NAME_ST%.a"
rem ,--out-implib,"%HB_LIB_INSTALL%\lib%_DST_NAME_MT%.a"
rem ; Cleanup
cd _st
for /F %%o in (_hbost.txt) do ( del %%o )
del _hbost.txt
cd ..
rmdir _st
cd _mt
for /F %%o in (_hbomt.txt) do ( del %%o )
del _hbomt.txt
cd ..
rmdir _mt
for /F %%o in (_hboneut.txt) do ( del %%o )
del _hboneut.txt
cd ..
rmdir _dll
goto END
:END
endlocal