* include/Makefile
+ include/hbstrict.ch
* contrib/hbpost.hbm
+ added experimental -u+ header to catch some common code style
problems. currently IF() is caught, but it interferec with std.ch
hbsix.ch and possibly more, so it's not enabled
* config/global.mk
* src/dynlib/2nd/Makefile
* src/dynlib/Makefile
* secondary harbour dynlib is now enabled by __HB_BUILD_DYN_2ND=yes
* renamed secondary harbour dynlib to harbour2*
+ it's now possible (again) to build harbour .dll in ST mode by
using __HB_BUILD_DYN_ST=yes. if used together with __HB_BUILD_DYN_2ND=yes,
the secondary dynlib will be MT. (pls note the secondary dynlib
is never directly used by hbmk2, so it's there for mere build convenience
only)
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpdataref.prg
! IF() -> IIF() (with the help of hbstrict.ch)
* contrib/hbformat/hbfmtcls.prg
! fixed mistakenly changed '==' to LEFTEQUAL() in prev commit
88 lines
4.1 KiB
Plaintext
88 lines
4.1 KiB
Plaintext
#
|
|
# $Id$
|
|
#
|
|
|
|
# These are mandatory in Harbour SVN, they will always
|
|
# override project options.
|
|
|
|
"{HB_BUILD_PARTS='lib'&!hblib}-stop=! Skipped because HB_BUILD_PARTS=lib"
|
|
|
|
-prgflag=-w3
|
|
-prgflag=-es2
|
|
-prgflag=-kmo
|
|
-prgflag=-i-
|
|
#-prgflag=-u+hbstrict.ch
|
|
|
|
# It is also supported by official mingw 4.4.x and mingw64 4.4.x,
|
|
# but not supported by mingw tdm 4.4.x, so I only enable it on or
|
|
# above 4.5.0.
|
|
{win&allmingw&HB_COMP_VER>'44'}-ldflag=-Wl,--nxcompat
|
|
{win&allmingw&HB_COMP_VER>'44'}-ldflag=-Wl,--dynamicbase
|
|
{win&allmingw&HB_COMP_VER>'44'}-dflag=-Wl,--nxcompat
|
|
{win&allmingw&HB_COMP_VER>'44'}-dflag=-Wl,--dynamicbase
|
|
|
|
# MSVS 2005 SP1 also supports it, but we only enable it for 2008 and upper.
|
|
{win&allmsvc&HB_COMP_VER>'1400'}-ldflag=-nxcompat
|
|
{win&allmsvc&HB_COMP_VER>'1400'}-ldflag=-dynamicbase
|
|
{win&allmsvc&HB_COMP_VER>'1400'}-ldflag=-fixed:no
|
|
{win&allmsvc&HB_COMP_VER>'1400'}-dflag=-nxcompat
|
|
{win&allmsvc&HB_COMP_VER>'1400'}-dflag=-dynamicbase
|
|
|
|
-cflag=-DHB_LEGACY_TYPES_OFF
|
|
{allwin&!(__HB_BUILD_WINUNI='no')}-winuni
|
|
|
|
{HB_BUILD_DEBUG}-prgflag=-l-
|
|
{HB_BUILD_DEBUG}-debug
|
|
{HB_BUILD_DEBUG}-cflag=-DHB_TR_LEVEL_DEBUG
|
|
|
|
{(hbdyn|hbexe)&HB_BUILD_SHARED='yes'&!(HB_SYSLOC='yes')}-shared
|
|
{(hbdyn|hbexe)&HB_BUILD_SHARED='yes'&HB_SYSLOC='yes'}-fullshared
|
|
|
|
# dynamic lib creation settings
|
|
{_HB_BUILD_LIBDYN}-shared
|
|
{_HB_BUILD_LIBDYN}-implib=../lib/${hb_plat}/${hb_comp}${hb_build}/
|
|
{_HB_BUILD_LIBDYN&hb_dynsuffix}-implib=${hb_outputname}${hb_dynsuffix}
|
|
{_HB_BUILD_LIBDYN&!hb_dynsuffix}-implib=${hb_outputname}_dll
|
|
{_HB_BUILD_LIBDYN&unix&!cygwin}-ln=${hb_dynprefix}${hb_outputname}${hb_dynext}
|
|
{_HB_BUILD_LIBDYN&unix&!darwin&!cygwin}-ln=${hb_dynprefix}${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor}
|
|
{_HB_BUILD_LIBDYN&unix&darwin}-ln=${hb_dynprefix}${hb_outputname}.${hb_major}.${hb_minor}${hb_dynext}
|
|
{_HB_BUILD_LIBDYN&(allwin|cygwin)}-lhbmaindllp
|
|
{_HB_BUILD_LIBDYN}-depimplib-
|
|
|
|
"{_HB_BUILD_LIBDYN&darwin}-dflag=-install_name '${hb_dynprefix}${hb_outputname}${hb_dynext}'"
|
|
"{_HB_BUILD_LIBDYN&darwin}-dflag=-compatibility_version ${hb_major}.${hb_minor}"
|
|
"{_HB_BUILD_LIBDYN&darwin}-dflag=-current_version ${hb_major}.${hb_minor}.${hb_release}"
|
|
"{_HB_BUILD_LIBDYN&linux}-dflag=-Wl,-soname,${hb_dynprefix}${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor}"
|
|
"{_HB_BUILD_LIBDYN&sunos}-dflag=-Wl,-h,${hb_dynprefix}${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor}"
|
|
|
|
# output name tweaks for dynamic libs
|
|
# NOTE: We're altering previously set output name value here
|
|
{hbdyn&unix&!darwin&!cygwin}-o${hb_outputname}${hb_dynext}.${hb_major}.${hb_minor}.${hb_release}
|
|
{hbdyn&unix&darwin}-o${hb_outputname}.${hb_major}.${hb_minor}.${hb_release}${hb_dynext}
|
|
{hbdyn&unix&cygwin}-o${hb_outputname}${hb_dynext}
|
|
{hbdyn&!unix&allwin}-o${hb_outputname}-${hb_major}${hb_minor}${hb_dynsuffix}
|
|
{hbdyn&!unix&!allwin}-o${hb_outputname}${hb_dynsuffix}
|
|
|
|
# output dir (in sync with GNU Make)
|
|
{hblib}-o../lib/${hb_plat}/${hb_comp}${hb_build}/
|
|
{hbexe}-o../bin/${hb_plat}/${hb_comp}${hb_build}/
|
|
{hbdyn&unix&!cygwin}-o../lib/${hb_plat}/${hb_comp}${hb_build}/
|
|
{hbdyn&(cygwin|!unix)}-o../bin/${hb_plat}/${hb_comp}${hb_build}/
|
|
|
|
# workdir (in sync with GNU Make)
|
|
{hblib}-workdir=../lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
|
|
{hbexe}-workdir=../bin/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
|
|
{hbdyn&unix&!cygwin}-workdir=../lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
|
|
{hbdyn&(cygwin|!unix)}-workdir=../bin/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub}
|
|
|
|
# install
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_LIB&hblib}-instpath=${_HB_INSTALL_LIB}/
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_BIN&hbexe}-instpath=${_HB_INSTALL_BIN}/
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_DYN&hbdyn}-instpath=${_HB_INSTALL_DYN}/
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_INC&hblib}-instpath=inc:${_HB_INSTALL_INC}/
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_LIB}-instpath=implib:${_HB_INSTALL_LIB}/
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_ETC}-instpath=etc:${_HB_INSTALL_ETC}/
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_MAN}-instpath=man:${_HB_INSTALL_MAN}/
|
|
{_HB_BUILD_INSTALL&_HB_INSTALL_LIB&HB_INSTALL_IMPLIB='yes'}-instpath=depimplib:${_HB_INSTALL_LIB}/
|
|
{_HB_BUILD_INSTALL}-instforce
|