| #!/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 "${?}" |