diff options
author | David Tardon <dtardon@redhat.com> | 2011-09-06 07:45:11 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2011-09-06 08:01:27 +0200 |
commit | d7880811629cb08e7828482d6044d77ac40aef0a (patch) | |
tree | ad20b0927879ce48fc0433a182ff4d5647534c79 /solenv | |
parent | 69bf43444e0cdf00ff909feb8138188b28394139 (diff) |
make pretty printers available during build already
Diffstat (limited to 'solenv')
-rwxr-xr-x | solenv/bin/install-gdb-printers | 56 | ||||
-rw-r--r-- | solenv/gdb/makefile.mk | 41 | ||||
-rw-r--r-- | solenv/prj/build.lst | 1 | ||||
-rwxr-xr-x | solenv/prj/d.lst | 2 |
4 files changed, 87 insertions, 13 deletions
diff --git a/solenv/bin/install-gdb-printers b/solenv/bin/install-gdb-printers index 10f7add57dec..05621bd24193 100755 --- a/solenv/bin/install-gdb-printers +++ b/solenv/bin/install-gdb-printers @@ -1,6 +1,7 @@ #!/usr/bin/env bash GDBDIR="${SOLARENV}/gdb" +SOLVERLIBDIR="${SOLARVER}/${INPATH}/lib" die() { echo "$1" >&2 @@ -8,41 +9,69 @@ die() { } make_autoload() { - local dir="${DESTDIR}${autoloaddir}/$2" - local gdbfile="${dir}/$3-gdb.py" + local dir="${DESTDIR}${autoloaddir}" + ${flat} || dir="${dir}/$2" + local lib="${dir}/$3" + + if ! ${flat}; then + lib="$(readlink -f "${DESTDIR}${installdir}/$2/$3")" + dir="${lib%/*}" + fi if ${create}; then mkdir -p "${dir}" || die "cannot create dir '${dir}'" - elif ${follow}; then - gdbfile="$(readlink -f "${dir}/$3")-gdb.py" fi - sed -e "s!%PYTHONDIR%!${pythondir}!" -e "s!%MODULE%!libreoffice.$1!" \ - "${GDBDIR}/autoload.template" > "${gdbfile}" + + if ${link}; then + if [[ ! -f ${lib}-gdb.py ]]; then + local gdbname="${lib##*/}-gdb.py" + ln -s "${SOLVERLIBDIR}/${gdbname}" "${dir}/${gdbname}" + fi + else + sed -e "s!%PYTHONDIR%!${pythondir}!" -e "s!%MODULE%!libreoffice.$1!" \ + "${GDBDIR}/autoload.template" > "${lib}-gdb.py" + fi } # dir where the autoloaders will be placed autoloaddir= +# The installation dir. If only one of these is set, the other is set to +# the same value. +installdir= # dir where the pretty printers will be placed pythondir="${GDBDIR}" # Create autoload dir if it does not exist. This only makes sense when # installing into system gdb dir, so $autoloaddir must be absolute path. create=false -# Follow links when looking up the path for the autoload file. This only -# makes sense for dev-install. -follow=false +# Create symlinks to existing autoloaders in solver. This only makes +# sense for dev-install. +link=false +# This option is only here to enable using the script during build of +# solenv/gdb . We must (or, better, want to :) avoid using the +# installation subpaths (like basis-link), because all libs in solver +# are in the same dir. +flat=false -# b defghijklmno qrstuvwxyzABCDEFGHIJK MNOPQRSTUVWXYZ0123456789 -while getopts :a:cp:L opt; do +# b de gh jklmno qrstuvwxyzABCDEFGHIJK MNOPQRSTUVWXYZ0123456789 +while getopts :a:cfi:p:L opt; do case ${opt} in a) autoloaddir="${OPTARG}" ;; c) create=true ;; + f) flat=true ;; + i) installdir="${OPTARG}" ;; p) pythondir="${OPTARG}" ;; - L) follow=true ;; + L) link=true ;; *) die "unknown option ${OPTARG}" ;; esac done -${create} && ${follow} && die "-c and -L cannot be used together" +if [[ -n ${autoloaddir} && -z ${installdir} ]]; then + installdir="${autoloaddir}" +elif [[ -z ${autoloaddir} && -n ${installdir} ]]; then + autoloaddir="${installdir}" +fi + +${create} && ${link} && die "-c and -L cannot be used together" if [[ -n ${DESTDIR} ]]; then [[ ${autoloaddir:0:1} = / ]] || die 'the arg to -a must be an absolute path' [[ ${pythondir:0:1} = / ]] || die 'the arg to -p must be an absolute path' @@ -52,6 +81,7 @@ if ${create}; then else [[ ! -d ${DESTDIR}${autoloaddir} ]] && die "directory '${DESTDIR}${autoloaddir}' does not exist" fi +[[ ! -d ${DESTDIR}${installdir} ]] && die "directory '${DESTDIR}${installdir}' does not exist" [[ ! -d ${GDBDIR} ]] && die "directory '${GDBDIR}' does not exist" if [[ ${DESTDIR}${pythondir} != ${GDBDIR} ]]; then diff --git a/solenv/gdb/makefile.mk b/solenv/gdb/makefile.mk new file mode 100644 index 000000000000..da1afb7f269c --- /dev/null +++ b/solenv/gdb/makefile.mk @@ -0,0 +1,41 @@ +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Initial Developer of the Original Code is +# David Tardon, Red Hat Inc. <dtardon@redhat.com> +# Portions created by the Initial Developer are Copyright (C) 2010 the +# Initial Developer. All Rights Reserved. +# +# Major Contributor(s): +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +PRJ=.. +PRJNAME=gdb +TARGET=gdb + +.INCLUDE : settings.mk +.INCLUDE : target.mk +.INCLUDE : versionlist.mk + +ALLTAR : $(MISC)/autoloaders.flag + +$(MISC)/autoloaders.flag : autoload.template + install-gdb-printers -a $(MISC) -f + +# vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/solenv/prj/build.lst b/solenv/prj/build.lst index d7a7f36b19fe..eb46b06a0419 100644 --- a/solenv/prj/build.lst +++ b/solenv/prj/build.lst @@ -1,3 +1,4 @@ sn solenv : NULL sn solenv usr1 - all sn_mkout NULL sn solenv nmake - all sn_init NULL +sn solenv\gdb nmake - all sn_gdb NULL diff --git a/solenv/prj/d.lst b/solenv/prj/d.lst index 9972651fb090..1773c48440e9 100755 --- a/solenv/prj/d.lst +++ b/solenv/prj/d.lst @@ -1,4 +1,6 @@ mkdir: %_DEST%\bin mkdir: %_DEST%\inc +mkdir: %_DEST%\lib ..\inc\version.lst %_DEST%\bin\version.lst ..\%__SRC%\inc\versionlist.hrc %_DEST%\inc\versionlist.hrc +..\%__SRC%\misc\*-gdb.py %_DEST%\lib\*-gdb.py |