| #!/bin/sh | |
| ############################################################################### | |
| # BRLTTY - A background process providing access to the console screen (when in | |
| # text mode) for a blind person using a refreshable braille display. | |
| # | |
| # Copyright (C) 1995-2023 by The BRLTTY Developers. | |
| # | |
| # BRLTTY comes with ABSOLUTELY NO WARRANTY. | |
| # | |
| # This is free software, placed under the terms of the | |
| # GNU Lesser General Public License, as published by the Free Software | |
| # Foundation; either version 2.1 of the License, or (at your option) any | |
| # later version. Please see the file LICENSE-LGPL for details. | |
| # | |
| # Web Page: http://brltty.app/ | |
| # | |
| # This software is maintained by Dave Mielke <dave@mielke.cc>. | |
| ############################################################################### | |
| set -e | |
| . "`dirname "${0}"`/brltty-prologue.sh" | |
| defaultSourceRoot="${programDirectory}" | |
| addProgramOption s string.directory sourceRoot "the top-level directory of the source tree" "${defaultSourceRoot}" | |
| parseProgramArguments "${@}" | |
| [ -n "${sourceRoot}" ] || sourceRoot="${defaultSourceRoot}" | |
| [ -d "${sourceRoot}" ] || semanticError "source root not found: ${sourceRoot}" | |
| sourceRoot=`cd "${sourceRoot}" && pwd` || exit "${?}" | |
| inputName="config" | |
| outputName="forbuild" | |
| headerExtension="h" | |
| logExtension="log" | |
| makeExtension="mk" | |
| sedExtension="sed" | |
| statusExtension="status" | |
| makeInput="${inputName}.${makeExtension}" | |
| makeOutput="${initialDirectory}/${outputName}.${makeExtension}" | |
| getMakeProperty() { | |
| grep "^ *${1} *=" "${makeInput}" | sed -e 's/^[^=]*= *//' -e 's/ *$//' | |
| } | |
| buildSystem=`getMakeProperty BUILD_SYSTEM` | |
| hostSystem=`getMakeProperty HOST_SYSTEM` | |
| objectExtension='$(O_FOR_BUILD)' | |
| if [ "${hostSystem}" != "${buildSystem}" ] | |
| then | |
| needTemporaryDirectory | |
| objectExtension="build.${objectExtension}" | |
| for variable in CC CFLAGS CXX CXXFLAGS LDFLAGS LDLIBS PKG_CONFIG PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_LIBDIR PKG_CONFIG_PATH | |
| do | |
| unset "${variable}" | |
| getVariable "${variable}_FOR_BUILD" value | |
| [ -n "${value}" ] && { | |
| setVariable "${variable}" "${value}" | |
| export "${variable}" | |
| } | |
| done | |
| "${sourceRoot}/configure" \ | |
| --disable-api \ | |
| --disable-expat \ | |
| --disable-gpm \ | |
| --disable-iconv \ | |
| --disable-icu \ | |
| --disable-liblouis \ | |
| --disable-polkit \ | |
| --disable-x \ | |
| \ | |
| --without-libbraille \ | |
| --with-braille-driver=-all \ | |
| \ | |
| --disable-speech-support \ | |
| --with-speech-driver=-all \ | |
| \ | |
| -with-screen-driver=-all \ | |
| \ | |
| --without-pgmpath-package \ | |
| --without-pgmprivs-package \ | |
| --without-service-package \ | |
| --without-params-package \ | |
| --without-dynld-package \ | |
| --without-rgx-package \ | |
| --without-charset-package \ | |
| --without-hostcmd-package \ | |
| --without-mntpt-package \ | |
| --without-mntfs-package \ | |
| --without-kbd-package \ | |
| --without-beep-package \ | |
| --without-pcm-package \ | |
| --without-midi-package \ | |
| --without-fm-package \ | |
| --without-serial-package \ | |
| --without-usb-package \ | |
| --without-bluetooth-package \ | |
| --without-ports-package \ | |
| \ | |
| --quiet | |
| fi | |
| sedScript="${outputName}.${sedExtension}" | |
| sed -n -e ' | |
| s/^ *\([A-Za-z][A-Za-z0-9_]*\) *=.*$/\1/ | |
| t found | |
| d | |
| :found | |
| h | |
| s/^\(.*\)$/s%^\\( *\\)\\(\1\\)\\( *=\\)%\\1\\2_FOR_BUILD\\3%/p | |
| g | |
| s/^\(.*\)$/s%\\(\\$(\\)\\(\1\\)\\([):]\\)%\\1\\2_FOR_BUILD\\3%g/p | |
| g | |
| s/^\(.\)$/s%\\$\\(\1\\)%$(\\1_FOR_BUILD)%g/p | |
| ' <"${makeInput}" >"${sedScript}" | |
| echo "\$a\\ | |
| B = ${objectExtension} | |
| " >>"${sedScript}" | |
| sed <"${makeInput}" >"${makeOutput}" -f "${sedScript}" | |
| rm "${sedScript}" | |
| for extension in "${headerExtension}" "${logExtension}" "${statusExtension}" | |
| do | |
| inputFile="${inputName}.${extension}" | |
| [ ! -f "${inputFile}" ] || { | |
| cp "${inputFile}" "${initialDirectory}/${outputName}.${extension}" | |
| } | |
| done | |
| exit 0 |