2009-03-16 00:38 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/postinst.bat
+ Added owatcom and pocc support for implib generation.
* utils/hbmk2/hbmk2.prg
+ Fixed win/pocc support.
+ Added resource support for win/pocc.
+ Added .dll support for win/pocc.
+ Added win/xcc support (untested).
+ -DHB_DYNLIB is passed to C compiler in -hbdyn (.dll) mode
for win targets. (still need fixing to create usable .dlls)
; NOTE: pocc support is very limited as pocc compiler doesn't
support multiple input files.
This commit is contained in:
@@ -8,6 +8,20 @@
|
||||
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2009-03-16 00:38 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* bin/postinst.bat
|
||||
+ Added owatcom and pocc support for implib generation.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Fixed win/pocc support.
|
||||
+ Added resource support for win/pocc.
|
||||
+ Added .dll support for win/pocc.
|
||||
+ Added win/xcc support (untested).
|
||||
+ -DHB_DYNLIB is passed to C compiler in -hbdyn (.dll) mode
|
||||
for win targets. (still need fixing to create usable .dlls)
|
||||
; NOTE: pocc support is very limited as pocc compiler doesn't
|
||||
support multiple input files.
|
||||
|
||||
2009-03-15 20:51 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* INSTALL
|
||||
+ Documented cross-build config for minwgce.
|
||||
|
||||
@@ -97,6 +97,60 @@ if "%HB_BUILD_IMPLIB%" == "yes" (
|
||||
|
||||
goto END
|
||||
)
|
||||
|
||||
if "%HB_COMPILER%" == "pocc" (
|
||||
|
||||
if exist "%HB_DIR_ADS%\Redistribute\ace32.lib" copy /b /y "%HB_DIR_ADS%\Redistribute\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
|
||||
if exist "%HB_DIR_ADS%\ace32.lib" copy /b /y "%HB_DIR_ADS%\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
|
||||
if exist "%HB_DIR_ADS%\32bit\ace32.lib" copy /b /y "%HB_DIR_ADS%\32bit\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib"
|
||||
if exist "%HB_DIR_ALLEGRO%\lib\alleg.lib" copy /b /y "%HB_DIR_ALLEGRO%\lib\alleg.lib" "%HB_LIB_INSTALL%\alleg.lib"
|
||||
if exist "%HB_DIR_APOLLO%\sde61.dll" polib "%HB_DIR_APOLLO%\sde61.dll" /out:"%HB_LIB_INSTALL%\sde61.lib"
|
||||
if exist "%HB_DIR_BLAT%\full\blat.lib" copy /b /y "%HB_DIR_BLAT%\full\blat.lib" "%HB_LIB_INSTALL%\blat.lib"
|
||||
if exist "%HB_DIR_CURL%\libcurl.dll" polib "%HB_DIR_CURL%\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib"
|
||||
if exist "%HB_DIR_CURL%\bin\libcurl.dll" polib "%HB_DIR_CURL%\bin\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib"
|
||||
if exist "%HB_DIR_FIREBIRD%\lib\fbclient_ms.lib" copy /b /y "%HB_DIR_FIREBIRD%\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\fbclient.lib"
|
||||
if exist "%HB_DIR_FREEIMAGE%\Dist\FreeImage.lib" copy /b /y "%HB_DIR_FREEIMAGE%\Dist\FreeImage.lib" "%HB_LIB_INSTALL%\FreeImage.lib"
|
||||
if exist "%HB_DIR_GD%\lib\bgd.lib" copy /b /y "%HB_DIR_GD%\lib\bgd.lib" "%HB_LIB_INSTALL%\bgd.lib"
|
||||
if exist "%HB_DIR_LIBHARU%\libhpdf.lib" copy /b /y "%HB_DIR_LIBHARU%\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib"
|
||||
if exist "%HB_DIR_LIBHARU%\lib_dll\libhpdf.lib" copy /b /y "%HB_DIR_LIBHARU%\lib_dll\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib"
|
||||
if exist "%HB_DIR_MYSQL%\lib\opt\libmySQL.lib" copy /b /y "%HB_DIR_MYSQL%\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\libmySQL.lib"
|
||||
if exist "%HB_DIR_OPENSSL%\out32dll\libeay32.lib" copy /b /y "%HB_DIR_OPENSSL%\out32dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
|
||||
if exist "%HB_DIR_OPENSSL%\dll\libeay32.lib" copy /b /y "%HB_DIR_OPENSSL%\dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
|
||||
if exist "%HB_DIR_OPENSSL%\libeay32.lib" copy /b /y "%HB_DIR_OPENSSL%\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib"
|
||||
if exist "%HB_DIR_OPENSSL%\out32dll\ssleay32.lib" copy /b /y "%HB_DIR_OPENSSL%\out32dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
|
||||
if exist "%HB_DIR_OPENSSL%\dll\ssleay32.lib" copy /b /y "%HB_DIR_OPENSSL%\dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
|
||||
if exist "%HB_DIR_OPENSSL%\ssleay32.lib" copy /b /y "%HB_DIR_OPENSSL%\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib"
|
||||
if exist "%HB_DIR_PGSQL%\lib\libpq.lib" copy /b /y "%HB_DIR_PGSQL%\lib\libpq.lib" "%HB_LIB_INSTALL%\libpq.lib"
|
||||
|
||||
goto END
|
||||
)
|
||||
|
||||
if "%HB_COMPILER%" == "owatcom" (
|
||||
|
||||
if exist "%HB_DIR_ADS%\Redistribute\ace32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\ace32.lib" "%HB_DIR_ADS%\Redistribute\ace32.dll"
|
||||
if exist "%HB_DIR_ADS%\ace32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\ace32.lib" "%HB_DIR_ADS%\ace32.dll"
|
||||
if exist "%HB_DIR_ADS%\32bit\ace32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\ace32.lib" "%HB_DIR_ADS%\32bit\ace32.dll"
|
||||
if exist "%HB_DIR_ALLEGRO%\lib\alleg.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\alleg.lib" "%HB_DIR_ALLEGRO%\bin\alleg42.dll"
|
||||
if exist "%HB_DIR_APOLLO%\sde61.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\sde61.lib" "%HB_DIR_APOLLO%\sde61.dll"
|
||||
if exist "%HB_DIR_BLAT%\full\blat.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\blat.lib" "%HB_DIR_BLAT%\full\blat.dll"
|
||||
if exist "%HB_DIR_CURL%\libcurl.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libcurl.lib" "%HB_DIR_CURL%\libcurl.dll"
|
||||
if exist "%HB_DIR_CURL%\bin\libcurl.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libcurl.lib" "%HB_DIR_CURL%\bin\libcurl.dll"
|
||||
if exist "%HB_DIR_FIREBIRD%\lib\fbclient_ms.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\fbclient.lib" "%HB_LIB_INSTALL%\fblient.lib"
|
||||
if exist "%HB_DIR_FREEIMAGE%\Dist\FreeImage.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\FreeImage.lib" "%HB_DIR_FREEIMAGE%\Dist\FreeImage.dll"
|
||||
if exist "%HB_DIR_GD%\lib\bgd.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\bgd.lib" "%HB_DIR_GD%\bin\bgd.dll"
|
||||
if exist "%HB_DIR_LIBHARU%\libhpdf.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\libhpdf.lib" "%HB_DIR_LIBHARU%\libhpdf.dll"
|
||||
if exist "%HB_DIR_LIBHARU%\lib_dll\libhpdf.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\libhpdf.lib" "%HB_DIR_LIBHARU%\lib_dll\libhpdf.dll"
|
||||
if exist "%HB_DIR_MYSQL%\lib\opt\libmySQL.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\libmySQL.lib" "%HB_DIR_MYSQL%\bin\libmySQL.dll"
|
||||
if exist "%HB_DIR_OPENSSL%\out32dll\libeay32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\libeay32.lib" "%HB_DIR_OPENSSL%\out32dll\libeay32.dll"
|
||||
if exist "%HB_DIR_OPENSSL%\dll\libeay32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\libeay32.lib" "%HB_DIR_OPENSSL%\dll\libeay32.dll"
|
||||
if exist "%HB_DIR_OPENSSL%\libeay32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\libeay32.lib" "%HB_DIR_OPENSSL%\libeay32.dll"
|
||||
if exist "%HB_DIR_OPENSSL%\out32dll\ssleay32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\ssleay32.lib" "%HB_DIR_OPENSSL%\out32dll\ssleay32.dll"
|
||||
if exist "%HB_DIR_OPENSSL%\dll\ssleay32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\ssleay32.lib" "%HB_DIR_OPENSSL%\dll\ssleay32.dll"
|
||||
if exist "%HB_DIR_OPENSSL%\ssleay32.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\ssleay32.lib" "%HB_DIR_OPENSSL%\ssleay32.dll"
|
||||
if exist "%HB_DIR_PGSQL%\lib\libpq.lib" wlib.exe -q -o="%HB_LIB_INSTALL%\libpq.lib" "%HB_DIR_PGSQL%\lib\libpq.dll"
|
||||
|
||||
goto END
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -1624,9 +1624,12 @@ FUNCTION Main( ... )
|
||||
cResExt := ".res"
|
||||
ENDIF
|
||||
|
||||
CASE t_cARCH == "win" .AND. t_cCOMP == "pocc"
|
||||
CASE ( t_cARCH == "win" .AND. t_cCOMP == "pocc" ) .OR. ;
|
||||
( t_cARCH == "win" .AND. t_cCOMP == "xcc" )
|
||||
|
||||
/* TODO: pocc doesn't support multiple .c input files.
|
||||
This means we need to do the heavy lifting. */
|
||||
|
||||
IF s_lGUI
|
||||
AAdd( s_aOPTL, "/subsystem:windows" )
|
||||
ELSE
|
||||
@@ -1636,23 +1639,37 @@ FUNCTION Main( ... )
|
||||
cLibExt := ".lib"
|
||||
cObjExt := ".obj"
|
||||
cLibLibExt := cLibExt
|
||||
cBin_CompC := "pocc.exe"
|
||||
cOpt_CompC := "/Ze /Go /Ot /Tx86-coff {FC} /I{DI} {LC}"
|
||||
cBin_Lib := "polib.exe"
|
||||
IF t_cCOMP == "xcc"
|
||||
cBin_CompC := "xcc.exe"
|
||||
cBin_Lib := "xlib.exe"
|
||||
cBin_Link := "xlink.exe"
|
||||
cBin_Res := "xrc.exe"
|
||||
ELSE
|
||||
cBin_CompC := "pocc.exe"
|
||||
cBin_Lib := "polib.exe"
|
||||
cBin_Link := "polink.exe"
|
||||
cBin_Res := "porc.exe"
|
||||
ENDIF
|
||||
cBin_Dyn := cBin_Link
|
||||
cOpt_CompC := "/c /Ze /Go {FC} /I{DI} {LC}"
|
||||
cOpt_Lib := "{FA} /out:{OL} {LO}"
|
||||
cOpt_Dyn := "{FD} /dll /out:{OD} {DL} {LO} {LL} {LS}"
|
||||
IF t_cCOMP == "pocc"
|
||||
AAdd( s_aOPTC, "/Ot" )
|
||||
AAdd( s_aOPTC, "/Tx86-coff" )
|
||||
ENDIF
|
||||
cOpt_Res := "{LR}"
|
||||
cResExt := ".res"
|
||||
cOpt_Lib := "{FA} /out:{OL} {LO}"
|
||||
IF s_lMT
|
||||
AAdd( s_aOPTC, "/MT" )
|
||||
ENDIF
|
||||
IF lStopAfterCComp
|
||||
AAdd( s_aOPTC, "/c" )
|
||||
IF ( Len( s_aPRG ) + Len( s_aC ) ) == 1
|
||||
AAdd( s_aOPTC, "/Fo{OO}" )
|
||||
ENDIF
|
||||
ELSE
|
||||
AAdd( s_aOPTC, "/Fo{OE}" )
|
||||
ENDIF
|
||||
cBin_Link := "polink.exe"
|
||||
cOpt_Link := "{LO} {DL} {FL} {LL}"
|
||||
cOpt_Link := "{LO} {DL} {FL} {LL} {LS}"
|
||||
cLibPathPrefix := "/libpath:"
|
||||
cLibPathSep := " "
|
||||
IF s_lSHARED
|
||||
@@ -1664,7 +1681,7 @@ FUNCTION Main( ... )
|
||||
IF s_lDEBUG
|
||||
AAdd( s_aOPTL, "/debug" )
|
||||
ENDIF
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "wsock32", "advapi32", "gdi32" } )
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "wsock32", "advapi32", "gdi32" } )
|
||||
|
||||
/* TODO */
|
||||
CASE t_cARCH == "linux" .AND. t_cCOMP == "icc"
|
||||
@@ -1675,9 +1692,12 @@ FUNCTION Main( ... )
|
||||
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl", "uuid", "ole32" } )
|
||||
ENDIF
|
||||
CASE t_cARCH == "win" .AND. t_cCOMP == "msvcce" /* NOTE: Cross-platform: wince/ARM on win/x86 */
|
||||
CASE t_cARCH == "win" .AND. t_cCOMP == "xcc"
|
||||
ENDCASE
|
||||
|
||||
IF lCreateDyn .AND. t_cARCH == "win"
|
||||
AAdd( s_aOPTC, "-DHB_DYNLIB" )
|
||||
ENDIF
|
||||
|
||||
/* Do entry function detection on platform required and supported */
|
||||
IF ! lStopAfterCComp .AND. s_cMAIN == NIL
|
||||
tmp := iif( Lower( FN_ExtGet( s_cFIRST ) ) == ".prg" .OR. Empty( FN_ExtGet( s_cFIRST ) ), FN_ExtSet( s_cFIRST, ".c" ), s_cFIRST )
|
||||
|
||||
Reference in New Issue
Block a user