Hi Olav, all !
Olav Sandstaa wrote:
> 2743 Olav Sandstaa 2008-07-10
> Partial fix to Bug#37622 Falcon does not compile on Solaris 9 on SPARC using
> Sun Studio compiler
>
> Changes to Falcon's configure and build system in order to support Sun Studio's
> inline templates
> for assembly code.
> [[...]]
>
> === modified file 'storage/falcon/Makefile.am'
> --- a/storage/falcon/Makefile.am 2008-06-19 15:09:45 +0000
> +++ b/storage/falcon/Makefile.am 2008-07-10 09:27:51 +0000
> @@ -23,7 +23,8 @@
>
> INCLUDES= -I$(top_srcdir)/include -I$(top_builddir)/include \
> -I$(top_srcdir)/regex -I$(top_srcdir)/sql \
> - -I$(srcdir) -I$(srcdir)/TransformLib @ZLIB_INCLUDES@
> + -I$(srcdir) -I$(srcdir)/TransformLib @ZLIB_INCLUDES@ \
> + @FALCON_SPARC_ASSEMBLY@
>
> falcon_headers= Agent.h Alias.h Application.h \
> AsciiBlob.h \
>
> === modified file 'storage/falcon/plug.in'
> --- a/storage/falcon/plug.in 2008-04-23 17:45:42 +0000
> +++ b/storage/falcon/plug.in 2008-07-10 09:27:51 +0000
> @@ -94,4 +94,20 @@
> esac
>
> AC_SUBST([FALCON_CXXFLAGS])
> +
> + # When compiling with Sun Studio compiler on SPARC assembly code for
> + # Interlock operations needs to be included. This has been implemented
> + # as "inline templates" in a separate file
> + FALCON_SPARC_ASSEMBLY=""
> + case $host in
> + sparc-sun-solaris2.9)
> + case $CXX_VERSION in
> + *Sun*C++*)
> + FALCON_SPARC_ASSEMBLY="CompareAndSwapSparc.il"
> + ;;
> + esac
> + ;;
> + esac
> +
> + AC_SUBST([FALCON_SPARC_ASSEMBLY])
> ])
Have you tried that patch on some platforms which are not Solaris 9, or
used a different compiler on Solaris 9 ?
We once had problems with a Makefile macro whose final continuation line
was empty, as yours of "INCLUDES" will be in all cases where
"FALCON_SPARC_ASSEMBLY" is not set.
I scanned my archive and found that was in the 5.0 community tree, fix
committed by me on 2007-11-15 for 5.0.51.
Our central host "production" failed on that.
The fix was to reorder the elements on the lines so that the last line
would always have some contents.
Jörg
--
Joerg Bruehe, MySQL Build Team, joerg@stripped (+49 30) 417 01 487
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering Muenchen: HRB161028