Author: piumarta Date: 2009-09-17 10:10:27 -0700 (Thu, 17 Sep 2009) New Revision: 2140 Modified: trunk/platforms/unix/ChangeLog trunk/platforms/unix/cmake/Plugins.cmake trunk/platforms/unix/cmake/config.in trunk/platforms/unix/cmake/squeak.in trunk/platforms/unix/vm/build.cmake Log: use padsp iff oss built; communicate with VM via env vars Modified: trunk/platforms/unix/ChangeLog =================================================================== --- trunk/platforms/unix/ChangeLog 2009-09-17 15:56:33 UTC (rev 2139) +++ trunk/platforms/unix/ChangeLog 2009-09-17 17:10:27 UTC (rev 2140) @@ -1,5 +1,15 @@ 2009-09-17 <[hidden email]> + * cmake/Plugins.cmake: Set ${plugin}_disabled for each plugin, + recording whether the plugin is to be built. + + * vm/build.cmake: Set useoss according to vm-sound-OSS_disabled. + + * cmake/config.in: Substitute [useoss] when configuring. + + * cmake/squeak.in: Communicate with the VM via environment. Don't + attempt to user padsp wrapper unless vm-sound-OSS was built. + * vm/config.cmake: Configure interp as "gnu-interp" if compiler is GCC, otherwise "interp". Modified: trunk/platforms/unix/cmake/Plugins.cmake =================================================================== --- trunk/platforms/unix/cmake/Plugins.cmake 2009-09-17 15:56:33 UTC (rev 2139) +++ trunk/platforms/unix/cmake/Plugins.cmake 2009-09-17 17:10:27 UTC (rev 2140) @@ -1,6 +1,6 @@ # Figure out which plugins to build and create a configuration for each. # -# Last edited: 2009-08-26 21:00:32 by piumarta on emilia-2.local +# Last edited: 2009-09-17 09:34:24 by piumarta on ubuntu.piumarta.com FILE (STRINGS ${src}/plugins.int plugins_int) STRING (REGEX REPLACE ".*= (.*)" "\\1" plugins_int ${plugins_int}) @@ -107,10 +107,12 @@ LIST (APPEND plugins_dis ${plugin}) ENDIF (${plugins_list} STREQUAL "plugins_int") MESSAGE ("!! ${plugin} disabled") + SET (${plugin}_disabled 1) ELSE (DEFINED plugin_disabled) IF (${plugins_list} STREQUAL "plugins_int") USE_LIBRARY (${plugin}) ENDIF (${plugins_list} STREQUAL "plugins_int") + SET (${plugin}_disabled) ENDIF (DEFINED plugin_disabled) ENDFOREACH (plugin) ENDMACRO (CONFIGURE_PLUGIN_LIST) Modified: trunk/platforms/unix/cmake/config.in =================================================================== --- trunk/platforms/unix/cmake/config.in 2009-09-17 15:56:33 UTC (rev 2139) +++ trunk/platforms/unix/cmake/config.in 2009-09-17 17:10:27 UTC (rev 2140) @@ -12,4 +12,5 @@ s%\[plgdir\]%@prefix@/@plgdir@%g s%\[mandir\]%@prefix@/@mandir@%g s%\[docdir\]%@prefix@/@docdir@%g +s%\[useoss\]%@useoss@%g " < $1 > $2 Modified: trunk/platforms/unix/cmake/squeak.in =================================================================== --- trunk/platforms/unix/cmake/squeak.in 2009-09-17 15:56:33 UTC (rev 2139) +++ trunk/platforms/unix/cmake/squeak.in 2009-09-17 17:10:27 UTC (rev 2140) @@ -3,23 +3,27 @@ # Launch squeakvm from the command line or a menu script, with a good # plugin path, text encodings and pulseaudio kludge # -# Last edited: 2009-08-27 22:25:34 by piumarta on emilia-2.local +# Last edited: 2009-09-17 10:05:45 by piumarta on ubuntu.piumarta.com PATH=/usr/bin:/bin -me=`basename $0` bindir=`dirname $0` bindir=`cd ${bindir}; pwd` prefix=`dirname ${bindir}` libdir="${prefix}/lib/squeak" plgdir="${libdir}/[version]" -wrapper="" +useoss="[useoss]" vm="squeakvm" plugins="" -sound="" -pathenc="-pathenc UTF-8" -encoding="-encoding UTF-8" +wrapper="" +for opt in $*; do + case ${opt} in + -vm-sound*) useoss="false";; + -vm) case "$2" in sound*) useoss="false"; esac;; + esac +done + # find the vm and set the plugin path if test -x "${plgdir}/${vm}"; then # bin/squeak -> lib/squeak/x.y-z/squeakvm @@ -36,45 +40,34 @@ exit 1 fi -# deal with pulseaudio if it is running +# command-line overrides environment, so communicate anything we decide here via the environment -if pulseaudio --check 2>/dev/null; then - sound="-vm-sound-oss" - if padsp true 2>/dev/null; then - wrapper=padsp +if test -z "${SQUEAK_PATHENC}"; then SQUEAK_PATHENC="UTF-8"; export SQUEAK_PATHENC; fi +if test -z "${SQUEAK_ENCODING}"; then SQUEAK_ENCODING="UTF-8"; export SQUEAK_ENCODING; fi + +if test -z "${SQUEAK_PLUGINS}"; then + if test -n "${plugins}"; then + SQUEAK_PLUGINS="${plugins}" + export SQUEAK_PLUGINS fi fi -# we should not interfere with the user's command-line options +# deal with pulseaudio if it is running -for opt in $*; do - case ${opt} in - -plugins) plugins="";; - -pathenc) pathenc="";; - -encoding) encoding="";; - -vm-sound*) sound=""; wrapper="";; - -vm) case "$2" in sound*) sound=""; wrapper=""; esac;; - esac -done - -# we should not interfere with the user's environment variables - -if test -n "${SQUEAK_PLUGINS}"; then - plugins="" +if test -z "${SQUEAK_VM}"; then + if ${useoss}; then + if pulseaudio --check 2>/dev/null; then + if padsp true 2>/dev/null; then + wrapper="padsp" + SQUEAK_VM="sound-OSS" + export SQUEAK_VM + fi + fi + fi fi -if test -n "${SQUEAK_PATHENC}"; then - pathenc="" -fi +# run the vm -if test -n "${SQUEAK_ENCODING}"; then - encoding="" -fi - -if test -z "${plugins}"; then - set -x - exec ${wrapper} "${vm}" ${pathenc} ${encoding} ${sound} "$@" -else - set -x - exec ${wrapper} "${vm}" ${pathenc} ${encoding} -plugins "${plugins}" ${sound} "$@" -fi +set | fgrep SQUEAK_ +set -x +exec ${wrapper} "${vm}" "$@" Modified: trunk/platforms/unix/vm/build.cmake =================================================================== --- trunk/platforms/unix/vm/build.cmake 2009-09-17 15:56:33 UTC (rev 2139) +++ trunk/platforms/unix/vm/build.cmake 2009-09-17 17:10:27 UTC (rev 2140) @@ -47,6 +47,12 @@ INSTALL (PROGRAMS ${bld}/squeakvm DESTINATION ${plgdir}) +IF (vm-sound-OSS_disabled) + SET (useoss "false") +ELSE () + SET (useoss "true") +ENDIF () + CONFIGURE_FILE (${config}/config.in ${bld}/config @ONLY) # launcher scripts |
Free forum by Nabble | Edit this page |