2009-08-12 14:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
* updated list of system libraries used in to create harbour*.dll
in MinGW builds
* harbour/bin/postinst.sh
- removed not longer used code for build library in postinst phase
* use 'suncc' instead of 'cc' to create harbour shared library without
any platform dependent non default settings
* synced flags used in build process with flags used to create
harbour shared library in sunpro builds
* harbour/config/linux/sunpro.cf
* harbour/config/sunos/sunpro.cf
* removed options which explicitly force platform
* added -xbuiltin=%none as workaround for problems in x86 PIC builds
exploited by hbpcre library code
* changed the order of C/LD flags settings so they can be easy
overwritten by HB_ISAOPT
This commit is contained in:
@@ -17,6 +17,26 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-08-12 14:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/bin/hb-func.sh
|
||||
* updated list of system libraries used in to create harbour*.dll
|
||||
in MinGW builds
|
||||
|
||||
* harbour/bin/postinst.sh
|
||||
- removed not longer used code for build library in postinst phase
|
||||
* use 'suncc' instead of 'cc' to create harbour shared library without
|
||||
any platform dependent non default settings
|
||||
* synced flags used in build process with flags used to create
|
||||
harbour shared library in sunpro builds
|
||||
|
||||
* harbour/config/linux/sunpro.cf
|
||||
* harbour/config/sunos/sunpro.cf
|
||||
* removed options which explicitly force platform
|
||||
* added -xbuiltin=%none as workaround for problems in x86 PIC builds
|
||||
exploited by hbpcre library code
|
||||
* changed the order of C/LD flags settings so they can be easy
|
||||
overwritten by HB_ISAOPT
|
||||
|
||||
2009-08-12 13:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* config/global.cf
|
||||
* config/instsh.cf
|
||||
|
||||
@@ -794,7 +794,7 @@ mk_hblibso()
|
||||
hb_libs="${hb_libs//hbzlib/}"
|
||||
fi
|
||||
if [ "${HB_COMPILER}" = "mingw" ] || [ "${HB_COMPILER}" = "mingw64" ]; then
|
||||
linker_options="${linker_options} -luser32 -lwinspool -lgdi32 -lcomctl32 -lcomdlg32 -lole32 -loleaut32 -luuid -lws2_32"
|
||||
linker_options="${linker_options} -luser32 -lwinspool -lgdi32 -lcomctl32 -ladvapi32 -lcomdlg32 -lole32 -loleaut32 -luuid -lws2_32"
|
||||
elif [ "${HB_COMPILER}" = "mingwarm" ]; then
|
||||
linker_options="${linker_options} -lwininet -lws2 -lcommdlg -lcommctrl -luuid -lole32"
|
||||
elif [ "${HB_COMPILER}" = "djgpp" ]; then
|
||||
|
||||
@@ -50,22 +50,6 @@ if [ "$HB_COMPILER" = "gcc" ] || \
|
||||
[ "$HB_COMPILER" = "sunpro" ] || \
|
||||
[ "$HB_COMPILER" = "sunpro64" ]
|
||||
then
|
||||
RANLIB=""
|
||||
MAKE=make
|
||||
AR="${HB_CCPREFIX}ar -cr"
|
||||
AR_OPT=""
|
||||
if [ "${HB_ARCHITECTURE}" = "bsd" ] || \
|
||||
[ "${HB_ARCHITECTURE}" = "hpux" ] || \
|
||||
[ "${HB_ARCHITECTURE}" = "sunos" ] || \
|
||||
[ `uname` = "FreeBSD" ]; then
|
||||
MAKE=gmake
|
||||
elif [ "${HB_ARCHITECTURE}" = "darwin" ]; then
|
||||
# We must build an archive index on Darwin
|
||||
#AR="${HB_CCPREFIX}ar -crs"
|
||||
AR="libtool"
|
||||
AR_OPT="-static ${HB_USER_AFLAGS} -o "
|
||||
fi
|
||||
|
||||
if [ -n "${HB_TOOLS_PREF}" ]; then
|
||||
hb_mkdyn="${HB_BIN_INSTALL}/${HB_TOOLS_PREF}-mkdyn"
|
||||
rm -f "${hb_mkdyn}"
|
||||
@@ -82,13 +66,16 @@ then
|
||||
[ "$HB_COMPILER" = "sunpro64" ]; then
|
||||
hb_mkdyn="${HB_BIN_INSTALL}/hb-mkdyn"
|
||||
rm -f "${hb_mkdyn}"
|
||||
if [ "$HB_ARCHITECTURE" = "sunos" ]; then
|
||||
sed -e "s/gcc -shared -fPIC/cc -G -xcode=pic32 ${HB_ISAOPT}/g" "${hb_root}/bin/hb-mkdyn.sh" > "${hb_mkdyn}" && \
|
||||
chmod 755 "${hb_mkdyn}"
|
||||
if [ "$HB_ARCHITECTURE" = "sunos" ] && \
|
||||
(isalist|grep sparc) &>/dev/null; then
|
||||
lnopt="-xcode=pic32"
|
||||
else
|
||||
sed -e "s/gcc -shared -fPIC/cc -G -KPIC ${HB_ISAOPT}/g" "${hb_root}/bin/hb-mkdyn.sh" > "${hb_mkdyn}" && \
|
||||
chmod 755 "${hb_mkdyn}"
|
||||
lnopt="-KPIC"
|
||||
fi
|
||||
[ "$HB_BUILD_OPTIM" = "no" ] || lnopt="-fast -xnolibmopt $lnopt"
|
||||
sed -e "s/gcc -shared -fPIC/suncc -G ${lnopt} ${HB_ISAOPT}/g" \
|
||||
"${hb_root}/bin/hb-mkdyn.sh" > "${hb_mkdyn}" && \
|
||||
chmod 755 "${hb_mkdyn}"
|
||||
elif [ "${HB_ARCHITECTURE}" = "sunos" ] || \
|
||||
[ "${HB_ARCHITECTURE}" = "hpux" ] || \
|
||||
! which install &>/dev/null; then
|
||||
@@ -110,13 +97,8 @@ then
|
||||
fi
|
||||
|
||||
mk_hbtools "${HB_BIN_INSTALL}" "$@"
|
||||
if [ "$HB_COMPILER" = "gcc" ] || \
|
||||
[ "$HB_COMPILER" = "mingw" ] || \
|
||||
[ "$HB_COMPILER" = "mingw64" ] || \
|
||||
[ "$HB_COMPILER" = "mingwarm" ] || \
|
||||
[ "$HB_COMPILER" = "sunpro" ] || \
|
||||
[ "$HB_COMPILER" = "sunpro64" ] || \
|
||||
[ "$HB_COMPILER" = "icc" ]; then
|
||||
|
||||
if [ "${HB_ARCHITECTURE}" != "dos" ]; then
|
||||
mk_hblibso "${hb_root}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -26,22 +26,31 @@ LDFLAGS :=
|
||||
# flags may override values set by `-fast', and this way
|
||||
# no warnings are generated.
|
||||
|
||||
# may inherit -m64 from sunpro64.cf, which supersedes -xarch=386
|
||||
HB_ISAOPT ?= -xarch=386
|
||||
LDFLAGS += $(HB_ISAOPT)
|
||||
|
||||
export HB_ISAOPT
|
||||
|
||||
ifneq ($(HB_BUILD_OPTIM),no)
|
||||
# Together with $(HB_ISAOPT) above, these are supposed to (somewhat)
|
||||
# conform to the Blastwave build standards, see
|
||||
# http://wiki.blastwave.org/mediawiki/index.php/Build_Standards
|
||||
# Try to keep them this way.
|
||||
CFLAGS += -fast $(HB_ISAOPT)
|
||||
CFLAGS += -fast
|
||||
CFLAGS += -xnolibmopt
|
||||
# workaround for problems in x86 PIC builds exploited by hbpcre library code
|
||||
ifeq ($(LIBNAME),hbpcre)
|
||||
CFLAGS += -xbuiltin=%none
|
||||
endif
|
||||
endif
|
||||
|
||||
# force position independent code for harbour shared library
|
||||
# it's not optimal but without support for compilation in two passes
|
||||
# we have to use this option also for static libraries and binaries
|
||||
CFLAGS += -KPIC
|
||||
|
||||
# in HB_ISAOPT we may have platform dependent settings set in different
|
||||
# sunpro*.cf files
|
||||
export HB_ISAOPT
|
||||
|
||||
CFLAGS += $(HB_ISAOPT)
|
||||
LDFLAGS += $(HB_ISAOPT)
|
||||
|
||||
ifneq ($(HB_BUILD_WARN),no)
|
||||
CFLAGS += -erroff=%none
|
||||
else
|
||||
|
||||
@@ -26,32 +26,37 @@ LDFLAGS :=
|
||||
# flags may override values set by `-fast', and this way
|
||||
# no warnings are generated.
|
||||
|
||||
# may inherit -m64 from sunpro64.cf, which supersedes -xarch=v8
|
||||
HB_ISAOPT ?= -xarch=v8
|
||||
LDFLAGS += $(HB_ISAOPT)
|
||||
|
||||
# might not be needed for sunos, but helps keeping
|
||||
# {linux,sunos}/sunpro.cf easily vimdiff'able for now
|
||||
export HB_ISAOPT
|
||||
|
||||
ifneq ($(HB_BUILD_OPTIM),no)
|
||||
# Together with $(HB_ISAOPT) above, these are supposed to (somewhat)
|
||||
# conform to the Blastwave build standards, see
|
||||
# http://wiki.blastwave.org/mediawiki/index.php/Build_Standards
|
||||
# Try to keep them this way.
|
||||
CFLAGS += -fast $(HB_ISAOPT)
|
||||
ifneq ($(HB_BUILD_MODE),cpp)
|
||||
CFLAGS += -xstrconst
|
||||
endif
|
||||
CFLAGS += -fast
|
||||
CFLAGS += -xnolibmopt
|
||||
# workaround for problems in x86 PIC builds exploited by hbpcre library code
|
||||
ifeq ($(LIBNAME),hbpcre)
|
||||
ifneq ($(findstring sparc,$(shell isalist)),sparc)
|
||||
CFLAGS += -xbuiltin=%none
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# force position independent code for harbour shared library
|
||||
# it's not optimal but without support for compilation in two passes
|
||||
# we have to use this option also for static libraries and binaries
|
||||
ifeq ($(findstring sparc,$(shell isalist)),sparc)
|
||||
CFLAGS += -xcode=pic32
|
||||
else
|
||||
CFLAGS += -KPIC
|
||||
endif
|
||||
|
||||
# in HB_ISAOPT we may have platform dependent settings set in different
|
||||
# sunpro*.cf files
|
||||
export HB_ISAOPT
|
||||
|
||||
CFLAGS += $(HB_ISAOPT)
|
||||
LDFLAGS += $(HB_ISAOPT)
|
||||
|
||||
ifneq ($(HB_BUILD_WARN),no)
|
||||
CFLAGS += -erroff=%none
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user