2009-08-13 12:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
* OS/2 prerequisites added. (currently not relevant, but anyway)
* bin/postinst.bat
* bin/hb-mkdyn.bat
* make_gnu.bat
+ Reworked the way .dll generation is done in Harbour build process.
New method solves the problem in one pass, instead of invoking
make twice and requiring starter script to control this.
The new trick is that CC_RULE will generate both dynamic and static
objects for libs included in the .dll for compilers where such trick
is necessary (currently all win/wce compilers except gcc based ones).
* Changed HB_BUILD_LOG forming. Since at this point ARCH/COMP values
aren't known (and just for this purpose it's not worth to maintain
parallel detection logic in start script), the automatically
generated log file will contain the date/time. Maybe even this will
be dropped in the future. Since this is the only remaining logic
in starter script (plus finding correct GNU Make, but that's even
smaller role)
; I didn't test watcom yet, plus mpkg_gnu.bat isn't working yet,
it needs to be moved to postinst phase.
; After these changes, there is basically no need for make starter
scripts. Maybe I'll even remove included make tools to make things
cleaner/leaner.
; TODO: Revise starter .sh scripts.
; TODO: mpkg_gnu.bat rework to run from postinst.
; TODO: Do some cleanup, remove redundancy in settings, etcetc.
; TOFIX: Fix watcom .dll generation.
* config/global.cf
! Deleted double MAKE info line.
+ Showing detected shell in verbose mode.
+ Added mkdir/rm detection for OS/2 shells. (commented)
% Optimized HB_BIN_COMPILE detection by using $(realpath) function.
Now it's only detected once per make run.
+ Added HB_*_INSTALL value defaulting similar to make_gnu.sh
for *nix platforms. (adding /harbour postfix to lib/inc dirs when
HB_INSTALL_PREFIX is system location (/usr or /opt). Please review.
* config/lib.cf
+ Added HB_DYN_COMPILE to control compiling for dynamic libs in
a sperate command.
+ Added HB_DYN_LIBS to hold list of libs which should be built
with separate command for dynamic libs.
* config/rules.cf
+ Added logic for duplicate CC_RULE.
TODO: Notice that it's not yet working when CC_RULE is overridden
on compiler level. Help would be appreciate here.
* config/wce/msvcarm.cf
* config/wce/poccarm.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/pocc.cf
* config/win/bcc.cf
+ Enabled HB_DYN_COMPILE for these compilers.
* contrib/gtqtc/gtqtc.hbc
! Fixed lib order for mingw, supc++ moved to the end of list.
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* external/Makefile
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gtsln/Makefile
* contrib/Makefile
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbssl/Makefile
+ Indentation.
% Using ':=' in '*_OK := $(foreach...' expressions, instead of
former unsafe '+='.
* config/win/mingw.cf
* config/wce/mingwarm.cf
* config/win/cygwin.cf
+ Using 'crs' instead of 'r' as AR command.
* config/install.cf
+ Don't define rule if INSTALL_RULE is empty.
Cannot currently happen.
* config/header.cf
% Minor optimization.
This commit is contained in:
@@ -17,6 +17,112 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-08-13 12:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* INSTALL
|
||||
* OS/2 prerequisites added. (currently not relevant, but anyway)
|
||||
|
||||
* bin/postinst.bat
|
||||
* bin/hb-mkdyn.bat
|
||||
* make_gnu.bat
|
||||
+ Reworked the way .dll generation is done in Harbour build process.
|
||||
New method solves the problem in one pass, instead of invoking
|
||||
make twice and requiring starter script to control this.
|
||||
The new trick is that CC_RULE will generate both dynamic and static
|
||||
objects for libs included in the .dll for compilers where such trick
|
||||
is necessary (currently all win/wce compilers except gcc based ones).
|
||||
* Changed HB_BUILD_LOG forming. Since at this point ARCH/COMP values
|
||||
aren't known (and just for this purpose it's not worth to maintain
|
||||
parallel detection logic in start script), the automatically
|
||||
generated log file will contain the date/time. Maybe even this will
|
||||
be dropped in the future. Since this is the only remaining logic
|
||||
in starter script (plus finding correct GNU Make, but that's even
|
||||
smaller role)
|
||||
; I didn't test watcom yet, plus mpkg_gnu.bat isn't working yet,
|
||||
it needs to be moved to postinst phase.
|
||||
; After these changes, there is basically no need for make starter
|
||||
scripts. Maybe I'll even remove included make tools to make things
|
||||
cleaner/leaner.
|
||||
; TODO: Revise starter .sh scripts.
|
||||
; TODO: mpkg_gnu.bat rework to run from postinst.
|
||||
; TODO: Do some cleanup, remove redundancy in settings, etcetc.
|
||||
; TOFIX: Fix watcom .dll generation.
|
||||
|
||||
* config/global.cf
|
||||
! Deleted double MAKE info line.
|
||||
+ Showing detected shell in verbose mode.
|
||||
+ Added mkdir/rm detection for OS/2 shells. (commented)
|
||||
% Optimized HB_BIN_COMPILE detection by using $(realpath) function.
|
||||
Now it's only detected once per make run.
|
||||
+ Added HB_*_INSTALL value defaulting similar to make_gnu.sh
|
||||
for *nix platforms. (adding /harbour postfix to lib/inc dirs when
|
||||
HB_INSTALL_PREFIX is system location (/usr or /opt). Please review.
|
||||
|
||||
* config/lib.cf
|
||||
+ Added HB_DYN_COMPILE to control compiling for dynamic libs in
|
||||
a sperate command.
|
||||
+ Added HB_DYN_LIBS to hold list of libs which should be built
|
||||
with separate command for dynamic libs.
|
||||
|
||||
* config/rules.cf
|
||||
+ Added logic for duplicate CC_RULE.
|
||||
TODO: Notice that it's not yet working when CC_RULE is overridden
|
||||
on compiler level. Help would be appreciate here.
|
||||
|
||||
* config/wce/msvcarm.cf
|
||||
* config/wce/poccarm.cf
|
||||
* config/win/watcom.cf
|
||||
* config/win/icc.cf
|
||||
* config/win/msvc.cf
|
||||
* config/win/xcc.cf
|
||||
* config/win/pocc.cf
|
||||
* config/win/bcc.cf
|
||||
+ Enabled HB_DYN_COMPILE for these compilers.
|
||||
|
||||
* contrib/gtqtc/gtqtc.hbc
|
||||
! Fixed lib order for mingw, supc++ moved to the end of list.
|
||||
|
||||
* external/sqlite3/Makefile
|
||||
* external/libhpdf/Makefile
|
||||
* external/libpng/Makefile
|
||||
* external/Makefile
|
||||
* source/rtl/gtxwc/Makefile
|
||||
* source/rtl/gtcrs/Makefile
|
||||
* source/rtl/gtsln/Makefile
|
||||
* contrib/Makefile
|
||||
* contrib/gtalleg/Makefile
|
||||
* contrib/hbmysql/Makefile
|
||||
* contrib/hbodbc/Makefile
|
||||
* contrib/hbsqlit3/Makefile
|
||||
* contrib/hbqt/Makefile
|
||||
* contrib/hbfbird/Makefile
|
||||
* contrib/hbcurl/Makefile
|
||||
* contrib/gtqtc/Makefile
|
||||
* contrib/rddsql/sddmy/Makefile
|
||||
* contrib/rddsql/sddpg/Makefile
|
||||
* contrib/rddsql/sddfb/Makefile
|
||||
* contrib/rddsql/sddodbc/Makefile
|
||||
* contrib/hbhpdf/Makefile
|
||||
* contrib/hbpgsql/Makefile
|
||||
* contrib/rddads/Makefile
|
||||
* contrib/hbfimage/Makefile
|
||||
* contrib/hbgd/Makefile
|
||||
* contrib/hbssl/Makefile
|
||||
+ Indentation.
|
||||
% Using ':=' in '*_OK := $(foreach...' expressions, instead of
|
||||
former unsafe '+='.
|
||||
|
||||
* config/win/mingw.cf
|
||||
* config/wce/mingwarm.cf
|
||||
* config/win/cygwin.cf
|
||||
+ Using 'crs' instead of 'r' as AR command.
|
||||
|
||||
* config/install.cf
|
||||
+ Don't define rule if INSTALL_RULE is empty.
|
||||
Cannot currently happen.
|
||||
|
||||
* config/header.cf
|
||||
% Minor optimization.
|
||||
|
||||
2009-08-13 09:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/include/hbthread.h
|
||||
* pacified MinGW warnings caused by recent modification
|
||||
|
||||
@@ -109,7 +109,12 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
|
||||
----
|
||||
You can use OS/2, Windows NT compatible, or Linux hosts to create
|
||||
OS/2 builds.
|
||||
Some tricks are required when non-OS/2 host is used, see in examples.
|
||||
Some config tricks are required when non-OS/2 host is used, see in
|
||||
examples.
|
||||
|
||||
When OS/2 host is used, GNU mkdir and rm utilities will have to
|
||||
present in PATH. You can get them from this link:
|
||||
ftp://hobbes.nmsu.edu/pub/os2/util/file/gnufutil.zip
|
||||
|
||||
> set HB_COMPILER=<[gcc]|watcom>
|
||||
> set HB_INSTALL_PREFIX=<DIR>
|
||||
|
||||
@@ -23,12 +23,60 @@ if "%HB_BIN_INSTALL%" == "" ( echo HB_BIN_INSTALL needs to be set. && goto END )
|
||||
if "%HB_LIB_INSTALL%" == "" ( echo HB_LIB_INSTALL 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
|
||||
set HB_DLL_LIBS=source\common source\pp source\rtl source\macro source\lang source\codepage source\hbpcre source\hbzlib source\hbextern source\rdd source\rdd\dbfntx source\rdd\dbfnsx source\rdd\dbfcdx source\rdd\dbffpt source\rdd\hbsix source\rdd\hsx source\rdd\usrrdd source\rtl\gtcgi source\rtl\gtpca source\rtl\gtstd source\rtl\gtwvt source\rtl\gtgui
|
||||
set HB_DLL_LIBS_WIN=source\rtl\gtwin
|
||||
set HB_DLL_LIBS_ST=source\vm
|
||||
set HB_DLL_LIBS_MT=source\vm\vmmt
|
||||
set HB_DLL_LIBS_WATCOM=source\vm\maindllh
|
||||
set HB_OBJ_EXT=.obj
|
||||
set HB_OBJ_DIR=obj\%HB_ARCHITECTURE%\%HB_COMPILER%%HB_BUILD_NAME%
|
||||
set HB_OBJ_PREF=
|
||||
set HB_OBJ_POST=
|
||||
|
||||
if "%HB_ARCHITECTURE%" == "wce" set HB_DLL_LIBS_WIN=
|
||||
set _DST_NAME_ST=
|
||||
set _DST_NAME_MT=
|
||||
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%_%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%_%HB_COMPILER%" == "win_cygwin" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
|
||||
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_cygwin" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
|
||||
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_bcc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-bcc
|
||||
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_bcc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-bcc
|
||||
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_watcom" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
|
||||
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_watcom" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
|
||||
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 "%_DST_NAME_ST%" == "" ( echo Harbour .dll creation isn't supported for this platform. && goto END )
|
||||
|
||||
if "%HB_ARCHITECTURE%" == "wce" set HB_DLL_LIBS_WIN=
|
||||
if not "%HB_COMPILER%" == "watcom" set HB_DLL_LIBS_WATCOM=
|
||||
if "%HB_COMPILER%" == "mingw" set HB_OBJ_EXT=.o
|
||||
if "%HB_COMPILER%" == "mingw64" set HB_OBJ_EXT=.o
|
||||
if "%HB_COMPILER%" == "mingwarm" set HB_OBJ_EXT=.o
|
||||
if "%HB_COMPILER%" == "cygwin" set HB_OBJ_EXT=.o
|
||||
|
||||
echo.> _hballst.txt
|
||||
echo.> _hballmt.txt
|
||||
|
||||
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_icc" goto DO_MSVC
|
||||
if "%HB_ARCHITECTURE%_%HB_COMPILER%" == "win_iccia64" goto DO_MSVC
|
||||
@@ -51,263 +99,82 @@ goto END
|
||||
|
||||
:DO_MSVC
|
||||
|
||||
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
|
||||
call :MAKE_LISTS
|
||||
|
||||
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%
|
||||
echo Making %_DST_NAME_ST%.dll... && %_BIN_LINK% /nologo /dll /subsystem:console /out:"%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" @_hballst.txt %_SYSLIBS% %HB_DLLLIBS%
|
||||
echo Making %_DST_NAME_MT%.dll... && %_BIN_LINK% /nologo /dll /subsystem:console /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hballmt.txt %_SYSLIBS% %HB_DLLLIBS%
|
||||
|
||||
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
|
||||
goto END
|
||||
|
||||
for /F %%o in (_hbomt.txt) do ( del %%o )
|
||||
del _hbomt.txt
|
||||
rmdir _mt
|
||||
:DO_GCC
|
||||
|
||||
for /F %%o in (_hboneut.txt) do ( del %%o )
|
||||
del _hboneut.txt
|
||||
cd ..
|
||||
rmdir _dll
|
||||
call :MAKE_LISTS
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
set _HBOST=
|
||||
for /f %%f in (_hballst.txt) do set _HBOST=!_HBOST! %%f
|
||||
set _HBOMT=
|
||||
for /f %%f in (_hballmt.txt) do set _HBOMT=!_HBOMT! %%f
|
||||
|
||||
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_DLLLIBS% -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_DLLLIBS% -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"
|
||||
|
||||
goto END
|
||||
|
||||
:DO_BCC
|
||||
|
||||
echo Making .dlls for %HB_ARCHITECTURE% / %HB_COMPILER%...
|
||||
echo. c0d32%HB_OBJ_EXT% +> _hballst.txt
|
||||
echo. c0d32%HB_OBJ_EXT% +> _hballmt.txt
|
||||
|
||||
md _dll
|
||||
cd _dll
|
||||
set HB_OBJ_PREF=
|
||||
set HB_OBJ_POST= +
|
||||
call :MAKE_LISTS
|
||||
|
||||
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
|
||||
echo Making %_DST_NAME_ST%.dll... && ilink32 -q -Gn -C -aa -Tpd -Gi -x @_hballst.txt, "%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll",, cw32mt.lib import32.lib %HB_DLLLIBS%
|
||||
echo Making %_DST_NAME_MT%.dll... && ilink32 -q -Gn -C -aa -Tpd -Gi -x @_hballmt.txt, "%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll",, cw32mt.lib import32.lib %HB_DLLLIBS%
|
||||
|
||||
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
|
||||
set HB_OBJ_PREF=FILE '
|
||||
set HB_OBJ_POST='
|
||||
call :MAKE_LISTS
|
||||
|
||||
echo.> _hbsst.txt
|
||||
for %%f in (_hballst.txt) do echo FILE '%%f'>> _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
|
||||
)
|
||||
for %%f in (_hballst.txt) do echo FILE '%%f'>> _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
|
||||
copy /b /y "%HB_LIB_INSTALL%\%HB_DLL_LIBS_ST%.lib" . > nul && wlib -q -b "%HB_DLL_LIBS_ST%.lib" - mainwin%HB_OBJ_EXT% - mainstd%HB_OBJ_EXT%
|
||||
copy /b /y "%HB_LIB_INSTALL%\%HB_DLL_LIBS_MT%.lib" . > nul && wlib -q -b "%HB_DLL_LIBS_MT%.lib" - mainwin%HB_OBJ_EXT% - mainstd%HB_OBJ_EXT%
|
||||
|
||||
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
|
||||
echo Making %_DST_NAME_ST%.dll... && wlink OP QUIET SYS NT_DLL OP IMPLIB NAME '%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll' @_hballst.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' @_hballmt.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"
|
||||
@@ -317,190 +184,80 @@ 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
|
||||
call :MAKE_LISTS
|
||||
|
||||
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%
|
||||
echo Making %_DST_NAME_ST%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_ST%.dll" @_hballst.txt %_SYSLIBS% %HB_DLLLIBS%
|
||||
echo Making %_DST_NAME_MT%.dll... && polink /nologo /dll /out:"%HB_BIN_INSTALL%\%_DST_NAME_MT%.dll" @_hballmt.txt %_SYSLIBS% %HB_DLLLIBS%
|
||||
|
||||
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
|
||||
:MAKE_LISTS
|
||||
|
||||
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 )
|
||||
if exist "%%f\%HB_OBJ_DIR%" (
|
||||
echo Processing directory: %%f\%HB_OBJ_DIR%
|
||||
dir /b "%%f\%HB_OBJ_DIR%\*_dyn%HB_OBJ_EXT%" > _hboraw.txt
|
||||
for /F %%p in (_hboraw.txt) do (
|
||||
if not "%%p" == "hbpp_dyn%HB_OBJ_EXT%" (
|
||||
echo %HB_OBJ_PREF%%%f\%HB_OBJ_DIR%\%%p%HB_OBJ_POST%>> _hballst.txt
|
||||
echo %HB_OBJ_PREF%%%f\%HB_OBJ_DIR%\%%p%HB_OBJ_POST%>> _hballmt.txt
|
||||
)
|
||||
)
|
||||
del _hboraw.txt
|
||||
) else ( echo Directory not found: %%f\%HB_OBJ_DIR% )
|
||||
)
|
||||
|
||||
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 )
|
||||
if exist "%%f\%HB_OBJ_DIR%" (
|
||||
echo Processing directory: %%f\%HB_OBJ_DIR%
|
||||
dir /b "%%f\%HB_OBJ_DIR%\*_dyn%HB_OBJ_EXT%" > _hboraw.txt
|
||||
for /F %%p in (_hboraw.txt) do (
|
||||
if not "%%p" == "maindll_dyn%HB_OBJ_EXT%" (
|
||||
if not "%%p" == "maindllp_dyn%HB_OBJ_EXT%" (
|
||||
echo %HB_OBJ_PREF%%%f\%HB_OBJ_DIR%\%%p%HB_OBJ_POST%>> _hballst.txt
|
||||
)
|
||||
)
|
||||
)
|
||||
del _hboraw.txt
|
||||
) else ( echo Directory not found: %%f\%HB_OBJ_DIR% )
|
||||
)
|
||||
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 )
|
||||
if exist "%%f\%HB_OBJ_DIR%" (
|
||||
echo Processing directory: %%f\%HB_OBJ_DIR%
|
||||
dir /b "%%f\%HB_OBJ_DIR%\*_dyn%HB_OBJ_EXT%" > _hboraw.txt
|
||||
for /F %%p in (_hboraw.txt) do (
|
||||
if not "%%p" == "maindll_dyn%HB_OBJ_EXT%" (
|
||||
if not "%%p" == "maindllp_dyn%HB_OBJ_EXT%" (
|
||||
echo %HB_OBJ_PREF%%%f\%HB_OBJ_DIR%\%%p%HB_OBJ_POST%>> _hballmt.txt
|
||||
)
|
||||
)
|
||||
)
|
||||
del _hboraw.txt
|
||||
) else ( echo Directory not found: %%f\%HB_OBJ_DIR% )
|
||||
)
|
||||
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
|
||||
goto :EOF
|
||||
|
||||
:END
|
||||
|
||||
rem del _hballst.txt
|
||||
rem del _hballmt.txt
|
||||
|
||||
endlocal
|
||||
|
||||
@@ -42,24 +42,15 @@ goto INST_%HB_ARCHITECTURE%
|
||||
if not "%HB_INSTALL_PREFIX%" == "" copy INSTALL "%HB_INSTALL_PREFIX%\" > nul
|
||||
if not "%HB_INSTALL_PREFIX%" == "" copy TODO "%HB_INSTALL_PREFIX%\" > nul
|
||||
|
||||
if "%HB_COMPILER%" == "mingw" set HB_DYNLIB=yes
|
||||
if "%HB_COMPILER%" == "mingw64" set HB_DYNLIB=yes
|
||||
if "%HB_COMPILER%" == "mingwarm" set HB_DYNLIB=yes
|
||||
if "%HB_COMPILER%" == "cygwin" set HB_DYNLIB=yes
|
||||
call "%~dp0hb-mkdyn.bat"
|
||||
|
||||
if not "%HB_DYNLIB%" == "yes" goto _SKIP_DLL_BIN
|
||||
|
||||
call "%~dp0hb-mkdyn.bat"
|
||||
|
||||
if exist "%HB_BIN_INSTALL%\*.dll" (
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbrun-dll" "%~dp0..\utils\hbrun\hbrun.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbmk2-dll" "%~dp0..\utils\hbmk2\hbmk2.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbtest-dll" "%~dp0..\utils\hbtest\hbtest.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbi18n-dll" "%~dp0..\utils\hbi18n\hbi18n.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbformat-dll" "%~dp0..\utils\hbformat\hbformat.hbp"
|
||||
)
|
||||
|
||||
:_SKIP_DLL_BIN
|
||||
if exist "%HB_BIN_INSTALL%\*.dll" (
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbrun-dll" "%~dp0..\utils\hbrun\hbrun.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbmk2-dll" "%~dp0..\utils\hbmk2\hbmk2.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbtest-dll" "%~dp0..\utils\hbtest\hbtest.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbi18n-dll" "%~dp0..\utils\hbi18n\hbi18n.hbp"
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN -shared "-o%HB_BIN_INSTALL%\hbformat-dll" "%~dp0..\utils\hbformat\hbformat.hbp"
|
||||
)
|
||||
|
||||
rem ; We build this here, because GNU Make wouldn't add the icon.
|
||||
"%HB_HOST_BIN_DIR%\hbmk2" -q0 -lng=en-EN "-o%HB_BIN_INSTALL%\hbrun" "%~dp0..\utils\hbrun\hbrun.hbp"
|
||||
|
||||
@@ -186,7 +186,6 @@ ifeq ($(HB_CONFIG_SHOWN),)
|
||||
$(info ! Dynamic library creation phase)
|
||||
endif
|
||||
$(info ! MAKE: $(MAKE))
|
||||
$(info ! MAKE: $(MAKE))
|
||||
ifneq ($(HB_USER_PRGFLAGS),)
|
||||
$(info ! HB_USER_PRGFLAGS: $(HB_USER_PRGFLAGS))
|
||||
endif
|
||||
@@ -346,9 +345,22 @@ endif
|
||||
ifeq ($(HB_BUILD_VERBOSE),yes)
|
||||
ifneq ($(MAKE_381),)
|
||||
$(info ! Detected host platform: $(HB_HOST_ARCH))
|
||||
$(info ! Detected shell: $(HB_SHELL))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Couldn't find a builds of these tools which would fit Harbour respository,
|
||||
# so these will have to installed by user.
|
||||
#ifeq ($(HB_SHELL),os2)
|
||||
# ifeq ($(call find_in_path,mkdir),)
|
||||
# $(error ! Harbour build on OS/2 requires GNU mkdir executable in PATH. See INSTALL for more.)
|
||||
# else
|
||||
# ifeq ($(call find_in_path,rm),)
|
||||
# $(error ! Harbour build on OS/2 requires GNU rm executable in PATH. See INSTALL for more.)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
HB_HOST_CPU :=
|
||||
ifeq ($(HB_HOST_ARCH),win)
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
||||
@@ -566,9 +578,11 @@ ifneq ($(HB_HOST_ARCH)$(HB_HOST_CPU),$(HB_ARCHITECTURE)$(HB_CPU))
|
||||
HB_BIN_COMPILE := $(dir $(firstword $(wildcard $(TOP)$(ROOT)bin/$(HB_HOST_ARCH)/*/harbour$(HB_HOST_BIN_EXT))))
|
||||
ifeq ($(HB_BIN_COMPILE),)
|
||||
HB_BIN_COMPILE := $(dir $(firstword $(foreach dir,$(subst $(PTHSEP), ,$(PATH)),$(wildcard $(dir)/harbour$(HB_HOST_BIN_EXT)))))
|
||||
ifeq ($(HB_BIN_COMPILE),)
|
||||
export HB_BIN_COMPILE
|
||||
ifneq ($(HB_BIN_COMPILE),)
|
||||
HB_BIN_COMPILE := $(realpath $(HB_BIN_COMPILE))
|
||||
endif
|
||||
else
|
||||
HB_BIN_COMPILE := $(realpath $(HB_BIN_COMPILE))
|
||||
endif
|
||||
ifeq ($(HB_BIN_COMPILE),)
|
||||
$(warning ! Warning: HB_BIN_COMPILE not specified. Couldn't find native build.)
|
||||
@@ -579,6 +593,7 @@ ifneq ($(HB_HOST_ARCH)$(HB_HOST_CPU),$(HB_ARCHITECTURE)$(HB_CPU))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
export HB_BIN_COMPILE
|
||||
else
|
||||
HB_CROSS_BUILD := yes
|
||||
endif
|
||||
@@ -704,7 +719,7 @@ endif
|
||||
ifneq ($(HB_INSTALL_PREFIX),)
|
||||
|
||||
# TOFIX: HB_INSTALL_PREFIX will have to be duplicated internally to avoid
|
||||
# recursive operation here
|
||||
# recursive operation here.
|
||||
|
||||
# Handle simple macros in value
|
||||
HB_INSTALL_PREFIX := $(subst {HB_ARCH},$(HB_ARCHITECTURE),$(HB_INSTALL_PREFIX))
|
||||
@@ -715,6 +730,15 @@ ifneq ($(HB_INSTALL_PREFIX),)
|
||||
|
||||
ifeq ($(HB_UNIX_COMPATIBLE),no)
|
||||
LIBPOSTFIX := $(DIRSEP)$(subst /,$(DIRSEP),$(ARCH_COMP))
|
||||
else
|
||||
# Not perfect, please enhance it.
|
||||
ifneq ($(findstring /usr,$(HB_INSTALL_PREFIX)),)
|
||||
LIBPOSTFIX := $(DIRSEP)harbour
|
||||
else
|
||||
ifneq ($(findstring /opt,$(HB_INSTALL_PREFIX)),)
|
||||
LIBPOSTFIX := $(DIRSEP)harbour
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_BIN_INSTALL),)
|
||||
@@ -744,6 +768,8 @@ ifeq ($(HB_INC_COMPILE),)
|
||||
HB_INC_COMPILE := $(TOP)$(ROOT)include
|
||||
endif
|
||||
|
||||
HB_DYN_COMPILE := no
|
||||
|
||||
# export some variables to eliminate repeated setting in recursive calls
|
||||
export HB_HOST_ARCH
|
||||
export HB_HOST_BIN_DIR
|
||||
|
||||
@@ -7,18 +7,17 @@ include $(TOP)$(ROOT)config/global.cf
|
||||
ifneq ($(HB_ARCHITECTURE),)
|
||||
ifneq ($(HB_COMPILER),)
|
||||
|
||||
ALL_HEADERS = $(C_HEADERS) $(PRG_HEADERS) $(API_HEADERS)
|
||||
|
||||
first::
|
||||
|
||||
ifeq ($(HB_INC_INSTALL),)
|
||||
install::
|
||||
|
||||
else
|
||||
INSTALL_FILES = $(ALL_HEADERS)
|
||||
INSTALL_FILES = $(C_HEADERS) $(PRG_HEADERS) $(API_HEADERS)
|
||||
INSTALL_DIR = $(HB_INC_INSTALL)
|
||||
|
||||
include $(TOP)$(ROOT)config/install.cf
|
||||
endif
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
|
||||
include $(TOP)$(ROOT)config/instsh.cf
|
||||
|
||||
ifneq ($(INSTALL_RULE),)
|
||||
ifneq ($(HB_INSTALL_DEF),yes)
|
||||
install:: first
|
||||
$(INSTALL_RULE)
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -7,6 +7,8 @@ include $(TOP)$(ROOT)config/global.cf
|
||||
ifneq ($(HB_ARCHITECTURE),)
|
||||
ifneq ($(HB_COMPILER),)
|
||||
|
||||
HB_DYN_LIBS := hbcommon hbpp hbrtl hbmacro hblang hbcpage hbpcre hbzlib hbextern hbrdd rddntx rddnsx rddcdx rddfpt hbsix hbhsx hbusrrdd gtcgi gtpca gtstd gtwvt gtgui gtwin hbvm hbvmmt maindllh
|
||||
|
||||
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/$(HB_COMPILER).cf
|
||||
include $(TOP)$(ROOT)config/c.cf
|
||||
include $(TOP)$(ROOT)config/prg.cf
|
||||
|
||||
@@ -34,6 +34,18 @@ HB_RULE = $(HB) $? -n1 $(HB_INC_DEPEND) $(HB_FLAGS) -gc$(HB_GCMODE) $(HB_FLAGSEX
|
||||
# The rule to compile a C source file.
|
||||
ifeq ($(CC_RULE),)
|
||||
CC_RULE = $(CC) $(HB_INC_DEPEND) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CDYNLIB) $(HB_CUNICODE) $(CC_OUT)$(<F:.c=$(OBJ_EXT)) $(CC_IN) $<
|
||||
ifeq ($(HB_DYN_COMPILE),yes)
|
||||
ifneq ($(LIBNAME),)
|
||||
ifneq ($(findstring $(LIBNAME),$(HB_DYN_LIBS)),)
|
||||
define cc_comp_all
|
||||
$(CC) $(HB_INC_DEPEND) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CUNICODE) $(CC_OUT)$(<F:.c=$(OBJ_EXT)) $(CC_IN) $<
|
||||
$(CC) $(HB_INC_DEPEND) $(CPPFLAGS) $(CFLAGS) $(HB_CDBG) $(HB_USER_CFLAGS) $(HB_CUNICODE) $(CC_OUT)$(<F:.c=_dyn$(OBJ_EXT)) -DHB_DYNLIB $(CC_IN) $<
|
||||
endef
|
||||
|
||||
CC_RULE = $(cc_comp_all)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# The rule to compile a C++ source file.
|
||||
|
||||
@@ -45,6 +45,6 @@ LDFLAGS += $(LIBPATHS)
|
||||
|
||||
AR := $(HB_CCPREFIX)ar
|
||||
ARFLAGS :=
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) cr $(LIB_DIR)/$@ $(^F) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@)
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) crs $(LIB_DIR)/$@ $(^F) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@)
|
||||
|
||||
include $(TOP)$(ROOT)config/rules.cf
|
||||
|
||||
@@ -8,6 +8,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
ifeq ($(HB_VISUALC_VER_PRE80),)
|
||||
CC := cl.exe
|
||||
else
|
||||
|
||||
@@ -8,6 +8,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
CC := pocc.exe
|
||||
CC_IN := -c
|
||||
CC_OUT := -Fo
|
||||
|
||||
@@ -8,6 +8,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
CC := bcc32.exe
|
||||
CC_IN := -c
|
||||
CC_OUT := -o
|
||||
|
||||
@@ -48,6 +48,6 @@ LDFLAGS += $(LIBPATHS)
|
||||
|
||||
AR := ar
|
||||
ARFLAGS :=
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) r $(LIB_DIR)/$@ $(^F) || $(RM) $(LIB_DIR)/$@
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) crs $(LIB_DIR)/$@ $(^F) || $(RM) $(LIB_DIR)/$@
|
||||
|
||||
include $(TOP)$(ROOT)config/rules.cf
|
||||
|
||||
@@ -9,6 +9,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
CC := icl.exe
|
||||
CC_IN := -c
|
||||
CC_OUT := -Fo
|
||||
|
||||
@@ -55,6 +55,6 @@ LDFLAGS += $(LIBPATHS)
|
||||
|
||||
AR := $(HB_CCPREFIX)ar
|
||||
ARFLAGS :=
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) cr $(LIB_DIR)/$@ $(^F) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@)
|
||||
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) crs $(LIB_DIR)/$@ $(^F) || $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@)
|
||||
|
||||
include $(TOP)$(ROOT)config/rules.cf
|
||||
|
||||
@@ -6,6 +6,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
CC := cl.exe
|
||||
CC_IN := -c
|
||||
CC_OUT := -Fo
|
||||
|
||||
@@ -8,6 +8,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
CC := pocc.exe
|
||||
CC_IN := -c
|
||||
CC_OUT := -Fo
|
||||
|
||||
@@ -15,6 +15,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
ifeq ($(HB_BUILD_MODE),c)
|
||||
CC := wcc386
|
||||
endif
|
||||
|
||||
@@ -8,6 +8,8 @@ OBJ_EXT := .obj
|
||||
LIB_PREF :=
|
||||
LIB_EXT := .lib
|
||||
|
||||
HB_DYN_COMPILE := yes
|
||||
|
||||
CC := xcc.exe
|
||||
CC_IN := -c
|
||||
CC_OUT := -Fo
|
||||
|
||||
@@ -52,7 +52,7 @@ DIRS += \
|
||||
else
|
||||
|
||||
ifneq ($(HB_CONTRIBLIBS),no)
|
||||
DIRS := $(HB_CONTRIBLIBS)
|
||||
DIRS := $(HB_CONTRIBLIBS)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -22,7 +22,7 @@ HB_INC_ALLEGRO := /usr/include /opt/local/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_ALLEGRO_OK += $(foreach d, $(HB_INC_ALLEGRO), $(if $(wildcard $(d)/allegro.h),$(d),))
|
||||
HB_INC_ALLEGRO_OK := $(foreach d, $(HB_INC_ALLEGRO), $(if $(wildcard $(d)/allegro.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_ALLEGRO_OK)),)
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ HB_INC_QT := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/in
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_QT_OK += $(foreach d, $(HB_INC_QT), $(if $(wildcard $(d)/Qt/qglobal.h),$(d),))
|
||||
HB_INC_QT_OK := $(foreach d, $(HB_INC_QT), $(if $(wildcard $(d)/Qt/qglobal.h),$(d),))
|
||||
ifeq ($(HB_ARCHITECTURE),darwin)
|
||||
ifeq ($(strip $(HB_INC_QT_OK)),)
|
||||
HB_INC_QT_OK := $(if $(wildcard /Library/Frameworks/QtCore.framework/Versions/4/Headers/QtCore),spec,)
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
{allwin}libpaths=${HB_DIR_QT}\lib
|
||||
|
||||
{mingw|mingwce|(gcc&(linux|darwin))}libs=supc++
|
||||
{allwin&!HB_QT_STATIC}libs=QtCore4 QtGui4 QtNetwork4 QtWebKit4
|
||||
{allwin&HB_QT_STATIC}libs=QtCore QtGui QtNetwork QtWebKit
|
||||
{linux}libs=QtCore QtGui QtNetwork QtWebKit
|
||||
@@ -12,6 +11,7 @@
|
||||
{darwin}libs=/Library/Frameworks/QtGui.framework/QtGui
|
||||
{darwin}libs=/Library/Frameworks/QtNetwork.framework/QtNetwork
|
||||
{darwin}libs=/Library/Frameworks/QtWebKit.framework/QtWebKit
|
||||
{mingw|mingwce|(gcc&(linux|darwin))}libs=supc++
|
||||
gui=yes
|
||||
{!HB_QT_STATIC}gt=gtqtc
|
||||
{HB_QT_STATIC}gt=gtqtcs
|
||||
|
||||
@@ -18,7 +18,7 @@ HB_INC_CURL := /usr/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_CURL_OK += $(foreach d, $(HB_INC_CURL), $(if $(wildcard $(d)/curl/curl.h),$(d),))
|
||||
HB_INC_CURL_OK := $(foreach d, $(HB_INC_CURL), $(if $(wildcard $(d)/curl/curl.h),$(d),))
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ HB_INC_FIREBIRD := /usr/include /opt/firebird/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_FIREBIRD_OK += $(foreach d, $(HB_INC_FIREBIRD), $(if $(wildcard $(d)/ibase.h),$(d),))
|
||||
HB_INC_FIREBIRD_OK := $(foreach d, $(HB_INC_FIREBIRD), $(if $(wildcard $(d)/ibase.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_FIREBIRD_OK)),)
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ HB_INC_FREEIMAGE := /usr/include /opt/local/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_FREEIMAGE_OK += $(foreach d, $(HB_INC_FREEIMAGE), $(if $(wildcard $(d)/FreeImage.h),$(d),))
|
||||
HB_INC_FREEIMAGE_OK := $(foreach d, $(HB_INC_FREEIMAGE), $(if $(wildcard $(d)/FreeImage.h),$(d),))
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(HB_INC_FREEIMAGE_OK)),)
|
||||
|
||||
@@ -18,7 +18,7 @@ HB_INC_GD := /usr/include /opt/local/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_GD_OK += $(foreach d, $(HB_INC_GD), $(if $(wildcard $(d)/gd.h),$(d),))
|
||||
HB_INC_GD_OK := $(foreach d, $(HB_INC_GD), $(if $(wildcard $(d)/gd.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_GD_OK)),)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ HB_INC_LIBHARU = /usr/include /usr/local/include $(TOP)$(ROOT)external/libhpdf
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_LIBHARU_OK += $(foreach d, $(HB_INC_LIBHARU), $(if $(wildcard $(d)/hpdf.h),$(d),))
|
||||
HB_INC_LIBHARU_OK := $(foreach d, $(HB_INC_LIBHARU), $(if $(wildcard $(d)/hpdf.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_LIBHARU_OK)),)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ HB_INC_MYSQL := /usr/include/mysql /opt/local/include/mysql5/mysql
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_MYSQL_OK += $(foreach d, $(HB_INC_MYSQL), $(if $(wildcard $(d)/mysql.h),$(d),))
|
||||
HB_INC_MYSQL_OK := $(foreach d, $(HB_INC_MYSQL), $(if $(wildcard $(d)/mysql.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_MYSQL_OK)),)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ HB_INC_ODBC := /usr/include /usr/local/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_ODBC_OK += $(foreach d, $(HB_INC_ODBC), $(if $(wildcard $(d)/sql.h),$(d),))
|
||||
HB_INC_ODBC_OK := $(foreach d, $(HB_INC_ODBC), $(if $(wildcard $(d)/sql.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_ODBC_OK)),)
|
||||
HB_USER_CFLAGS += $(foreach d, $(HB_INC_ODBC_OK), -I$(d))
|
||||
|
||||
@@ -12,7 +12,7 @@ HB_INC_PGSQL := /usr/include /usr/local/pgsql/include /usr/local/pgsql/include/l
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_PGSQL_OK += $(foreach d, $(HB_INC_PGSQL), $(if $(wildcard $(d)/libpq-fe.h),$(d),))
|
||||
HB_INC_PGSQL_OK := $(foreach d, $(HB_INC_PGSQL), $(if $(wildcard $(d)/libpq-fe.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_PGSQL_OK)),)
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ HB_INC_QT := /usr/include/qt4 /usr/lib/qt4/include /usr/include /Developer/qt/in
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_QT_OK += $(foreach d, $(HB_INC_QT), $(if $(wildcard $(d)/Qt/qglobal.h),$(d),))
|
||||
HB_INC_QT_OK := $(foreach d, $(HB_INC_QT), $(if $(wildcard $(d)/Qt/qglobal.h),$(d),))
|
||||
ifeq ($(HB_ARCHITECTURE),darwin)
|
||||
ifeq ($(strip $(HB_INC_QT_OK)),)
|
||||
HB_INC_QT_OK := $(if $(wildcard /Library/Frameworks/QtCore.framework/Versions/4/Headers/QtCore),spec,)
|
||||
|
||||
@@ -26,7 +26,7 @@ endif
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_SQLITE3_OK += $(foreach d, $(HB_INC_SQLITE3), $(if $(wildcard $(d)/sqlite3.h),$(d),))
|
||||
HB_INC_SQLITE3_OK := $(foreach d, $(HB_INC_SQLITE3), $(if $(wildcard $(d)/sqlite3.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_SQLITE3_OK)),)
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ HB_INC_OPENSSL := /usr/include /usr/local/ssl/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_OPENSSL_OK += $(foreach d, $(HB_INC_OPENSSL), $(if $(wildcard $(d)/openssl/ssl.h),$(d),))
|
||||
HB_INC_OPENSSL_OK := $(foreach d, $(HB_INC_OPENSSL), $(if $(wildcard $(d)/openssl/ssl.h),$(d),))
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ ifeq ($(HB_INC_ADS),)
|
||||
HB_INC_ADS := /usr/local/ads/acesdk $(HOME)/ads/acesdk
|
||||
endif
|
||||
|
||||
HB_INC_ADS_OK += $(foreach d, $(HB_INC_ADS), $(if $(wildcard $(d)/ace.h),$(d),))
|
||||
HB_INC_ADS_OK := $(foreach d, $(HB_INC_ADS), $(if $(wildcard $(d)/ace.h),$(d),))
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -16,7 +16,7 @@ HB_INC_FIREBIRD := /usr/include /opt/firebird/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_FIREBIRD_OK += $(foreach d, $(HB_INC_FIREBIRD), $(if $(wildcard $(d)/ibase.h),$(d),))
|
||||
HB_INC_FIREBIRD_OK := $(foreach d, $(HB_INC_FIREBIRD), $(if $(wildcard $(d)/ibase.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_FIREBIRD_OK)),)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ HB_INC_MYSQL := /usr/include/mysql /opt/local/include/mysql5/mysql
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_MYSQL_OK += $(foreach d, $(HB_INC_MYSQL), $(if $(wildcard $(d)/mysql.h),$(d),))
|
||||
HB_INC_MYSQL_OK := $(foreach d, $(HB_INC_MYSQL), $(if $(wildcard $(d)/mysql.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_MYSQL_OK)),)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ HB_INC_ODBC := /usr/include /usr/local/include
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_ODBC_OK += $(foreach d, $(HB_INC_ODBC), $(if $(wildcard $(d)/sql.h),$(d),))
|
||||
HB_INC_ODBC_OK := $(foreach d, $(HB_INC_ODBC), $(if $(wildcard $(d)/sql.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_ODBC_OK)),)
|
||||
HB_USER_CFLAGS += $(foreach d, $(HB_INC_ODBC_OK), -I$(d))
|
||||
|
||||
@@ -12,7 +12,7 @@ HB_INC_PGSQL := /usr/include /usr/local/pgsql/include /usr/local/pgsql/include/l
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_PGSQL_OK += $(foreach d, $(HB_INC_PGSQL), $(if $(wildcard $(d)/libpq-fe.h),$(d),))
|
||||
HB_INC_PGSQL_OK := $(foreach d, $(HB_INC_PGSQL), $(if $(wildcard $(d)/libpq-fe.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_PGSQL_OK)),)
|
||||
|
||||
|
||||
2
harbour/external/Makefile
vendored
2
harbour/external/Makefile
vendored
@@ -15,7 +15,7 @@ DIRS := \
|
||||
else
|
||||
|
||||
ifneq ($(HB_EXTERNALLIBS),no)
|
||||
DIRS := $(HB_EXTERNALLIBS)
|
||||
DIRS := $(HB_EXTERNALLIBS)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
73
harbour/external/libhpdf/Makefile
vendored
73
harbour/external/libhpdf/Makefile
vendored
@@ -13,50 +13,49 @@ HB_USER_CFLAGS += -I$(TOP)$(ROOT)source/hbzlib
|
||||
LIBNAME := libhpdf
|
||||
|
||||
ifeq ($(HB_WITH_LIBHPDF),)
|
||||
HB_WITH_LIBHPDF := yes
|
||||
ifeq ($(HB_COMPILER),watcom)
|
||||
HB_WITH_LIBHPDF := no
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),pocc64)
|
||||
HB_WITH_LIBHPDF := no
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_WITH_LIBHPDF := no
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),mingwarm)
|
||||
HB_WITH_LIBHPDF := yes
|
||||
HB_USER_CFLAGS += -U__COREDLL__
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_WITH_LIBHPDF := yes
|
||||
endif
|
||||
|
||||
HB_WITH_LIBHPDF := yes
|
||||
ifeq ($(HB_COMPILER),watcom)
|
||||
HB_WITH_LIBHPDF := no
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),pocc64)
|
||||
HB_WITH_LIBHPDF := no
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_WITH_LIBHPDF := no
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),mingwarm)
|
||||
HB_WITH_LIBHPDF := yes
|
||||
HB_USER_CFLAGS += -U__COREDLL__
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_WITH_LIBHPDF := yes
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_WITH_LIBHPDF),yes)
|
||||
|
||||
ifeq ($(HB_INC_LIBPNG),)
|
||||
ifeq ($(HB_XBUILD),)
|
||||
HB_INC_LIBPNG = /usr/include
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),darwin)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
endif
|
||||
ifeq ($(HB_XBUILD),)
|
||||
HB_INC_LIBPNG = /usr/include
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),darwin)
|
||||
HB_INC_LIBPNG += $(TOP)$(ROOT)external/libpng
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
HB_INC_LIBPNG_OK += $(foreach d, $(HB_INC_LIBPNG), $(if $(wildcard $(d)/png.h),$(d),))
|
||||
HB_INC_LIBPNG_OK := $(foreach d, $(HB_INC_LIBPNG), $(if $(wildcard $(d)/png.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_LIBPNG_OK)),)
|
||||
|
||||
|
||||
38
harbour/external/libpng/Makefile
vendored
38
harbour/external/libpng/Makefile
vendored
@@ -10,30 +10,30 @@ HB_BUILD_WARN := no
|
||||
HB_USER_CFLAGS += -I$(TOP)$(ROOT)source/hbzlib
|
||||
|
||||
ifeq ($(HB_COMPILER),djgpp)
|
||||
HB_USER_CFLAGS += -DPNG_NO_SNPRINTF
|
||||
HB_USER_CFLAGS += -DPNG_NO_SNPRINTF
|
||||
endif
|
||||
|
||||
LIBNAME := libpng
|
||||
|
||||
ifeq ($(HB_WITH_LIBPNG),)
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),darwin)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),poccarm)
|
||||
HB_WITH_LIBPNG := no
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),darwin)
|
||||
HB_WITH_LIBPNG := yes
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),poccarm)
|
||||
HB_WITH_LIBPNG := no
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_WITH_LIBPNG),yes)
|
||||
|
||||
47
harbour/external/sqlite3/Makefile
vendored
47
harbour/external/sqlite3/Makefile
vendored
@@ -10,39 +10,40 @@ HB_BUILD_WARN := no
|
||||
HB_BUILD_MODE := c
|
||||
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_USER_CFLAGS += -D_WIN32_WCE
|
||||
HB_USER_CFLAGS += -D_WIN32_WCE
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
# DJGPP and OpenWatcom in DOS aren't correctly recognized by SQLite,
|
||||
# so we're forcing the next best available option. This will cause missing
|
||||
# externals though. [vszakats]
|
||||
HB_USER_CFLAGS += -DSQLITE_OS_OTHER
|
||||
# DJGPP and OpenWatcom in DOS aren't correctly recognized by SQLite,
|
||||
# so we're forcing the next best available option. This will cause missing
|
||||
# externals though. [vszakats]
|
||||
HB_USER_CFLAGS += -DSQLITE_OS_OTHER
|
||||
endif
|
||||
|
||||
LIBNAME := sqlite3
|
||||
|
||||
ifeq ($(HB_WITH_SQLITE3),)
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),mingwarm)
|
||||
HB_WITH_SQLITE3 := no
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),poccarm)
|
||||
HB_WITH_SQLITE3 := no
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_ARCHITECTURE),dos)
|
||||
HB_WITH_SQLITE3 := yes
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),mingwarm)
|
||||
HB_WITH_SQLITE3 := no
|
||||
endif
|
||||
ifeq ($(HB_COMPILER),poccarm)
|
||||
HB_WITH_SQLITE3 := no
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HB_WITH_SQLITE3),yes)
|
||||
|
||||
C_SOURCES := \
|
||||
sqlite3.c \
|
||||
|
||||
|
||||
@@ -13,87 +13,14 @@ rem
|
||||
rem Please read INSTALL for further information.
|
||||
rem ---------------------------------------------------------------
|
||||
|
||||
rem Setup defaults
|
||||
if "%HB_ARCHITECTURE%" == "" if not "%WINDIR%" == "" set HB_ARCHITECTURE=win
|
||||
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=dos
|
||||
if "%HB_COMPILER%" == "" if not "%WINDIR%" == "" goto WIN_AUTODETECT
|
||||
if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
|
||||
:CONTINUE_MAKE
|
||||
|
||||
if "%HB_COMPILER%" == "djgpp" set HB_ARCHITECTURE=dos
|
||||
if "%HB_COMPILER%" == "msvcarm" set HB_ARCHITECTURE=wce
|
||||
if "%HB_COMPILER%" == "mingwarm" set HB_ARCHITECTURE=wce
|
||||
if "%HB_COMPILER%" == "poccarm" set HB_ARCHITECTURE=wce
|
||||
|
||||
if "%HB_ARCHITECTURE%" == "" goto BAD_ARCH
|
||||
if "%HB_COMPILER%" == "" goto BAD_COMP
|
||||
|
||||
if "%HB_INSTALL_PREFIX%" == "" if "%OS%" == "Windows_NT" set HB_INSTALL_PREFIX=%~dp0
|
||||
|
||||
goto MAKE
|
||||
|
||||
:WIN_AUTODETECT
|
||||
|
||||
rem We need some batch features to autodetect compiler
|
||||
if not "%OS%" == "Windows_NT" goto HELP
|
||||
|
||||
rem Order is significant
|
||||
call :COMP_DET_ONE arm-wince-mingw32ce-gcc.exe mingwarm wce arm-wince-mingw32ce-
|
||||
call :COMP_DET_ONE arm-mingw32ce-gcc.exe mingwarm wce arm-mingw32ce-
|
||||
call :COMP_DET_ONE cygstart.exe cygwin win
|
||||
call :COMP_DET_ONE gcc.exe mingw win
|
||||
call :COMP_DET_ONE wpp386.exe watcom win
|
||||
call :COMP_DET_ONE ml64.exe msvc64 win
|
||||
call :COMP_DET_ONE icl.exe icc win
|
||||
call :COMP_DET_ONE cl.exe msvc win
|
||||
call :COMP_DET_ONE bcc32.exe bcc win
|
||||
call :COMP_DET_ONE pocc.exe pocc win
|
||||
call :COMP_DET_ONE xcc.exe xcc win
|
||||
call :COMP_DET_ONE x86_64-w64-mingw32-gcc.exe mingw64 win x86_64-w64-mingw32-
|
||||
|
||||
if "%HB_COMPILER%" == "" ( echo HB_COMPILER couldn't be automatically determined. && goto HELP )
|
||||
|
||||
echo Harbour HB_COMPILER autodetected: '%HB_COMPILER%'
|
||||
echo Harbour HB_ARCHITECTURE autodetected: '%HB_ARCHITECTURE%'
|
||||
if not "%HB_CCPREFIX%" == "" echo Harbour HB_CCPREFIX autodetected: '%HB_CCPREFIX%'
|
||||
|
||||
goto CONTINUE_MAKE
|
||||
|
||||
:HELP
|
||||
|
||||
echo.
|
||||
echo Usage: make_gnu [command]
|
||||
echo.
|
||||
echo The following commands are supported:
|
||||
echo - all (default)
|
||||
echo - clean
|
||||
echo - install
|
||||
echo.
|
||||
echo Please read INSTALL for HOWTOs and description
|
||||
echo of available options.
|
||||
goto END
|
||||
|
||||
:BAD_ARCH
|
||||
|
||||
echo Harbour: Error: HB_ARCHITECTURE not set.
|
||||
goto HELP
|
||||
|
||||
:BAD_COMP
|
||||
|
||||
echo Harbour: Error: HB_COMPILER not set.
|
||||
goto HELP
|
||||
|
||||
:MAKE
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Setup output log
|
||||
|
||||
set _HB_BUILD_LOG=
|
||||
set HB_BUILD_LOGFILE=
|
||||
if not "%HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=%HB_BUILD_LOG%
|
||||
: if "%HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=log-%HB_ARCHITECTURE%-%HB_COMPILER%.txt
|
||||
if "%_HB_BUILD_LOG%" == "yes" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=log-%HB_ARCHITECTURE%-%HB_COMPILER%.txt
|
||||
: if "%HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=hb-build-%DATE:~0,4%%DATE:~6,2%%DATE:~10,2%-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt
|
||||
if "%_HB_BUILD_LOG%" == "yes" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=hb-build-%DATE:~0,4%%DATE:~6,2%%DATE:~10,2%-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt
|
||||
if "%_HB_BUILD_LOG%" == "no" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=
|
||||
if not "%_HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set HB_BUILD_LOGFILE=%_HB_BUILD_LOG%
|
||||
if not "%_HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" echo Harbour build output to: '%_HB_BUILD_LOG%'
|
||||
@@ -101,110 +28,21 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
if not "%_HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=^>^> %_HB_BUILD_LOG% 2^>^&1
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Detect name of GNU Make
|
||||
rem
|
||||
rem Look for mingw32-make.exe and use it if found. Works only
|
||||
rem on Windows NT and upper. [vszakats]
|
||||
rem Decide about GNU Make executable name
|
||||
|
||||
rem Some other name variations: gnumake.exe, gmake.exe
|
||||
set _HB_MAKE=make.exe
|
||||
set _HB_MAKE=
|
||||
if "%HB_MAKE%%OS%" == "Windows_NT" if exist "%~dp0config\dj-make.exe" set _HB_MAKE="%~dp0config\dj-make.exe"
|
||||
if "%HB_MAKE%%OS%" == "Windows_NT" set _HB_MAKE=mingw32-make.exe
|
||||
if "%OS%" == "Windows_NT" goto _FM_DONE
|
||||
if exist config\dj-make.exe set _HB_MAKE=config\dj-make.exe
|
||||
if not exist config\dj-make.exe set _HB_MAKE=make.exe
|
||||
|
||||
if not "%HB_ARCHITECTURE%" == "dos" goto _FM_WIN
|
||||
if "%OS%" == "Windows_NT" goto _DOS_NT
|
||||
if not exist config\dj-make.exe goto SKIP_WINDLL
|
||||
set _HB_MAKE=config\dj-make.exe
|
||||
goto SKIP_WINDLL
|
||||
:_DOS_NT
|
||||
if not exist "%~dp0config\dj-make.exe" goto SKIP_WINDLL
|
||||
set _HB_MAKE="%~dp0config\dj-make.exe"
|
||||
goto SKIP_WINDLL
|
||||
|
||||
:_FM_WIN
|
||||
|
||||
if not "%OS%" == "Windows_NT" echo Windows NT or upper is required to build Harbour for '%HB_ARCHITECTURE%' platform.
|
||||
if not "%OS%" == "Windows_NT" goto MAKE_DONE
|
||||
|
||||
if not exist "%~dp0config\mingw32-make.exe" goto _FM_NOLOCAL
|
||||
set _HB_MAKE="%~dp0config\mingw32-make.exe"
|
||||
goto _FM_DONE
|
||||
:_FM_NOLOCAL
|
||||
if not "%OS%" == "Windows_NT" goto _FM_DONE
|
||||
set _HB_CHECK=mingw32-make.exe
|
||||
if exist "%_HB_CHECK%" ( set _HB_MAKE=%_HB_CHECK%&& goto _FM_DONE )
|
||||
set _HB_PATH=%PATH%
|
||||
:_FM_LOOP
|
||||
for /F "delims=; tokens=1,2*" %%p in ("%_HB_PATH%") do (
|
||||
if exist "%%p\%_HB_CHECK%" ( set _HB_MAKE=%_HB_CHECK%&& goto _FM_DONE )
|
||||
if exist "%%p%_HB_CHECK%" ( set _HB_MAKE=%_HB_CHECK%&& goto _FM_DONE )
|
||||
set _HB_PATH=%%~q;%%~r
|
||||
)
|
||||
if not "%_HB_PATH%"==";" goto _FM_LOOP
|
||||
:_FM_DONE
|
||||
set _HB_CHECK=
|
||||
set _HB_PATH=
|
||||
|
||||
if "%HB_ARCHITECTURE%" == "os2" goto SKIP_WINDLL
|
||||
if "%HB_ARCHITECTURE%" == "linux" goto SKIP_WINDLL
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Start the GNU Make system
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Special build mode when HB_BUILD_DLL=yes on Windows platform.
|
||||
rem It will automatically build Harbour in two passes, one for
|
||||
rem the .dlls and a final pass for the regular version.
|
||||
|
||||
if not "%HB_BUILD_DLL%" == "yes" goto SKIP_WINDLL
|
||||
|
||||
if "%HB_COMPILER%%HB_CCPREFIX%" == "mingw64" set HB_CCPREFIX=x86_64-pc-mingw32-
|
||||
if "%HB_COMPILER%%HB_CCPREFIX%" == "mingwarm" set HB_CCPREFIX=arm-wince-mingw32ce-
|
||||
|
||||
if "%HB_COMPILER%" == "mingw" goto DO_GCC
|
||||
if "%HB_COMPILER%" == "mingw64" goto DO_GCC
|
||||
if "%HB_COMPILER%" == "mingwarm" goto DO_GCC
|
||||
if "%HB_COMPILER%" == "cygwin" goto DO_GCC_CYG
|
||||
|
||||
set _HB_CONTRIBLIBS=%HB_CONTRIBLIBS%
|
||||
set _HB_CONTRIB_ADDONS=%HB_CONTRIB_ADDONS%
|
||||
set _HB_EXTERNALLIBS=%HB_EXTERNALLIBS%
|
||||
set _HB_EXTERNAL_ADDONS=%HB_EXTERNAL_ADDONS%
|
||||
set HB_DYNLIB=yes
|
||||
set HB_CONTRIBLIBS=no
|
||||
set HB_CONTRIB_ADDONS=
|
||||
set HB_EXTERNALLIBS=no
|
||||
set HB_EXTERNAL_ADDONS=
|
||||
%_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
|
||||
set HB_CONTRIBLIBS=%_HB_CONTRIBLIBS%
|
||||
set HB_CONTRIB_ADDONS=%_HB_CONTRIB_ADDONS%
|
||||
set HB_EXTERNALLIBS=%_HB_EXTERNALLIBS%
|
||||
set HB_EXTERNAL_ADDONS=%_HB_EXTERNAL_ADDONS%
|
||||
set _HB_CONTRIBLIBS=
|
||||
set _HB_CONTRIB_ADDONS=
|
||||
set _HB_EXTERNALLIBS=
|
||||
set _HB_EXTERNAL_ADDONS=
|
||||
%_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% clean install %HB_USER_MAKEFLAGS% %_HB_BUILD_LOG%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
:DO_GCC_CYG
|
||||
|
||||
set HB_DYNLIB=no
|
||||
sh %~dp0make_gnu.sh clean install %HB_USER_MAKEFLAGS%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
:SKIP_WINDLL
|
||||
|
||||
if "%HB_COMPILER%" == "cygwin" goto SKIP_WINDLL_CYG
|
||||
|
||||
%_HB_MAKE% %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
@@ -223,20 +61,4 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
set _HB_BUILD_LOG=
|
||||
goto END
|
||||
|
||||
:COMP_DET_ONE
|
||||
|
||||
if not "%HB_COMPILER%" == "" goto END
|
||||
if exist "%1" ( set HB_COMPILER=%2&& set HB_ARCHITECTURE=%3&& set HB_CCPREFIX=%4&& goto _CDO_EXIT )
|
||||
set _PATH=%PATH%
|
||||
:_CDO_LOOP
|
||||
for /F "delims=; tokens=1,2*" %%p in ("%_PATH%") do (
|
||||
if exist "%%p\%1" ( set HB_COMPILER=%2&& set HB_ARCHITECTURE=%3&& set HB_CCPREFIX=%4&& goto _CDO_EXIT )
|
||||
if exist "%%p%1" ( set HB_COMPILER=%2&& set HB_ARCHITECTURE=%3&& set HB_CCPREFIX=%4&& goto _CDO_EXIT )
|
||||
set _PATH=%%~q;%%~r
|
||||
)
|
||||
if not "%_PATH%"==";" goto _CDO_LOOP
|
||||
:_CDO_EXIT
|
||||
set _PATH=
|
||||
goto END
|
||||
|
||||
:END
|
||||
|
||||
@@ -28,13 +28,11 @@ ifeq ($(HB_ARCHITECTURE),os2)
|
||||
HB_INC_CURSES :=
|
||||
endif
|
||||
|
||||
HB_INC_CURSES_OK += $(foreach d, $(HB_INC_CURSES), $(if $(wildcard $(d)/curses.h),$(d),))
|
||||
HB_INC_CURSES_OK := $(strip $(HB_INC_CURSES_OK))
|
||||
HB_INC_CURSES_OK := $(strip $(foreach d, $(HB_INC_CURSES), $(if $(wildcard $(d)/curses.h),$(d),)))
|
||||
|
||||
ifeq ($(HB_INC_CURSES_OK),)
|
||||
ifeq ($(HB_COMPILER),djgpp)
|
||||
HB_INC_CURSES_OK += $(foreach d, $(subst ;, ,$(PATH)), $(if $(wildcard $(d)/../include/curses.h),$(d)/../include,))
|
||||
HB_INC_CURSES_OK := $(strip $(HB_INC_CURSES_OK))
|
||||
HB_INC_CURSES_OK := $(strip $(foreach d, $(subst ;, ,$(PATH)), $(if $(wildcard $(d)/../include/curses.h),$(d)/../include,)))
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ ifeq ($(HB_COMMERCE),yes)
|
||||
HB_INC_SLANG :=
|
||||
endif
|
||||
|
||||
HB_INC_SLANG_OK += $(foreach d, $(HB_INC_SLANG), $(if $(wildcard $(d)/slang.h),$(d),))
|
||||
HB_INC_SLANG_OK := $(foreach d, $(HB_INC_SLANG), $(if $(wildcard $(d)/slang.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_SLANG_OK)),)
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ ifeq ($(HB_WITHOUT_GTXWC),yes)
|
||||
HB_INC_X11 :=
|
||||
endif
|
||||
|
||||
HB_INC_X11_OK += $(foreach d, $(HB_INC_X11), $(if $(wildcard $(d)/X11/Xlib.h),$(d),))
|
||||
HB_INC_X11_OK := $(foreach d, $(HB_INC_X11), $(if $(wildcard $(d)/X11/Xlib.h),$(d),))
|
||||
|
||||
ifneq ($(strip $(HB_INC_X11_OK)),)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user