| #!/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>. | |
| ############################################################################### | |
| . "`dirname "${0}"`/brltty-prologue.sh" | |
| addProgramOption p string.name packageName "specify the package name" "the name of the top-level directory of the source tree" | |
| addProgramOption n string.version packageVersion "specify the package version" "no version" | |
| addProgramOption o string.file outputFile "specify the output file" "<package-name>.pot in the current directory" | |
| addProgramOption b string.email bugsAddress "specify the email address for bug reports" "no address" | |
| addProgramOption c string.name copyrightHolder "specify the name of the copyright holder" "no copyright holder" | |
| addProgramParameter source sourceRoot "top-level directory of source tree" | |
| optionalProgramParameters | |
| addProgramParameter build buildRoot "top-level directory of build tree" "the source tree" | |
| parseProgramArguments "${@}" | |
| [ -n "${sourceRoot}" ] || sourceRoot="." | |
| sourceRoot="$(resolveDirectory "${sourceRoot}")" || semanticError | |
| if [ -n "${buildRoot}" ] | |
| then | |
| buildRoot="$(resolveDirectory "${buildRoot}")" || semanticError | |
| else | |
| buildRoot="${sourceRoot}" | |
| fi | |
| [ "${buildRoot}" != "${sourceRoot}" ] || buildRoot="" | |
| [ -n "${packageName}" ] || packageName=`basename "${sourceRoot}"` | |
| [ -n "${outputFile}" ] || outputFile="${packageName}.pot" | |
| [ "${outputFile#/}" != "${outputFile}" ] || outputFile="${initialDirectory}/${outputFile}" | |
| xgettext --output - --force-po --no-wrap --sort-output --from-code utf-8 \ | |
| ${packageName:+--package-name "${packageName}"} \ | |
| ${packageVersion:+--package-version "${packageVersion}"} \ | |
| ${bugsAddress:+--msgid-bugs-address "${bugsAddress}"} \ | |
| ${copyrightHolder:+--copyright-holder "${copyrightHolder}"} \ | |
| --keyword=strtext:1 --flag=logMessage:2:c-format \ | |
| --add-comments \ | |
| -- `find -H ${sourceRoot} ${buildRoot} -name '*.c' -o -name '*.h' | sort` | | |
| sed >"${outputFile}" -e " | |
| s/PACKAGE/${packageName}/ | |
| /^#: /{ | |
| s% ${sourceRoot}/*% %g | |
| s% ${buildRoot}/*% %g | |
| } | |
| " | |
| exit "${?}" |