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:
Przemyslaw Czerpak
2009-08-12 12:36:44 +00:00
parent 664e217382
commit df59bad4d3
5 changed files with 64 additions and 48 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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