On Fri, Jun 20, 2008 at 6:07 PM, Alan Coopersmith <[EMAIL PROTECTED]> wrote: > I needed to apply the attached patches to git master to be able to build > on Solaris using the autoconf support and the Sun compilers - can they be > included for the 7.1 release?
I'm just gonna comment on the autoconf/build stuff. > diff --git a/configs/autoconf.in b/configs/autoconf.in > index 9a70ec1..ed44a0f 100644 > --- a/configs/autoconf.in > +++ b/configs/autoconf.in > @@ -98,3 +98,6 @@ DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INS > > # Where libGL will look for DRI hardware drivers > DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR) > + > +# Additional per-platform configuration settings > [EMAIL PROTECTED]@ > diff --git a/configure.ac b/configure.ac > index a054330..c4b65db 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -29,6 +29,18 @@ AC_CHECK_PROGS([MAKE], [gmake make]) > AC_PATH_PROG([MKDEP], [makedepend]) > AC_PATH_PROG([SED], [sed]) > > +dnl Platform-specific program settings > +EXTRA_CONFIG_LINES="" > +AC_SUBST([EXTRA_CONFIG_LINES]) > +case "$host_os" in > +solaris*) > + # Solaris /bin/sh is too old/non-POSIX compliant > + AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh]) > + EXTRA_CONFIG_LINES="SHELL=$POSIX_SHELL" > + ;; > +esac Oh, we should probably be setting SHELL in configs/autoconf all the time. Autoconf has support for this by using the shell that configure was called with or the value of CONFIG_SHELL. Do you know which parts are too POSIXy? I don't think it would be too much work to make the build work with any reasonable Bourne shell. > +dnl OS-specific libraries > +OS_LIBS="" > +case "$host_os" in > +solaris*) > + OS_LIBS="-lc" > + if test "x$GXX" != xyes; then > + OS_CPLUSPLUS_LIBS="-lCrun $OS_LIBS" > + fi > + ;; > +esac Does the linker/compiler not add these for you on solaris? Does libtool do this for you in a fully autotooled setup? Would it be better to add this stuff to bin/mklib? > + solaris*) > + DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" > + DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING" > + if test "x$driglx_direct" = xyes; then > + DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" > + fi > + ;; None of these settings are platform specific. I don't know why I ever made it that way. > @@ -914,7 +953,14 @@ dnl Only libm is added here if necess > dnl be pulled in by the linker > dnl > if test "x$APP_LIB_DEPS" = x; then > - APP_LIB_DEPS="-lm" > + case "$host_os" in > + solaris*) > + APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm" > + ;; > + *) > + APP_LIB_DEPS="-lm" > + ;; > + esac > fi It would be nice if we could do this in a non-platform-specific way. Do you know why -lX11 is needed for the apps? Normally it would just be pulled in as needed by other Mesa libraries. Are there specific functions that libsocket and libnsl are needed for, or is it part of using libX11? -- Dan ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
